LSTM原理与结构

LSTM - 长短期记忆网络,特殊的RNN,能够学习长依赖关系。结构原理也十分的简单易懂。

 先来看看RNN和LSTM长啥样先,不急~~

标准的RNN长这个样:

LSTM原理与结构_第1张图片

而标准的LSTM长这个样:

LSTM原理与结构_第2张图片
下面对图里的一些组件说明:依次是神经网络层、向量点积/向量乘法…
LSTM原理与结构_第3张图片
 我们称下图中的一个绿色框为一个cell(细胞),那么图中最上面那条黑线,是细胞状态(可以理解为一些有用的信息)的传输通道,然后经过这条通道上的红色圆圈,相当于对上一步的细胞状态进行加个整改,然后输出这一步的细胞状态。
LSTM原理与结构_第4张图片
下面解剖一下细胞里的结构以及工作机制(4个部分):

1.遗忘门

 首先,它将上一步的输出ht-1和这一步的输入xt进行合并,然后经过一个全连接层和sigmoid激活函数层得到ft(因为使用来sigmoid,所以ft的输出在0-1之间)。然后ft和上一步的细胞状态Ct-1相乘,其作用就相当于我们从上一步的状态中丢弃什么信息,保留什么信息。就相当于商品价格乘上折扣,打了个折一样呗。
LSTM原理与结构_第5张图片

2.输入门

 首先,也是将上一步的输出ht-1和这一步的输入xt进行合并,然后经过一个全连接层和sigmoid激活函数层得到it(因为使用来sigmoid,所以ft的输出在0-1之间).
然后也是将上一步的输出ht-1和这一步的输入xt进行合并,经过一个全连接层和tanh激活函数层得到Ct(顶上有波浪线),它代表的是备选用来更新的内容,将它与xt相乘,就相当于筛选出哪些部分需要被更新。这样我们得到了新的信息。。
LSTM原理与结构_第6张图片

 将这个新的信息与遗忘门的输出相加,作用就相当于用这里的新的信息去替换掉遗忘丢弃了的旧信息,这样我们就得到了当前的新的细胞状态Ct。
LSTM原理与结构_第7张图片

3.输出门

 细胞的输出,就是将细胞状态进行进一步的过滤提取信息,以决定我们要输出细胞状态态中的哪些部分。
首先是将上一步的输出ht-1和这一步的输入xt进行合并传入sigmoid激活函数层,然后将其与通过了tanh激活函数层的新的细胞状态相乘,就得到了该细胞的输出ht。
LSTM原理与结构_第8张图片


自:Understanding LSTM Networks

你可能感兴趣的:(NLP,深度学习,自然语言处理)