深度学习网络训练不收敛问题
不收敛描述及可能原因分析不收敛情景1描述从训练开始就一直震荡或者发散可能原因图片质量极差,人眼几乎无法识别其中想要识别的特征,对于网络来说相当于输入的一直都是噪音数据,所以loss一直震荡无法收敛大部分标签都是对应错误的标签leaning rate 设置过大不收敛情景2描述训练开始会有所下降,然后出现发散可能原因数据标签中有错误,甚至所有标签都有一定的错误l...
·
不收敛描述及可能原因分析
不收敛情景1
- 描述
从训练开始就一直震荡或者发散 - 可能原因
- 图片质量极差,人眼几乎无法识别其中想要识别的特征,对于网络来说相当于输入的一直都是噪音数据,比如通过resize的时候,图片的长宽比改变特别大,使图片丧失对应特征;或者tfrecord中图片大小是(m,n),但是读取的时候,按照(n,m)读取。所以loss一直震荡无法收敛
- 大部分标签都是对应错误的标签
- leaning rate 设置过大
不收敛情景2
- 描述
训练开始会有所下降,然后出现发散 - 可能原因
- 数据标签中有错误,甚至所有标签都有一定的错误,比如生成的标签文件格式和读取标签时设置的文件格式不一样,导致读取的标签是乱码;或者为标签中存在的空格未分配对应的编码,导致读取的空格为乱码(在OCR问题中)
- learning rate 设置过大
不收敛情景3
- 描述
训练开始会有所下降,然后出现震荡 - 可能原因
- loss函数中正则化系数设置有问题,或者loss函数本身有问题。比如,在序列化问题中的label_smoothing设置过大,比如设置为0.9,一般设置为0.1即可(OCR问题中)
- 数据标签中有错误,甚至所有标签都有一定的错误
不收敛场景4
- 描述
训练开始会有一点点,然后无法收敛,生成结果几乎一致,全局像素一样 - 可能原因
-参数初始化问题,比如网络中有bn的时候,如果把std初始化为0,会导致没有梯度回传。
更多推荐
已为社区贡献2条内容
所有评论(0)