我用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增大或稳定。
我不知道如何让模型先探索然后收敛。如果我长时间保持较高的学习率,那么损失永远不会减少。如果不增加它,那么我将陷入局部最小值,并且看不到新数据点的影响。
我尝试过:
我也尝试过亚当,但是表现很差。我不知道为什么,但是那一定是因为任何物体检测文件都不使用亚当,而是使用带有动量的SGD