深度学习-LSTM

RNN存在的不足

      1.由于梯度消失等原因,RNN难以处理长序列,具有遗忘性,最后的状态中短期的记忆影响占比较大。即RNN只对近期历史信息敏感,容易遗忘早期历史信息。

      2.RNN网络,在时间上是串联关系,离当前时间越远的隐藏层的输出,对当前隐藏层的输出影响越小。RNN无法根据不同词本身的重要性来对当前的输出产生影响。RNN对所有输入具有同等的特征提取的能力,对于一句话中的所有单词,都会提取它们的特征,并作为下一特征的输入。也就是说,RNN记住了前文所有的信息,并没有区分哪些是有用信息,哪些是无用信息,哪些是辅助信息。即RNN关注到了词语的前后物理顺序,但未关注到词语本身的语义信息。

      简单来说,就是相比普通的RNN,LSTM能够在更长的序列中有更好的表现。


LSTM的介绍

      长短期记忆网络 LSTM(long short-term memory)是 RNN 的一种变体,其核心概念在于细胞状态以及“门”结构。细胞状态相当于信息传输的路径,让信息能在序列连中传递下去。可以将其看作网络的“记忆”。理论上讲,细胞状态能够将序列处理过程中的相关信息一直传递下去。因此,即使是较早时间步长的信息也能携带到较后时间步长的细胞中来,这克服了短时记忆的影响。信息的添加和移除我们通过“门”结构来实现,“门”结构在训练过程中会去学习该保存或遗忘哪些信息。

      相比RNN只有一个传递状态,LSTM有两个传输状态,一个是(cell state),另一个是(hidden state),其中RNN的对应于LSTM中的

      包含前文信息,在传递过程中变化的很慢,而则在不同时间步长下往往会有很大的区别。


LSTM的结构

      当前输入和上一个状态传递下来的拼接,再通过z,处理,其中为门,分别为遗忘门(forget),输入门(input),输出门(output),是由拼接向量乘以权重矩阵后,再通过sigmoid激活函数转换成0到1之间的数值,来作为一种门控状态,而z则是将拼接向量通过一个tanh激活函数转换成-1到1之间的值。

深度学习-LSTM_第1张图片

第一阶段:遗忘阶段

深度学习-LSTM_第2张图片

      在这个阶段主要是对上一个节点传进来的输入进行选择性忘记,f代表forget,通过来控制上一个状态的哪些需要留哪些需要忘记。

第二阶段:输入阶段

深度学习-LSTM_第3张图片

      在这个阶段主要是对输入有选择地进行记忆,i代表input,当前的输入内容由z计算得到,门控信号通过来产生,与tanh处理后的输入内容相乘,实现对输入内容的选择控制。

第三阶段:cell状态更新阶段

深度学习-LSTM_第4张图片

     将遗忘阶段产生的状态与输入阶段产生的状态相加得到当前的细胞状态。这就更新了细胞状态。

第四阶段:输出阶段

深度学习-LSTM_第5张图片

      这个阶段决定哪些信息会被作为当前状态的输出,输出门决定当前状态应该是什么。细胞状态经过tanh处理后与输出门控信号相乘,得到当前状态的

总结:

      遗忘门决定了前面的步骤什么是相关的需要保留的。输入门决定从当前步骤中添加哪些相关信息。输出门决定下一个隐藏状态应该是什么。

你可能感兴趣的:(深度学习,深度学习,lstm,rnn)