循环神经网络RNN和长短期循环神经网络LSTM理论学习笔记
2020-03-30 07:29
901 查看
RNN和LSTM理论学习笔记
- 出现原因:多层全连接的神经网络或者卷积神经网络只能处理当前状态。
- 时序相关的问题:自然语言处理,视频图像处理、股票交易信息处理等。
循环神经网络RNN(Recurrent Neural Network)
-
类型:
(1)单向神经网络或者双向神经网络
(2)循环神经网络和深度循环神经网络 -
作用:处理短序列问题
X为输入层,是一系列的特征,用向量的形式表示;
O为输出,依然是一系列的向量,具体可以为物体的分类等;
h为神经元当前的状态;
U为输入X特征与隐藏层神经元全连接的权值矩阵;
V为隐藏层与输出层全连接的权值矩阵;
W为上一次隐藏层的输出到下一隐藏层的输入的权值矩阵;(一直更新)
隐藏层的输出取决于x、U、W;
- 自己的理解:
隐藏层只是简单执行一个tanh或者Relu操作,里边的计算大部分都是乘法,会形成梯度消失或者梯度爆炸;RNN可以处理短序列问题,但不可处理长序列问题。
长短期循环神经网络LSTM(Long Short-Term Memory)
-
作用:解决梯度爆炸或消失,处理长序列问题;
-
LSTM主要是对RNN的隐藏层进行了改进;
LSTM神经元的输入有三部分:当前网络的输入Xt,上一时刻的输出ht、上一时刻的单元状态Ct。
-
LSTM中每一个神经元相当于一个记忆细胞,关键的是细胞状态,细胞状态类似于以时间为基准的传送带,在链路上运行,只有少量的线性交互;
门:保护和控制细胞状态
(1)遗忘门
(2)输入门
(3)输出门
a. 门是一种让信息选择式通过的方法。包含一个 Sigmoid神经网络层和一个点乘操作。
b. Sigmoid层输出0到1之间的数值,描述每个部分有多少量可以通过。
0 代表“不许任何量通过”
1 代表“允许任何量通过”
- 遗忘门:决定丢弃上一步的哪些信息。
遗忘门读取 ht−1和 xt,输出一个在 0 到 1 之间的数值给每个在细胞状态 Ct−1 中的数字。1 表示“完全保留”,0 表示“完全舍弃”;
- 输入门:决定加入哪些新的信息。
- tanh层创建一个新的候选值向量 Ct~,加到状态中。
- 这里sigmoid层称“输入门层”,起到一个缩放的作用。
- 这两个信息产生对状态的更新。
-
更新细胞状态
1.旧的细胞状态 Ct−1与 ft 相乘来丢弃一部分信息
2.再加上 it∗Ct~(i是input输入门),生成新的细胞状态Ct
-
输出门:决定输出哪些信息。
1.把Ct输给 tanh 函数,得到一个候选的输出值
2.运行一个 sigmoid 层来确定细胞状态的哪个部分将输出出去
-
结束
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 深度学习笔记七:循环神经网络RNN(基本理论)
- tensorflow 学习笔记12 循环神经网络RNN LSTM结构实现MNIST手写识别
- 循环神经网络(RNN, Recurrent Neural Networks)学习笔记:基础理论
- 王小草【深度学习】笔记第六弹--循环神经网络RNN和LSTM
- 5 什么是LSTM-RNN(长短期记忆循环神经网络)?
- MXNet动手学深度学习笔记:循环神经网络RNN实现
- 理解CNN、DNN、RNN(递归神经网络以及循环神经网络)以及LSTM网络结构笔记
- 深度学习笔记四循环神经网络RNN
- TensorFlow人工智能引擎入门教程之九 RNN/LSTM循环神经网络长短期记忆网络使用
- tensorflow 学习笔记11 最简单的循环神经网络(RNN)
- [TensorFlow]入门学习笔记(5)-循环神经网络RNN
- 循环神经网络(RNN, Recurrent Neural Networks)学习笔记:源码分析(一)
- 深度学习(08)_RNN-LSTM循环神经网络-03-Tensorflow进阶实现
- 【深度学习】RNN(循环神经网络)之LSTM(长短时记忆)
- 深度学习_循环神经网络RNN与LSTM
- 深度学习——循环神经网络RNN,GRU,LSTM
- 深度学习笔记(七) RNN循环神经网络
- RNN循环神经网络以及LSTM长短期记忆模型-简介
- 深度学习——循环神经网络/递归神经网络(RNN)及其改进的长短时记忆网络(LSTM)