在面对模型不收敛的时候,首先要保证训练的次数够多。在训练过程中,loss并不是一直在下降,准确率一直在提升的,会有一些震荡存在。只要总体趋势是在收敛就行。若训练次数够多(一般上千次,上万次,或者几十个epoch)没收敛,再考虑采取措施解决。
本文对可能的措施进行总结:
一、数据与标签
- 没有对数据进行预处理。
- 没有对数据进行归一化。
- 样本的信息量太大导致网络不足以fit住整个样本空间。
- 标签的设置是否正确。
二、模型
- 网络设定不合理。
- Learning rate不合适,如果太大,会造成不收敛,如果太小,会造成收敛速度非常慢。
- 隐层神经元数量错误。
- 错误初始化网络参数。
- 没有正则化。
- Batch Size 过大。
- 学习率设的不对。
- 最后一层的激活函数用的不对。
- 网络存在坏梯度。
内容中包含的图片若涉及版权问题,请及时与我们联系删除
评论
沙发等你来抢