论文:Rethinking ImageNet Pre-training
Github:https://github.com/facebookresearch/Detectron
恺明大神一作的论文,必读的论文。
贡献:
- ImageNet 预训练可以加速收敛,尤其是在训练早期,但是随机初始化训练在经过更多次的迭代后,也可以达到相同的精度。
- ImageNet 预训练并没有增加更好的正则化
- ImageNet 预训练对于检测任务没有任何帮助
论文颠覆了传统的预训练,微调的思想,然后提出了随机初始化训练也可以达到同样的精度。并实验进行了验证。包括下面3种方式都取得了和预训练一样的精度。
- 只使用10%的训练数据
- 使用更深更宽的模型
- 多任务训练和度量
2点训练改进:
- 使用Group Normalization (GN) 归一化方法,因为对于检测任务的训练,每个显卡能吃的图片很少,BN对batchsize要求较大,但是GN对batchsize不敏感。
- 使用异步BN,Synchronized Batch Normalization (SyncBN) ,将多机器多卡的图片计算BN。
实验结果:
总结:
- 不需要网络结构的改变,就可以在目标任务上随机初始化训练
- 随机初始化训练需要更多的迭代才能保证收敛
- 即使只使用1/10的训练数据,训练结果精度也不会比使用ImageNet预训练的结果精度要差
- ImageNet预训练可以加快在目标任务的收敛
- ImageNet预训练不能减少过拟合,除非在很少的目标数据集上
- ImageNet预训练对分类任务比对检测任务帮助的多
- Is ImageNet pre-training necessary? No
- Is ImageNet helpful? Yes
- Do we need big data? Yes
- Shall we pursuit universal representations? Yes