梯度消失和梯度爆炸

简介: 1.原因  神经网络为什么会出现梯度消失和梯度爆炸的问题,根源是反向传播。一般整个深度神经网络可以视为一个复合的非线性多元函数  那么在这样一个公式中,我们都知道,计算梯度的时候是链式求导,比如一个只有4个隐层的网络:  图中是一个四层的全连接网络,假设最简单的情况,激活函数为,其中i为第i层,x是i层输入,那么。

1.原因

  神经网络为什么会出现梯度消失和梯度爆炸的问题,根源是反向传播。一般整个深度神经网络可以视为一个复合的非线性多元函数
F(x) = f_n(..f_3(f_2(f_1(x) * \Theta_1 + b_1) * \Theta_2 + b_2) * \Theta_3 + b_3...)
  那么在这样一个公式中,我们都知道,计算梯度的时候是链式求导,比如一个只有4个隐层的网络:


  图中是一个四层的全连接网络,假设最简单的情况,激活函数为
f_i(x) = x
,其中i为第i层,x是i层输入,那么
f_i+1 = f(f_i * w_i+1 + b_i+1) = f_i * w_i+1 + b_i+1
。假设求隐层1的梯度:
\triangledown w_1 = \frac{\partial Loss}{\partial w_1} = \frac{\partial Loss}{\partial f_4} * \frac{\partial f_4}{\partial f_3} * \frac{\partial f_3}{\partial f_2} * \frac{\partial f_2}{\partial w_1} = \frac{\partial Loss}{\partial f_4} * w_3 * w_2 * w_1
,每个函数对于激活函数求导为1,省略了。假设最简单的情况,每个w是一样的,则为w^n-1(n为隐层层数),那么如果w大于1,层数越多,呈指数级爆炸增长,如果w小于1,呈指数级缩小趋近于0。这就是梯度爆炸梯度消失的由来。

2.解决方案

2.1梯度剪切、正则化

梯度剪切是针对梯度爆炸提出的,其思想是设置一个梯度剪切阈值,然后更新梯度的时候,如果超过阈值就将梯度限制为阈值。可以防止梯度爆炸。

2.2使用relu激活函数

  sigmoid求导的曲线如图:



sigmoid的导数最大值为1/4,在求梯度的过程中,很容易出现梯度消失的情况。发生梯度爆炸的情况是w > 4才可能发生。relu可以避免这些。

2.3良好的参数初始化策略也能缓解梯度爆炸问题(权重正则化)

2.4使用残差结构

2.5使用lstm

目录
相关文章
|
存储 安全 数据可视化
|
数据格式 Python
【Python】已解决:Excel无法打开文件test.xIsx“,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。
【Python】已解决:Excel无法打开文件test.xIsx“,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。
1310 0
|
Kubernetes 架构师 Java
史上最全对照表:大厂P6/P7/P8 职业技能 薪资水平 成长路线
40岁老架构师尼恩,专注于帮助读者提升技术能力和职业发展。其读者群中,多位成员成功获得知名互联网企业的面试机会。尼恩不仅提供系统化的面试准备指导,还特别针对谈薪酬环节给予专业建议,助力求职者在与HR谈判时更加自信。此外,尼恩还分享了阿里巴巴的职级体系,作为行业内广泛认可的标准,帮助读者更好地理解各职级的要求和发展路径。通过尼恩的技术圣经系列PDF,如《尼恩Java面试宝典》等,读者可以进一步提升自身技术实力,应对职场挑战。关注“技术自由圈”公众号,获取更多资源。
|
存储 安全 Java
基于springboot的校园二手交易平台(程序+数据库+文档)
基于springboot的校园二手交易平台(程序+数据库+文档)
|
算法 JavaScript 数据可视化
基于leaflet-velocity的二维动态风场展示
本文讲解了leaflet-velocity插件,并利用插件进行了模拟的动态风场、洋流等信息的综合展示,让读者掌握集成方式。
1765 0
基于leaflet-velocity的二维动态风场展示
|
存储 数据安全/隐私保护 Windows
Win11 系统登录用户时无法登录
Win11系统,在未绑定和注册微软账号的情况下,使用邮箱注册绑定了微软账号,在win+L锁定屏幕后出现无法登录账号的情况,登录按钮只现实两个字,密码输入框不显示,点击登录后无反应或者加载几圈后回到登录原始页面。
1095 0
|
安全 Linux 测试技术
Semantic Segmentation | 评价指标与经典网络(FCN,DeepLab系列,UNet,LR-ASPP)
Semantic Segmentation | 评价指标与经典网络(FCN,DeepLab系列,UNet,LR-ASPP)
619 0
Semantic Segmentation | 评价指标与经典网络(FCN,DeepLab系列,UNet,LR-ASPP)
|
存储 缓存 监控
TSO(Timestamp Ordering)
TSO(Timestamp Ordering)是一种常用的时钟同步机制,用于在分布式系统中保证时钟的一致性和事务的顺序性。去共识的TSO实现可以有效提高TSO的服务稳定性,以下是一些实现思路:
656 0
|
数据安全/隐私保护 Windows
Windows修改C盘下的用户(Users)文件夹下的汉字文件夹
Windows修改C盘下的用户(Users)文件夹下的汉字文件夹
1119 1
Windows修改C盘下的用户(Users)文件夹下的汉字文件夹