长短期记忆网络LSTM

1. LSTM是循环神经网络的一个变体可以有效的解决简单循环神经网络的梯度消失和梯度爆炸的问题

2. 改进方面
新的内部状态 Ct专门进行线性的循环信息传递,同时(非线性的)输出信息给隐藏层的外部状态ht。
在这里插入图片描述
在每个时刻t,LSTM网络的内部状态ct记录了到当前时刻为止的历史信息。

3. 门控机制:
3.1 在数字电路中,门(gate)是一个二值变量P{0,1},0代表关闭状态,不许任何信息通过;1代表开放状态,允许所有信息通过。
3.2 LSTM中三个门:输入门it,ft,ot:
(1)ft,控制上一个时刻的内部状态c t-1需要遗忘多少信息;
(2)it控制当前时刻的候选状态~ct有多少信息需要保存;
(3)ot控制当前时刻的内部状态ct有多少信息需要输出给外部状态ht
当ft=0,it=1,记忆单元将历史信息清空,并将候选状态向量~ct写入,但此时记忆单元ct依然和上一时刻的历史信息相关;当ft=1,it=0时,记忆单元将复制上一时刻的内容,,不写入新的信息。
3.3 LSTM中的门时一种“软门”,取值在(0,1)之间,表示以一定比例运行信息通过,三个门的计算方式为:
长短期记忆网络LSTM_第1张图片
σ(·)为Logistic函数,其输出区间(0,1),xt为当前时刻的输入,ht-1为上一时刻外部状态。

4. 计算过程
长短期记忆网络LSTM_第2张图片

(1)首先利用上一时刻的外部状态ht−1和当前时刻的输入xt,计算出三个门,以及候选状~ct;
(2)结合遗忘门ft和输入门it来更新记忆单元ct;
(3)结合输出门ot,将内部状态的信息传递给外部状态ht

5. 记忆
循环神经网络中的隐状态h存储了历史信息,可以看作是一种记忆(Mem-
ory)。在简单循环网络中,隐状态每个时刻都会被重写,因此可以看作是一种短期记忆(Short-Term Memory)。在神经网络中,长期记忆(Long-Term Memory)可以看作是网络参数,隐含了从训练数据中学到的经验,其更新周期要远远慢于短期记忆。而在LSTM网络中,记忆单元c可以在某个时刻捕捉到某个关键信息,并有能力将此关键信息保存一定的时间间隔。记忆单元c中保存信息的生
命周期要长于短期记忆h,但又远远短于长期记忆,长短期记忆是指长的“短期记忆”。因此称为长短期记忆(Long
Short-Term Memory)

6. 最后
一般在深度网络参数学习时,参数初始化的值一般都比较小。但是在训练LSTM网络时,过小的值会使得遗忘门的值比较小。这意味着前一时刻的信息大部分都丢失了,这样网络很难捕捉到长距离的依赖信息。并且相邻时间间隔的梯度会非常小,这会导致梯度弥散问题。因此遗忘的参数初始值一般都设得比较大,其偏置向量bf设为1或2。

你可能感兴趣的:(lstm,网络,神经网络)