开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第2天,点击查看活动详情
一.LSTM的核心思想
看这张图,就很像单个细胞,这个细胞的关键在于贯穿顶部的水平线,它保证了信息不变的流过整个RNNs(也就是流过多个细胞)
然后我们怎么对这个细胞进行操作呢?就是这个水平线下的结构(红色框框)需要去做的事情
接着往下看,这个红色框框有三个这样的结构,可以称它为门,它们决定了信息通过的方式,包含一个sigmoid神经网络层和一个pointwise点乘操作。
- sigmoid层输出0到1之间的数字
- 点乘操作决定多少信息可以传送过去。当为0时,不传送;当为1时,全部传送。
二.LSTM的具体流程
1.遗忘门
概念:决定细胞状态需要丢弃哪些信息;是通过一个称为遗忘门的sigmoid神经网络单元来处理的,通过查看h{t-1}和x{t}信息来输出一个0-1之间的向量
该向量里面的0-1值表示细胞状态C{t-1}中的哪些信息保留或丢弃多少。
- 0表示不保留
- 1表示都保留。
2.输入门
概念:决定给细胞状态添加哪些新的信息
- 第一步:利用h{t-1}通过输入门的操作来决定更新哪些信息
- 第二步:用一个tanh层为这些信息生成一个向量C{t},用来更新细胞状态
有了遗忘门和输入门后,就基本可以把细胞状态从C{t-1}更新到C{t}
- f{t}×C{t-1}表示希望删除的信息
- i{t}×C{t}表示新增的信息
3.输出门
概念:用sigmoid层决定将要输出的cell内容,再用tanh层把细胞状态值推到-1和1之间,并将其乘以sigmoid层的输出,以此做到只输出想要输出的部分
三.LSTM的变种和注意事项
在实际的机器学习中,LSTM并不是上面学习的如此常规简单,会有更多的变种LSTM根据实际应用而变化。
1.为所有的门都增加了查看门
(即查看细胞当前状态和信息的门)
2.耦合遗忘门和输入门
即让那个粉色模块可以同时控制遗忘门和输入门
3.门循环单元
将遗忘门和输入门合并成了一个更新门,同时增加重置门