训练过程中模型不收敛,应该怎么做,原因有哪些?
- 分以下几步走:
(1)要保证训练的次数够多,若训练次数够多没收敛,则进行(2)
(2)考虑采取措施解决
一、数据与标签
(1)没有对数据进行预处理。
- 数据分类标注是否准确?数据是否干净?
(2)没有对数据进行归一化。
- 不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。
- 大部分神经网络流程都假设输入输出是在0附近的分布,从权值初始化到激活函数、从训练到训练网络的优化算法。将数据减去均值并除去方差。
(3)样本的信息量太大导致网络不足以fit住整个样本空间。
- 看下training set上的loss收敛了吗?如果只是validate set上不收敛那就说明overfitting了,这时候就要考虑各种anti-overfit的trick了,比如dropout,SGD,增大minibatch的数量,减少fc层的节点数量,momentum,finetune等。
(4)标签的设置是否正确。
(5)忘记检查输出结果。
- 问题:当你开始训练你的网络几个 epoch 后,