深度学习中网络在训练时不收敛的原因

介绍

前段时间在做training的时候,发现网络会有的时候不收敛,于是仔细去查看了网络不收敛的原因,在此做个记录。

网络不收敛的原因

一、数据和标签

需要查看数据分类标注是否准确?数据是否干净?数据库太小一般不会带来不收敛的问题,只要你一直在train总会收敛。反而不收敛一般是由于样本的信息量太大导致网络不足以fit住整个样本空间。样本少只可能带来过拟合的问题。

二、学习率设定不合理

在自己训练新网络时,可以从0.1开始尝试,如果loss不下降的意思,那就降低,除以10,用0.01尝试,一般来说0.01会收敛,不行的话就用0.001. 学习率设置过大,很容易震荡。不过刚刚开始不建议把学习率设置过小,尤其是在训练的开始阶段。

在开始阶段我们不能把学习率设置的太低否则loss不会收敛。我的做法是逐渐尝试,从0.1,0.08,0.06,0.05 …逐渐减小直到正常为止

三、网络设定不合理

如果做很复杂的分类任务,却只用了很浅的网络,可能会导致训练难以收敛,换网络即可(我从yolov2换成了yolov3),或者也可以尝试加深当前网络。

发布了263 篇原创文章 · 获赞 292 · 访问量 41万+

猜你喜欢

转载自blog.csdn.net/qq_29462849/article/details/97136790
今日推荐