机器学习经验总结-神经网络训练失败的一些常见原因
Posted 文宇肃然
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习经验总结-神经网络训练失败的一些常见原因相关的知识,希望对你有一定的参考价值。
前言
在面对模型不收敛的时候,首先要保证训练的次数够多。在训练过程中,loss并不是一直在下降,准确率一直在提升的,会有一些震荡存在。只要总体趋势是在收敛就行。若训练次数够多(一般上千次,上万次,或者几十个epoch)没收敛,再考虑采取措施解决。
一、数据与标签
没有对数据进行预处理。数据分类标注是否准确?数据是否干净?
没有对数据进行归一化。由于不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。此外,大部分神经网络流程都假设输入输出是在0附近的分布,从权值初始化到激活函数、从训练到训练网络的优化算法。将数据减去均值并除去方差。
样本的信息量太大导致网络不足以fit住整个样本空间。样本少只可能带来过拟合的问题,你看下你的training set上的loss收敛了吗?如果只是validate set上不收敛那就说明overfitting了,这时候就要考虑各种anti-overfit的trick了,比如dropout,SGD,增大minibatch的数量,减少fc层的节点数量,momentum,finetune等。
标签的设置是否正确。
二、模型
网络设定不合理
如果做很复杂的分类任务,却只用了很浅的网络,可能会导致训练难以收敛。应当选择合适的网络,或者尝试加深当前网络。总体来说,网络不是越深越好,开始可以
以上是关于机器学习经验总结-神经网络训练失败的一些常见原因的主要内容,如果未能解决你的问题,请参考以下文章