RNN与LSTM介绍

2024-05-08 06:22

1. RNN与LSTM介绍

 一句话,有时候单独拎出来难以理解,而放在整篇文章中,我们则容易通过联系上下文理解。   什么叫联系上下文理解,就是把 前文信息联系结合到当前语句上 ,这也是RNN的关键。
                                           左边是一个循环神经网络结构,将其展开,会得到一个序列结构, 上一次的输出会作为下一次的输入(即前面的输入将会对后面的输入产生影响) 。
   这种链式的特征揭示了 RNN 本质上和 序列 相关,因而很适合处理语音,文本,这种序列数据。
   RNN关键点是能够连接先前的信息到当前任务上,如通过前文推断当前语句含义。但是,当相关信息和当前语句间隔过大时候,RNN将难以学习到远距离信息。
                                           LSTM 是一种特殊的RNN。通过精巧的设计(CNN中的深度残差网络也是类似) 解决长序列训练过程中的梯度消失和梯度爆炸问题 (即远距离传递导致的信息丢失问题)。
   标准RNN由简单的神经网络模块按时序展开成链式。这个重复模块往往结构简单且单一,如一个tanh层。这种记忆叠加方式显得简单粗暴。
                                           LSTM内部有较为复杂的结构。能通过门控状态来选择调整传输的信息,记住需要长时记忆的信息,忘记不重要的信息。
                                                                                   LSTM关键在于增加一条贯穿与链上的信息传送带,称为细胞状态(cell state)。
                                           LSTM通过精心设计门结构来对cell state上的信息进行增添和移除。   门是使得信息选择式通过的方法。包含一个 sigmoid 神经网络层和一个 pointwise 乘法操作。
                                           Sigmoid 层输出0到1之间的数值,描述每个部分有多少量可以通过。   0 代表“不许任何量通过”,1 代表“允许任意量通过”。
   LSTM通过三个门结构来维护cell state上的信息。

RNN与LSTM介绍