【网络训练】网络训练时loss不下降的原因

 

1. 网络训练时train loss与test loss的结果分析:

(1) train loss不断下降,test loss不断下降
    可能发生的原因: 网络还在学习中,loss在稳步下降。
(
2) train loss不断下降,test loss趋于不变 可能发生的原因: 网络出现过拟合的现象,因此在训练集上表现为网络仍在学习,但是test loss趋于不变说明网络泛化能力差。
(
3) train loss趋于不变,test loss不断下降 可能发生的原因: 数据集100%是有问题的。
(
4) train loss趋于不变,test loss趋于不变 可能发生的原因: loss开始在某一值附近不断振荡,说明网络学习遇到瓶颈,此时应该减小学习率或者减小batch size的大小。
(
5) train loss不断上升,test loss不断上升 可能发生的原因: 网络结构的设计有问题; 训练时超参数的设置有问题; 数据集没有经过清洗。

 

2. 出现loss不下降的问题时检查:

(1)数据

  •  数据本身以及label是否有异常
  •  数据是否过于脏乱,没有经过清洗
  • 数据输入是否有问题,比如图片与label是否一致
  • 数据经过预处理后,是否丢失特征或者因预处理而出现别的问题
  •  数据量是否过少,网络出现过拟合的现象

(2)超参数的设置

  •  学习率的设置是否有问题: 学习率过小可能会导致loss下降缓慢,学习率过大可能会导致loss振荡不下降
  •  batch size设置是否有问题: batch size如果设置过小,在数据不太好的情况下也会出现loss振荡的现象

 

 

posted @ 2019-04-03 17:06  EddiePing  阅读(8387)  评论(0编辑  收藏  举报