本文主要是介绍有关LSTM的其他知识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、LSTM和attention在机器翻译领域的应用:
全面解析RNN,LSTM,Seq2Seq,Attention注意力机制:这篇文章很好的讲解了简单的Seq2Seq模型是怎样的,以及怎么利用LSTM做翻译,以及如何在Seq2Seq中引入attention进行计算的,感觉算是Seq2Seq比较好的一个入门。
如果对LSTM和RNN比较熟悉的,可以直接跳过这两部分的介绍。
2、几种RNN模型的动画理解
超生动图解LSTM和GRU:拯救循环神经网络的记忆障碍,就靠它们了,这篇文章以动画的形式展示每个模型每一步是怎么计算的,如果熟悉RNN模型的基本计算的,可以跳过这篇文章,完全没问题。如果是初入门,可以看下这篇,讲得很清晰。
3、计算LSTM中神经元的个数的,也就是模型要训练的参数的个数
LSTM的神经元个数,得到的结论是,如果输入的x的embedding的维度是n,最后输出的短时记忆/局部信息h_t/门状态/cell state的维度是m,那么最终一层LSTM的神经元的个数是 4*((m + n) * m + m)。
4、RNN的梯度问题
RNN梯度消失和爆炸的原因,这个作者从公式推导的角度给出了RNN中的梯度的问题(虽然作者的另一篇文章没有解释好LSTM怎么解决这种梯度消失的,但是对RNN梯度的解释还是蛮好蛮直观的)。其实看完可以发现,RNN并不是说整体的总梯度消失,而是在每一步计算时,离当前步(t)比较近的时刻的梯度任然有效,但是与t相隔比较远的那部分梯度因为链式求导的原因,跟其他的DNN网络一样,梯度也会消失,但是作为当前时刻的梯度,它包含由近及远的所有梯度和,所以总体来说是不会消失的,这应该也是RNN不能捕捉远距离信息的原因吧(其实在前向传播中,RNN也是把前面的所有信息一股脑全传给后面的时刻了,但是反向传播求导的时候,远距离的梯度根本没算进去,也就是说当前误差对远距离时刻的影响消失了)。
5、LSTM的梯度问题
漫谈LSTM系列的梯度问题,参考第4个问题的那篇文章,讲了LSTM是如何通过门的问题解决反向传播的长距离依赖的。
这篇关于有关LSTM的其他知识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!