当前位置:网站首页>关于训练过程中损失函数出现断崖式增长的问题
关于训练过程中损失函数出现断崖式增长的问题
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
边栏推荐
猜你喜欢
Call wechat customer service applet
Node接入支付宝开放平台的沙箱实现支付功能
1256: bouquet for algenon
基于CM管理的CDH6.3.2集群集成Atlas2.1.0
Wechat applet initializes Bluetooth, searches nearby Bluetooth devices and connects designated Bluetooth (I)
帆软实现一个单选按钮,可以统一设置其他单选按钮的选择状态
关于pthread多线程一些好文章
Nacos+AspnetCore+Ocelot实战编码
RobotFramework 之 文件上传和下载
Un modèle universel pour la construction d'un modèle d'apprentissage scikit
随机推荐
读了一篇博客,重新理解闭包整理一下
RobotFramework 之 文件上传和下载
不同时间类型的执行计划计算
linux安装mysql后修改密码
百度图片识别自定义实现(替代AipOcr)
RobotFramework 之 公共变量
PySide2
微信小程序进行蓝牙初始化、搜索附近蓝牙设备及连接指定蓝牙(一)
scikit-learn構建模型的萬能模板
帆软中单元格中隔行变色以及数量大于100字体变大变红设置
基于微信小程序的wifi模块使用
基於CM管理的CDH集群集成Phoenix
Nacos+AspnetCore+Ocelot实战编码
go 语言 数组,字符串,切片
烟雾传感器(mq-2)使用详细教程(基于树莓派3b+实现)
关于Jmeter启动闪退问题
Logging模块
POI operation word template replaces data and exports word
分库分表 & ShardingSphere
Jmeter设置环境变量支持在任意终端目录输入jmeter直接启动