cs224n---lecture9: GRU and LSTM

RNN会有梯度消失这样的问题,对于远距离无法进行梯度更新,因此更新主要集中在临近区域。

GRU和LSTM都是为了处理RNN梯度消失问题而设计的,可以学习到长距离依赖。

GRU引入了两个门,分别是update gate和reset gate:

  • update gate: z t = s i g m o i d ( W z x t + U z h t 1 )
  • reset gate: r t = s i g m o i d ( W r x t + U r h t 1 )

    s t = t a n h ( W x t + r t U h t 1 ) , 候选值。
    h t = ( 1 z ) s t + z h t 1 ,此处的短路连接可以缓解梯度消失,当z=1时, h t = h t 1 ,信息得以保持。

重置门决定了如何将新的输入信息与前面的记忆相结合,更新门定义了前面的记忆保存到当前时间步的量。当重置门为1, 更新门为0的时候,即可获得RNN模型。

LSTM好的资料:https://www.jianshu.com/p/9dc9f41f0b29
https://zhuanlan.zhihu.com/p/28297161

LSTM比GRU更加复杂一些,有遗忘门,输入门,输出门。

  • forget gate: f t = s i g m o i d ( W f x t + U f h t 1 )
  • input gate: i t = s i g m o i d ( W i x t + U i h t 1 )
  • output gate: o t = s i g m o i d ( W o x t + U o h t 1 )
    c ^ t = t a n h ( W c x t + U c h t 1 )
    c t = f t c t 1 + i t c ^ t 此处的短路连接可以缓解梯度消失
    h t = o t t a n h ( c t )

猜你喜欢

转载自blog.csdn.net/YQMind/article/details/81229204