当前位置:网站首页>关于训练过程中损失函数出现断崖式增长的问题
关于训练过程中损失函数出现断崖式增长的问题
2022-04-23 14:05:00 【想到的名字都被人用了】
训练过程中损失函数出现断崖式增长原因
(一). 由于损失函数是非凸函数,学习率设置的过大导致跳出了最优解的区间,我们可以选择动态改变学习率的优化算法,比如adam
(二) 当训练过程中出现梯度爆炸也会导致损失出现断崖式增长
梯度爆炸或消失出现的原因
根本原因:当我们采取不当的训练方法啊导致前面的层出现梯度消失后,模型会大幅度调整后几层的参数,导致梯度过大,最后出现梯度爆炸
注意:梯度消失出现在前几层,梯度爆炸出现在后几层
解决措施
注意:梯度截断法也是防止梯度爆炸的重要手段
1. 选择合适的分布去初始化参数,w过大容易导致梯度爆炸或消失,比如使用tanh激活函数时候,w过大导致z过大,再求导时导数却趋于0
2. 采用BN方式,尽可能的使得输入输出保持同分布,减缓梯度消失得出现也能避免梯度爆炸或消失产生(非常好用)
3. 根据链式法则,当我们w的值较小时,a的导数也会较小,a的导数越小前一层w的梯度也就越小,所以我们可以采用L1、L2正则化的方式来减缓梯度爆炸
4. 选择合适的激活函数,relu就是我们最常用的激活函数
5. 效果差不多的情况下,神经网络越简单越不容易出现梯度爆炸和梯度消失
版权声明
本文为[想到的名字都被人用了]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_42861526/article/details/124021989
边栏推荐
猜你喜欢
随机推荐
如何快速批量创建文本文档?
烟雾传感器(mq-2)使用详细教程(基于树莓派3b+实现)
Use of WiFi module based on wechat applet
nodejs通过require读取本地json文件出现Unexpected token / in JSON at position
Check in system based on ibeacons
帆软之单元格部分字体变颜色
基于CM管理的CDH集群集成Phoenix
趣谈网络协议
MYSQL 主从同步避坑版教程
RobotFramework 之 用例标签机制
leetcode--977. Squares of a Sorted Array
分库分表 & ShardingSphere
linux安装mysql后修改密码
Jmeter安装教程以及我遇到的问题的解决办法
Subscription number development of wechat applet (message push)
基于Ocelot的gRpc网关
帆软中使用if else 进行判断-使用标题条件进行判断
org.apache.parquet.schema.InvalidSchemaException: A group type can not be empty. Parquet does not su
STM32 learning record 0007 - new project (based on register version)
基础知识学习记录