博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LSTM缓解梯度消失的原因
阅读量:5162 次
发布时间:2019-06-13

本文共 1452 字,大约阅读时间需要 4 分钟。

776760-20190724190019380-1236973429.png

\(c_{t}=c_{t-1} \otimes \sigma\left(W_{f} \cdot\left[H_{t-1}, X_{t}\right]\right) \oplus \tanh \left(W_{c} \cdot\left[H_{t-1}, X_{t}\right]\right) \otimes \sigma\left(W_{i} \cdot\left[H_{t-1}, X_{t}\right]\right)\)

反向传播公式:

\(\begin{aligned} \frac{\partial E_{k}}{\partial W}=& \frac{\partial E_{k}}{\partial H_{k}} \frac{\partial H_{k}}{\partial C_{k}} \frac{\partial C_{k}}{\partial C_{k-1}} \ldots \frac{\partial C_{2}}{\partial C_{1}} \frac{\partial C_{1}}{\partial W}=\\ & \frac{\partial E_{k}}{\partial H_{k}} \frac{\partial H_{k}}{\partial C_{k}}\left(\prod_{t=2}^{k} \frac{\partial C_{t}}{\partial C_{t-1}}\right) \frac{\partial C_{1}}{\partial W} \end{aligned}\)

括号中的部分是累乘项:

$\frac{\partial c_{t}}{\partial c_{t-1}}=\sigma\left(W_{f} \cdot\left[H_{t-1}, X_{t}\right]\right) + $

\(\frac{d}{d \mathcal{C}_{t-1}}\left(\tanh \left(W_{c} \cdot\left[H_{t-1}, X_{t}\right]\right) \otimes \sigma\left(W_{i} \cdot\left[H_{t-1}, X_{t}\right]\right)\right)\)

也就是说,这里的累乘单元是两项和形式,其中前部分是遗忘门的值。遗忘门决定了上一个细胞状态的保留比例,其取值可以接近于1,也就是说可以把遗忘门看成:\(\sigma\left(W_{f} \cdot\left[H_{t-1}, X_{t}\right]\right) \approx \overrightarrow{1}\),所以LSTM中:

\(\frac{\partial E_{k}}{\partial W} \approx \frac{\partial E_{k}}{\partial H_{k}} \frac{\partial H_{k}}{\partial c_{k}}\left(\Pi_{t=2}^{k} \sigma\left(W_{f} \cdot\left[H_{t-1}, X_{t}\right]\right)\right) \frac{\partial C_{1}}{\partial w} \nrightarrow 0\)

所以,LSTM能缓解梯度消失。

转载于:https://www.cnblogs.com/Elaine-DWL/p/11240213.html

你可能感兴趣的文章
iOS之文本属性Attributes的使用
查看>>
从.Net版本演变看String和StringBuilder性能之争
查看>>
Excel操作 Microsoft.Office.Interop.Excel.dll的使用
查看>>
解决Ubuntu下博通网卡驱动问题
查看>>
【bzoj2788】Festival
查看>>
执行gem install dryrun错误
查看>>
HTML5简单入门系列(四)
查看>>
实现字符串反转
查看>>
转载:《TypeScript 中文入门教程》 5、命名空间和模块
查看>>
苹果开发中常用英语单词
查看>>
[USACO 1.4.3]等差数列
查看>>
Shader Overview
查看>>
Reveal 配置与使用
查看>>
Java中反射的学习与理解(一)
查看>>
C语言初学 俩数相除问题
查看>>
B/S和C/S架构的区别
查看>>
[Java] Java record
查看>>
jQuery - 控制元素显示、隐藏、切换、滑动的方法
查看>>
postgresql学习文档
查看>>
Struts2返回JSON数据的具体应用范例
查看>>