一、论文
(19)Bag of Freebies for Training Object Detection Neural Networks
https://arxiv.org/abs/1902.04103
code: https://github.com/dmlc/gluon-cv
二、论文笔记
1、背景
(1)、简单的有效的训练方式,就可以再不增加任何inference时间的情况下,提升最好的模型的接近5个点。
2、创新点
(1)、mixup
分类任务中:减轻对抗性干扰,是网络具有识别像素简单 线性叠加的能力
label 也要随着像素叠加的权重变为多重的label
目标检测中:保留图片原有的几何形状,目标检测的图片中本来就存在很多的遮挡,叠加在一起的情况,并且叠加比例(比如0.6,即其中一个图像用0.6,另一个用0.4)使用参数为B(1.5, 1.5)的 贝塔分布效果会更好,更符合实际情景。
分布曲线:
(2)、Label Smoothing
正则化的一种形式
作用:降低过拟合???
(3)、数据增强
a)、随机几何变换(但是在两阶段的方法中,由于包含产生ROI的过程,以及根据ROI在feature map上裁剪的操作,所以不再需要裁剪增强)
b)、随机颜色抖动
(4)、学习率修改策略
a)、Warmup learning rate
避免梯度爆炸
b)、cosine learning rate adjustment:因为学习速率调整的频率较高,它还较少受到阶跃衰变的平台现象的影响,即验证性能将被延迟一段时间,直到学习速率降低为止。
传统降低学习率的方法是step schedule,具有快速的学习速率转换,这可能导致优化器在接下来的几次迭代中重新稳定学习动量。
对比图:
(5)、跨卡BN层计算
(6)、Random shapes training
3、细节
(1)、空间变化数据增强对于一阶段的目标检测算法至关重要
(2)、跨卡BN层计算,对于分类任务(每张卡上可以放很多图片的任务来说影响很小),但是对于目标检测这种显存占比非常大,每张GPU上只能放很少几张图片的任务来说很重要。