鱼C论坛

 找回密码
 立即注册
查看: 3443|回复: 1

[学习笔记] 循环神经网络的梯度爆炸和梯度消失问题

[复制链接]
发表于 2022-10-11 10:47:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Handsome_zhou 于 2022-10-11 11:21 编辑

1102.png

首先考虑一个简单的、没有输入数据和激活函数的循环神经网络,其前向传播公式为:
                               
                                        ht=Wht-1, t=1,2,...n
对于之前的某一个时刻t0(0<= t0<t), 有:
                                        ht = Wt-t0ht0

上述公式里出现了权值矩阵W的幂,根据线性代数知识可以知道,随着幂数的增加(即t的增加),
W中幅值小于1的特征值会不断向零衰减,而幅值大于1的特征值则会不断发散,由此导致信息在前向传播时容易出现消失或发散现象。


接下来看梯度的反向传播,记上述网络在t时刻的损失为Lt,则有:
1103.png
可以看到,上述公式中也出现了权值矩阵W的幂,所以会遇到与前向传播类似的问题,导致梯度消失或爆炸。

因此,对于上述简单版本的循环神经网络来说,由于重复使用相同的循环模块(即W),导致网络在信息前向传播和误差反向传播的过程中都出现了矩阵的幂,
容易造成信息/梯度的消失或者爆炸。
而在一般的深度神经网络(如卷积神经网络)中,层与层之间的参数并不是共享的(即不同层有不同的权值矩阵W),因此问题没有像循环神经网络中那么严峻。


解决方法:1)按照计算方便的需要截断时间步长的尺寸,这种截断是通过在给定数量的时间步之后分离梯度来实现。
                2)使用LSTM,GRU。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-12 09:48:20 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-25 17:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表