深度学习训练的时候前几个epoch的loss下降,acc都不变是什么原因?
7 个回答
在训练过程中,一般根据训练轮数设置动态变化的学习率。
- 刚开始训练时:学习率以 0.01 ~ 0.001 为宜。
- 一定轮数过后:逐渐减缓。
- 接近训练结束:学习速率的衰减应该在100倍以上。
keras和Pytorch一般可以使用ReduceLROnPlateau函数,当然你也可以手动设置 lr 衰减区间
为什么前几个epoch的loss下降,acc都不变?
lr设置过小,就好比你的步子迈的很小,就很难到达山谷,因此参数开始一段时间内更新的很慢,loss下降的相对较慢,这时acc基本是不会改变的
建议:
多理解一下loss,acc的公式,就会理解了