设置Faster R-CNN的学习率

时间:2019-03-06 21:22:23

标签: deep-learning object-detection loss-function object-detection-api faster-rcnn

我用5K自定义图像训练了50K步的Faster R-CNN(ResNet101,在MS COCO上进行了预训练)。我使用SGD的势头(0.9)。 对于10K步,学习率是0.0003,然后对于20K步,我将学习率降低到0.00003,最后,对于最后20K步,我将其设置为0.00003。它收敛了,但是损失并没有降到0.2以下。

现在,我将向训练集中添加17K图像,以训练50K更多步骤,并继续训练同一模型。当我引入更多数据时,由于模型需要学习新引入的数据,因此我想提高学习率,然后又降低。

但是,在提高学习速度之后,损失增加了(如预期的那样),即使我降低了学习速度,也从未降低。它变得平坦,但不会减少...同时,mAP增大或稳定。

我不知道如何让模型先探索然后收敛。如果我长时间保持较高的学习率,那么损失永远不会减少。如果不增加它,那么我将陷入局部最小值,并且看不到新数据点的影响。

我尝试过:

  1. 初始LR:0.0003(每10K步),0.00003(每20K步),0.000003(每步) 2万步
  2. init LR:10步为0.0001,20K步为0.00003, 0.000003(20K步)
  3. 初始LR:5步为0.0001,25K步为0.00003,20K步为0.000003
  4. 初始化LR:2500步为0.0001, 0.00003(27500步),0.000003(20K步)
  5. 初始化LR:0.0003(每30K步),0.00003(每10K步),0.000003(每20K步)

我也尝试过亚当,但是表现很差。我不知道为什么,但是那一定是因为任何物体检测文件都不使用亚当,而是使用带有动量的SGD

0 个答案:

没有答案
相关问题