Long Short term memory unit(LSTM)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Solo95/article/details/86515900

整理并翻译自吴恩达深度学习系列视频:序列模型第一周。

Prerequisite:Gated Recurrent Unit(GRU)

Long Short term memory unit(LSTM)

在这里插入图片描述
GRU 和 LST的对比。

LTSM计算公式如下:
C ~ < t > = t a n h ( W c [ C < t 1 > , x < t > ] + b c ) \tilde{C}^{<t>}=tanh(W_c[C^{<t-1>}, x^{<t>}]+b_c)
Γ u = σ ( W u [ C < t 1 > , x < t > ] + b u ) \Gamma_u=\sigma(W_u[C^{<t-1>}, x^{<t>}]+b_u)
Γ f = σ ( W f [ C < t 1 > , x < t > ] + b f ) \Gamma_f=\sigma(W_f[C^{<t-1>}, x^{<t>}]+b_f)
Γ o = σ ( W 0 [ C < t 1 > , x < t > ] + b o ) \Gamma_o=\sigma(W_0[C^{<t-1>}, x^{<t>}]+b_o)
C < t > = Γ u C ~ < t > + ( 1 Γ u ) C < t 1 > C{<t>}=\Gamma_u\tilde{C}^{<t>}+(1-\Gamma_u)C^{<t-1>}
a < t > = Γ o C < t > a{<t>}=\Gamma_o*C^{<t>}

LSTM有三个门控值,使用 Γ f \Gamma_f 替换GRU里的 1 Γ u 1-\Gamma_u ,并且增加一个新的 Γ o \Gamma_o 来控制输出的值。

LSTM的图示结构如下图所示:
在这里插入图片描述
如图红色直线所示,只要三个门控值 Γ u \Gamma_u Γ f \Gamma_f Γ o \Gamma_o 设置得当,我们需要的信息可以一直向后传递。

这种结构的常见变种是peephole connection,即计算门控值时,也使用了前一层的 C < t 1 > C^{<t-1>} ,如图中绿色圈起来的部分。

GRU其实是LSTM的一种简化版本,事实上LTSM先于GRU被发明出来。

GRU只有2个门控值,简单,计算快,可以扩展到更大的模型上;LSTM有三个门控值,更强大,更灵活。历史上,LTSM经常被当做首位的默认选择,但最近几年GRU获得了很多团队的支持,因为它很简单,也能做出很好地效果,更容易扩展到更大的问题。

猜你喜欢

转载自blog.csdn.net/Solo95/article/details/86515900