讲的特别好的lstm:lstm介绍
1.simpleRNN
2.standardRNN
使用了隐含层的信息
3.
信息的表示:c^(t) = f(W.x(t) + U.y(t-1))
长时记忆单元:C(t) = gforget*C(t-1) + gin*c^(t)
输出:y(t) = gout*f(C(t))
隐状态:h(t) = y(t)
其中,gin,gout,gforget是三个控制门,控制门的取值范围是0-1,因此使用sigmoid为激活函数。
4.lstm的所有数学公式
公式讲解:
这里的ft,it,和ot是lstm中的三个控制门,分别是遗忘门,输入门,和输出门。公式表示,这三个门与ht-1,和xt有关,由于三个门通过输出一个0-1间的数字来控制门的开关程度,从而控制信息的流出程度,因此使用sigmoid函数作为激活函数,而这激活函数的输入就是ht-1,和xt。
需要注意的是,[ht-1,xt]这里是指拼接的意思,ht-1和xt的向量拼接在一起。
C^t就是上面推导的信息的表示,使用tanh作为激活函数。
tanh的图像是:
输出范围是-1~1。
Ct表示长时记忆。
这里的ht同时表示输出和隐层状态。
5.改进版的三个门
lstm的变体:加入了peephole
变体的变主要体现在三个门的公式中,在这里,三个门的输出状态不仅与ht-1,xt有关,还与细胞的前状态Ct-1有关,而到了最后,Ct-1已经转换成了Ct,所以输出门的状态还与当前的细胞状态有关。