LSTM简介

本文深入探讨了循环神经网络(RNN)的原理及其在训练过程中遇到的梯度消失和梯度爆炸问题。重点介绍了长短期记忆网络(LSTM)的设计理念、结构与工作原理,并对比了另一种RNN变种GRU。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

资源:

Colah博客《Understanding LSTM Networks》:
http://colah.github.io/posts/2015-08-Understanding-LSTMs/

Colah博客中文翻译:
http://www.jianshu.com/p/9dc9f41f0b29#

《deep learning book》Chapter10 Sequence Modeling: Recurrent and Recursive Nets
http://www.deeplearningbook.org/contents/rnn.html

中文翻译的博客:
http://miibotree.com/2015/08/20/recurrent-neural-network/

中文总结的博客:
http://blog.youkuaiyun.com/shadow_guo/article/details/51814801

Alex Graves的书Supervised Sequence Labelling with Recurrent Neural Networks
http://10.3.200.202/cache/7/03/toronto.edu/b8dfe72691c4e684e0e503f088e82881/preprint.pdf

前人整理资源:
http://www.jianshu.com/p/54649dad0d30

小例子:
http://blog.youkuaiyun.com/u011414416/article/details/46694877 http://suriyadeepan.github.io/2017-02-13-unfolding-rnn-2/

http://wiseodd.github.io/techblog/2016/08/12/lstm-backprop/

http://geek.youkuaiyun.com/news/detail/160536

预测伊索寓言的下一个单词:
http://www.jiqizhixin.com/article/2716

https://github.com/roatienza/Deep-Learning- Experiments/tree/master/Experiments/Tensorflow/RNN

论文:《On the difficulty of training Recurrent Neural Networks》


大佬们:


我们学习的dl的东西应该就是这些人一手创造的,hinton开创的神经网络,lecun卷积神经网络,bengio循环神经网络,神经概率语言模型, 看Ng的课程入得门,Tomas词向量, 另外几个哥们以后应该也会认识。还有lstm的改进者graves。求保佑,少踩坑,哈哈~


LSTM的前世

《On the difficulty of training RecurrentNeural Networks》

作者:Rezvan Pascanu, Tomas Mikolov, YoshuaBengio

主要讲述RNN中的梯度爆炸和梯度消失问题的原理和解决方案。目前就看了原理,没看他们解决方案,毕竟lstm好使(太功利了。。。)


rnn的展开图


t时刻的输入ut,t时刻的状态xt。

t时刻xt的计算为:


Wrec是隐层之间的参数矩阵,Win是输入层到隐层的矩阵。





对照rnn的展开图,可以比较清晰的得到BPTT算法的主要过程。

损失函数是各个时刻损失函数的总和,单个时刻的损失函数和当前时刻以及之前的所有时刻都有关系,是偏导数的连乘。

其中Xt对Xk的偏导数依然是个连乘的形式。至于Xi对Xi-1的导数为什么会是图上显示的那个样子,涉及到数学上矩阵求导的法则。

参考:http://www.cnblogs.com/rongyux/p/6715235.html

http://blog.sina.com.cn/s/blog_4a033b090100pwjq.html



由这两个法则可以得到



其实产生梯度爆炸和梯度消失问题的本质是


这个连乘可能会导致模型中长期信息增加的过快或者降低的过快。


LSTM

Lstm是RNN的特殊类型,增加了gate。由Hochreiter&Schmidhuber(1997)提出,并在最近被Alex Graves改进。

Graves博客:https://www.cs.toronto.edu/~graves/



关于中间那块的解释,Colah的博客写的可以说是相当好了,很形象的讲解了遗忘门,输入门,输出门的作用。


还有lstm的近亲GRU


看了这些基本的东西后,再看代码就不慌了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值