【学而不思则罔,思而不学则殆】
9.30
首先给出一个理想的训练loss收敛图片:loss平滑的下降,并逐渐收敛到0.
平滑说明学习率设置较合适,收敛到0说明模型在参数空间中收敛到一个很理想的区域。
1.训练集的loss已经开始收敛了,但其值还是比较大
训练现象:
本质原因:
算法收敛到参数空间中某个较高的“平坦区域”,而无法逃离。
可能的参数原因及解决办法:
- batch_size设置大了,太大的batch_size会导致更少的batch数量,当算法训练陷入鞍点或平原时,很难逃离;此时可以调小batch_size,观察loss是否会比刚才减少得更多。
2.loss在收敛到很接近0后,又突然增大。
训练现象
本质原因
算法在梯度下降时跳过了最佳的收敛点,导致loss增大
可能的参数原因及解决办法
- 学习率设置过大了,较大的学习率会加速loss下降,但是可能会导致跳过最佳收敛点,而引起震荡现象。此时可以考虑减少学习率,或者采用动态学习率,刚开始使用一个较大的学习率以加快收敛,在较平稳的地方采用较小的学习率。