首页 > 分享 > 几个神经网训练过程中的常见问题及解决方法

几个神经网训练过程中的常见问题及解决方法

几个神经网训练过程中的常见问题及解决方法

个人总结神经网络训练可能会遇到的常见的一些问题及解决方法,导致问题的原因可能不是单一的,遇到具体情况,可能会是各种神奇的错误导致的,其中也不能排除是现有神经网络框架的bug。当问题通过调整还无法解决时,就得做好一步步跟踪变量排错的觉悟。

1、训练出现nan:

训练时候可能计算的loss会变成nan,又或者在反向传播时某些参数的梯度变成nan。造成这种问题的原因有很多,总结大概率的几个:
(1)输入数据中含有nan
(2)输入数据为空,反向传播时可能会出现nan
(3)梯度爆炸
(4)自定义损失函数时,损失函数中出现除零错误
(5)自定义网络不合适
(6)激活函数不合适(有时换掉ReLU就好了)
另:如果是梯度变为nan,还要考虑可能是自定义损失函数或者网络结构计算时某函数的定义域和值域不相符。比如使用了sqrt函数,其定义域是大于零的,一旦出现变量为0,那么其导数将是不可求的。这种问题也不是没有解决方法,可以在这类函数中加入很小的项保证梯度存在,如:

sqrt(x+1e-8) 1

又比如Charbonnier loss,其中加的 ϵ epsilon ϵ就是起到了这样的作用。

2、训练结果为同一常数:

(1)输入数据未归一化
(2)learning rate过大

3、pytorch中的inplace问题

如果你使用pytorch框架,在求导时需要注意一点,部分的inplace操作是无法自动求导的,可能会出错,甚至没有错,但是无法正常训练,具体参照下面的博客:
https://zhuanlan.zhihu.com/p/38475183

后期遇到其他会持续更新。

相关知识

宠物社交训练的常见问题与解决方法
狗狗干呕的原因及对策(宠物呕吐的常见问题与解决方法)
宠物训练的三个常见问题及解决方案
宠物饲养中的常见问题及解决方案
宠物猫突然变胖的原因分析(探究猫咪肥胖现象的常见问题及解决方法)
小狗拉便怎么有虫子(宠物养护中的常见问题与解决方法)
宠物的常见行为问题及解决方法
宠物的行为问题及解决方法
养狗的注意事项和常见问题解决方法
狗狗的行为问题分析及解决方法

网址: 几个神经网训练过程中的常见问题及解决方法 https://m.mcbbbk.com/newsview219212.html

所属分类:萌宠日常
上一篇: 狗狗扭到腰的症状及治疗方法(宠物
下一篇: 深度学习训练过程中的问题&解决