与你撞个满怀(🍺)|

我好想睡觉啊

园龄:3年5个月粉丝:3关注:0

《LSTM is all you need》

LSTM

参考资料:http://colah.github.io/posts/2015-08-Understanding-LSTMs/

基本LSTM

LSTM的提出是为了解决RNN无法适用于长序列的不足,梯度消失或梯度爆炸的现象会导致RNN应用于长时间序列上无法收敛。

所有的循环神经网络都具有一种重复模块,而RNN的重复模块是一个单tanh层:

image

LSTM也有重复模块,只是该模块的结构不同与RNN,它有四个神经网络层。下图是LSTM的网络结构,每个重复单元都由多个门共同控制,从左至右分别是

  • forget gate layer,决定哪些信息要选择性遗忘
  • input gate layer,决定要更新哪些信息
  • tanh layer,决定要如何更新信息
  • output layer,决定如何输入信息
    image
    其中每一个模块具体如下:
    image
    (1)方块代表神经网络层
    (2)圆圈代表操作,如向量加法
    (3)单箭头代表一个节点的输出到其他节点的输入
    (4)合并箭头代表串联
    (5)分叉箭头代表向量复制,并传到不同的位置

LSTM的重复模块可分为:
(1)cell state:类似于传送带,信息可以选择性改变
image
(2)gates:选择让信息通过的方式,由一个sigmoid神经网络层和向量点乘组成

image

LSTM总共有三个gate,以保护cell state的信息
(3)遗忘门:该门由一个sigmoid层组成,以ht1xt为输入,再将输出ft传到cell state Ct1与之作向量乘法,例如ft(01)Ct1()*,也就是对cell state中的数据选择性的删除。
image
(4)输入门:该门由一个sigmoid层和tanh层组成,sigmoid层决定更新哪些值,tanh层创建一个新的候选向量C~t
image
(5)更新:将cell stateCt1更新为cell stateCt,即用之前的状态乘以ft(进行遗忘),然后加上itCtit决定更新每个状态值的程度
image
(6)输出门:该门由一个sigmoid层和tanh层组成,sigmoid层决定输出哪些前时刻的cell state,tanh层将cell state的数值改为(-1,1)之间,最后相互进行点乘,得到输出
image

LSTM的改进

以上提到的是基本LSTM,关于LSTM还有一些变体:
(1)增加peephole connections
image
(2)使用耦合的遗忘门和输入门
image
(3)GRU
image

本文作者:我好想睡觉啊

本文链接:https://www.cnblogs.com/z-qhhh/p/16517463.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   我好想睡觉啊  阅读(32)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起