随机初始化参数的模型其训练结果不比预训练模型差(使用了合适的normalization),唯一的不同是增加了训练迭代次数。随机初始化训练具有很好的鲁棒性,甚至在以下情况仍然成立:
- 仅适用10%训练数据
- 用于更深和更宽的模型
- 用于多任务和多指标
结论
随机初始化的模型在训练一段时间后就要赶上预训练模型,其时间=预训练模型训练时间+微调时间。
预训练模型不能提供更好的正则化,当训练数据较少时,发现必须选择新的超参数进行微调(微调初始参数来自预训练),以避免过拟合。当使用这些相同的超参数进行随机初始化训练时,即使只有10%的COCO数据,模型也可以在不增加任何正则化的情况下与训练前的准确率相匹配。
当目标任务/指标是需要更多使用局部空间信息来进行预测的任务时,ImageNet 预训练方法并没有展现出更强大的地方。我们观察到,当从头开始训练时,高重叠区域的 AP 会明显改善; 我们还发现了需要精准空间定位的关键点 AP,从头开始收敛速度相对较快。直观地说,基于分类的,类似 ImageNet 图片集的预训练任务和对局部敏感的目标任务,三者之间的差异可能会限制预训练方法发挥其功能。
正则化
在图像分类任务中,正则化的引入能够辅助模型的优化过程。在以往的研究中,有效的正则化策略包括标准的参数初始(normalized parameter initialization)和激活正则化层(activation normalization layers)。对于目标检测任务,在不采用预训练模型而从头开始训练一个检测器时,往往会面临与从头训练一个分类器相似的问题。
BN是现代网络训练中常用的归一化方法,它在一定程度上造成了从零开始训练检测器的困难。与图像分类器不同,对象检测器通常使用高分辨率输入进行训练。这减少了受内存限制的批处理大小,小批处理大小严重降低了BN的准确性。使用预训练可以避免这个问题,因为微调可以采用预训练批量统计作为固定参数;但是,从零开始训练BN是无效的。
在这项研究中,我们应用最近提出的两种正则化策略,它们能够有助于缓解小批量输入的问题:
- Group Normalization (GN):这是我们最近提出的,作为 BN 的一种替代策略。GN 方法的计算与输入的批量维度无关,因此引用该正则化方法时,模型准确性对输入的批量大小并不敏感。
- Synchronized Batch Normalization (SyncBN): 这是BN 的一种跨设备(GPU) 实现,能够统计多个设备的批量大小情况。当使用多个GPU 时,该正则化方法能够增加BN 的有效批量大小,从而避免小批量输入的问题。
详细解说各种正则化
BN为啥有时会不好
如果Batch Size太小,则BN效果明显下降。
BN是严重依赖Mini-Batch中的训练实例的,如果Batch Size比较小则任务效果有明显的下降。那么多小算是太小呢?下图给