深度学习训练的时候前几个epoch的loss下降,acc都不变是什么原因?

利用unet做图像分割,1100训练集,470验证集,没有数据增强,到后面验证集acc和loss曲线震荡,是跟样本集的多样性有关吗。图片1280x16…
关注者
48
被浏览
93,263

7 个回答

在训练过程中,一般根据训练轮数设置动态变化的学习率。

  • 刚开始训练时:学习率以 0.01 ~ 0.001 为宜。
  • 一定轮数过后:逐渐减缓。
  • 接近训练结束:学习速率的衰减应该在100倍以上。

keras和Pytorch一般可以使用ReduceLROnPlateau函数,当然你也可以手动设置 lr 衰减区间

为什么前几个epoch的loss下降,acc都不变?

lr设置过小,就好比你的步子迈的很小,就很难到达山谷,因此参数开始一段时间内更新的很慢,loss下降的相对较慢,这时acc基本是不会改变的

建议:

多理解一下loss,acc的公式,就会理解了

步长太小,网络有问题,收敛不了,难道你后几个epoch就降低了么?推荐不要用SGD