手推RNN(第二部)

2018-07-03  本文已影响0人  影醉阏轩窗
  • 接着上一篇RNN的推导,我们这次来理解LSTM的原理的推导过程.
  • LSTM的由来这里简而概之,保留该保留的,忘记该忘记的,不懂的人可以百度一下,因为比较简单这里不再概述.
  • 在Alex Graves的这篇论文《Supervised Sequence Labelling with Recurrent Neural Networks》中对LSTM进行了综述性的介绍,并对LSTM的Forward Pass和Backward Pass进行了公式推导。
  • 本博文是根据LSTM的公式推导详解这篇翻译进行总结和整理(部分内容可能有问题,加了自己的观点),由于看外文太麻烦了,索性投机取巧了~~
LSTM简图 剖析图(/home/wjy/Desktop/123.png)

没有看原论文,个人感觉这里有问题,从下面的公式推导来看,这里的图少了一点:当前cell和下一个cell之间传递,现将自己改动的图放在下面

修改后的图

就是结构复杂一点,其他的都差不多,自己动手退一下就好

前向传播 权重示意图
  1. 这里得注意一下我刚开始画的那条线,不然的话中间推导起来有点麻烦.
  2. 反向传播主要是看反向传播线,找到当前需要求解的梯度值,然后找与之相对应的反向传播线即可,
  3. 这里给出一个最难求解的CELL端的反向传播的分析例子,其它的自己动手理一下就好.
Cell梯度求解示意图
  • 首先找到cell与之相连的反向传播线,这里我们找到是四个
    1. 下一时刻的Output Gate
    2. 当前时刻的Cell Output
    3. 下一时刻的Input Gate
    4. 下一时刻的Forget Gate
  • 分析完这些之后那就进行链式求导法则
Cell梯度图 全部反向梯度图
  1. LSTM就是RNN的加深,就像刚开始我说的:保留该保留的,忘记该忘记的,
  2. 推导的过程要屡清楚传递线路
  3. 熟悉链式求导法则
  4. 就这样了,理论和实践还有很大差距,接下来我会用例子带你进入RNN的奇妙之旅

RNN推导的挺好的,就是没图片

RNN推导参考之一

LSTM文章简介,没有公式推导

外国大神的论文,来自中国大神的翻译,非常棒

手写RNN代码

上一篇 下一篇

猜你喜欢

热点阅读