详解LSTM

118 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第2天,点击查看活动详情

一.LSTM的核心思想

image.png 看这张图,就很像单个细胞,这个细胞的关键在于贯穿顶部的水平线,它保证了信息不变的流过整个RNNs(也就是流过多个细胞)

然后我们怎么对这个细胞进行操作呢?就是这个水平线下的结构(红色框框)需要去做的事情

image.png

接着往下看,这个红色框框有三个这样的结构,可以称它为门,它们决定了信息通过的方式,包含一个sigmoid神经网络层和一个pointwise点乘操作。

  • sigmoid层输出0到1之间的数字
  • 点乘操作决定多少信息可以传送过去。当为0时,不传送;当为1时,全部传送。

image.png

二.LSTM的具体流程

1.遗忘门

概念:决定细胞状态需要丢弃哪些信息;是通过一个称为遗忘门的sigmoid神经网络单元来处理的,通过查看h{t-1}和x{t}信息来输出一个0-1之间的向量

该向量里面的0-1值表示细胞状态C{t-1}中的哪些信息保留或丢弃多少。

  • 0表示不保留
  • 1表示都保留。

image.png

2.输入门

概念:决定给细胞状态添加哪些新的信息 image.png

  • 第一步:利用h{t-1}通过输入门的操作来决定更新哪些信息
  • 第二步:用一个tanh层为这些信息生成一个向量C{t},用来更新细胞状态

有了遗忘门和输入门后,就基本可以把细胞状态从C{t-1}更新到C{t}

image.png

  • f{t}×C{t-1}表示希望删除的信息
  • i{t}×C{t}表示新增的信息

3.输出门

概念:用sigmoid层决定将要输出的cell内容,再用tanh层把细胞状态值推到-1和1之间,并将其乘以sigmoid层的输出,以此做到只输出想要输出的部分

image.png

三.LSTM的变种和注意事项

在实际的机器学习中,LSTM并不是上面学习的如此常规简单,会有更多的变种LSTM根据实际应用而变化。

1.为所有的门都增加了查看门

(即查看细胞当前状态和信息的门)

image.png

2.耦合遗忘门和输入门

即让那个粉色模块可以同时控制遗忘门和输入门 image.png

3.门循环单元

将遗忘门和输入门合并成了一个更新门,同时增加重置门 image.png