前言:为什么有BP神经网络、CNN,还需要RNN? BP神经网络和CNN的输入输出都是互相独立的,也就是说它模拟了神经元之间的信息传递过程,但是作为人,我们依旧会记得小时候的很多事情,这就需要RNN了
RNN基础
实际应用中有些场景输出内容和之前的内容是有关联的。 RNN引入“记忆”的概念;递归指其每一个元素都执行相同的任务,但是输出依赖于输入 和“记忆”。所以说RNN一般应用到NLP当中。
- 循环神经网络中的“循环”体现在哪?
可以前bp神经网络不同的是,输入一个x,产生一个状态,保存,把这个状态作为输入,输入到下一次循环中,也就是说,把当前的信息进行记忆。用图可以直观理解。
- 加入了哪些参数?
1.输入层到隐藏层直接的权重由U表示
2.隐藏层到隐藏层的权重W,它是网络的记忆控制者,负责调度记忆。
3.隐藏层到输出层的权重V
- 正向传播
在t=1的时刻,U,V,W都被随机初始化好,s0通常初始化为0,然后进行如下计算:
时间就向前推进,此时的状态s1作为时刻1的记忆状态将参与下一个时刻的预测 活动,也就是:
以此类推,可得:
其中f可以是tanh,relu,sigmoid等激活函数,g通常是softmax也可以是其他。 值得注意的是,我们说递归神经网络拥有记忆能力,而这种能力就是通过W将以 往的输入状态进行总结,而作为下次输入的辅助。可以这样理解隐藏状态: h=f(现有的输入+过去记忆总结)
- 反向传播
bp神经网络用到的误差反向传播方法将输出层的误差总和,对各个权重的梯度 ∇U,∇V,∇W,求偏导数,然后利用梯度下降法更新各个权重。 对于每一时刻t的RNN网络,网络的输出ot都会产生一定误差et,误差的损失函 数,可以是交叉熵也可以是平方误差等等。那么总的误差为E=∑tet,我们的目标 就是要求取:
用到链式求导法则,w的偏导如下:
u,V同理可以得到
问题,由于反向传播过程中,出现多个小于一想乘的情况,容易出现梯度消失,这时候LSTM和GRU模型便后续被推出了?由于它们都有特殊的方式存储”记忆”,那么以前梯度比较大的”记忆”不会像简单的RNN一样马上被抹除,因此可以一定程度 上克服梯度消失问题。
LSTM
LSTM是RNN的一种,大体结构一致,区别在于: LSTM的“记忆细胞”是改造过的 该记录的信息会一直传递,不该记录的信息会被截断掉.
RNN 在语音识别,语言建模,翻译,图片描述等问题的应用的成功,都是通过 LSTM 达到的。
- LSTM结构
传统的RNN“细胞”结构:
所有 RNN 都具有一种重复神经网络模块的链式的形式。在标准的 RNN 中,这个重复的模块只有一个非常简单的结构,例如一个 tanh 层。
LSTM结构:
单一神经网络层,这里是有四个,以一种非常特殊的方式进行交互。
图中使用的各种元素的图标:
每一条黑线传输着一整个向量,从一个节点的输出到其他节点的输入。粉色的圈代表 pointwise 的操作,诸如向量的和,而黄色的矩阵就是学习到的神经网络层。合在一起的线表示向量的连接,分开的线表示内容被复制,然后分发到不同的位置。
- LSTM关键:“细胞状态” 细胞状态类似于传送带。
直接在整个链上运行,只有一些少量的线性交互。信息在上面流 传保持不变很容易。
- LSTM怎么控制“细胞状态”?
LSTM可以通过gates(“门”)结构来去除或者增加“细胞状态”的信息
包含一个sigmoid神经网络层次和一个pointwist乘法操作
Sigmoid层输出一个0到1之间的概率值,描述每个部分有多少量可以通过,0表示“不允 许任务变量通过”,1表示“运行所有变量通过”
LSTM中主要有三个“门”结构来控制“细胞状态”
- 第一个“门”==>“忘记门”:
决定从“细胞状态”中丢弃什么信息;比如在语 言模型中,细胞状态可能包含了性别信息(“他”或者“她”),当我们看到新的代名词的时候,可以考虑忘记旧的数据
- 第二个“门”==>“信息增加门”:
决定放什么新信息到“细胞状态”中;
Sigmoid层决定什么值需要更新; T
anh层创建一个新的候选向量Ct; 主要是为了状态更新做准备
- 经过第一个和第二个“门”后,可以确定传递信息的删除和增加,即可以进行 “细胞状态”的更新
更新Ct-1为Ct; 将旧状态与ft相乘,
丢失掉确定不要的信息;
加上新的候选值it*Ct得到最终更新后的“细胞状态”
- 第三个“门”==>基于“细胞状态”得到输出;
首先运行一个sigmoid层来确定细胞状态的那个部分将输出
使用tanh处理细胞状态得到一个-1到1之间的值,再将它和sigmoid门的输出相乘,输出 程序确定输出的部分。
前向传播和反向传播可以参看前面的传播过程写下来,更新LSTM中的参数。具体的公式可以参看:https://blog.csdn.net/Dark_Scope/article/details/47056361
作者的论文:https://arxiv.org/pdf/1402.1128v1.pdf