深度学习网络训练不收敛问题

不收敛描述及可能原因分析

不收敛情景1

  • 描述
    从训练开始就一直震荡或者发散
  • 可能原因
    • 图片质量极差,人眼几乎无法识别其中想要识别的特征,对于网络来说相当于输入的一直都是噪音数据,比如通过resize的时候,图片的长宽比改变特别大,使图片丧失对应特征;或者tfrecord中图片大小是(m,n),但是读取的时候,按照(n,m)读取。所以loss一直震荡无法收敛
    • 大部分标签都是对应错误的标签
    • leaning rate 设置过大

不收敛情景2

  • 描述
    训练开始会有所下降,然后出现发散
  • 可能原因
    • 数据标签中有错误,甚至所有标签都有一定的错误,比如生成的标签文件格式和读取标签时设置的文件格式不一样,导致读取的标签是乱码;或者为标签中存在的空格未分配对应的编码,导致读取的空格为乱码(在OCR问题中)
    • learning rate 设置过大

不收敛情景3

  • 描述
    训练开始会有所下降,然后出现震荡
  • 可能原因
    • loss函数中正则化系数设置有问题,或者loss函数本身有问题。比如,在序列化问题中的label_smoothing设置过大,比如设置为0.9,一般设置为0.1即可(OCR问题中)
    • 数据标签中有错误,甚至所有标签都有一定的错误

你可能感兴趣的:(深度学习)