相关文章链接:
长短期记忆人工神经网络(LSTM)
一、概述
循环神经网络(RNN)神经元的连接方式不同于一般的神经网络。但也存在梯度消失和爆炸等问题。LSTM是一种特殊的RNN,可以避免梯度消失和爆炸问题。LSTM添加了一种称为记忆单元的结构,并添加了3个门(输入门、遗忘门、输出门)以控制历史信息的作用。
循环神经网络(RNN)
长短期记忆人工神经网络(LSTM)
- 黄色方块:表示一个神经网络层(Neural Network Layer);
- 粉色圆圈:表示按位操作或逐点操作(pointwise operation),例如向量加和、向量乘积等;
- 单箭头:表示信号传递(向量传递);
- 合流箭头:表示两个信号的连接(向量拼接);
- 分流箭头:表示信号被复制后传递到2个不同的地方。
二、LSTM基本思想
RNN是想把所有信息都记住,不管是有用的信息还是没用的信息。LSTM通过设计一个记忆细胞,具备选择记忆的功能,可以选择记忆重要信息,过滤掉噪声信息,减轻记忆负担。
1、遗忘门:控制输入x和上一层隐藏层输出h被遗忘的程度大小。遗忘门由一个神经网络层和一个按位乘操作构成。这个门决定着我们还需不需要记住前面状态的信息,即当前时刻的记忆状态有多少来自于之前的记忆。输出一个0和1之间的数:1代表保留之前的信息;0代表不记住之前的信息。
2、输入门:控制输入x和当前计算的状态更新到记忆单元的程度大小。记忆门由输入门(input gate)与tanh神经网络层和一个按位乘操作构成。
3、内部记忆单元:LSTM的关键就是细胞状态,在LSTM的每个时间步里,都有一个记忆cell,这个东西给了LSTM选择记忆的功能,使得LSTM有能力自由选择每个时间步里面记忆的内容。
4、输出门:控制输入x和当前输出取决于当前记忆单元的程度大小。输出门(output gate)与函数(注意:这里
不是神经网络层)以及按位乘操作共同作用将细胞状态和输入信号传递到输出端。
三、公式参数解释
在LSTM中,采用专门设计的“门”来引入或者去除细胞状态中的信息。门是一种让信息选择性通过的方法。有的门跟信号处理中的滤波器有点类似,允许信号部分通过或者通过时被门加工了;有的门也跟数字电路中的逻辑门类似,允许信号通过或者不通过。这里所采用的门包含一个
神经网络层和一个按位的乘法操作,如下图所示:
其中黄色方块表示神经网络层,粉色圆圈表示按位乘法操作。
神经网络层可以将输入信号转换为0到1之间的数值,用来描述有多少量的输入信号可以通过。0表示“不允许任何量通过”,1表示“允许所有量通过”。神经网络层起到类似下图的函数所示的作用:
其中,横轴表示输入信号,纵轴表示经过函数以后的输出信号
一般选择
作为激励函数,主要起到门控作用。因为
函数的输出为0~1,当输出接近0或1时,符合物理意义上的关和开。
函数作为生成候选记忆C的选项,因为其输出为-1~1,符合大多数场景下的0中心的特征分布,且梯度(求导)在接近0处,收敛速度比
函数要快,这也是选择它的另外一个原因。
总结:
当输入的序列不存在有用信息时,遗忘门f的值就会接近1,那么输入门的值就会接近0,这样过去有用的信息就会被保存。
当输入的序列存在主要信息时遗忘门f的值就会接近0,那么输入门i的值接近1,此时LSTM模型遗忘过去的记忆,记录主要记忆。
由遗忘门、输出门、输入门和内部记忆单元共同控制了LSTM输出h的设计,使得整个网络更好的把握序列信息之间的关系。