如何评价何恺明等新作《Rethinking ImageNet Pre-training》

前戏

昨天(2018-11-22) 逛arXiv的时候,发现了很cool的标题《Rethinking ImageNet Pre-training》,细看一下作者。哇,这不是何恺明idol么!哇塞,这不是Ross Girshick(R-CNN系列作者)么!

FAIR出品,必是精品!赶紧观摩一下大佬们的文章~

arXiv:https://arxiv.org/abs/1811.08883

摘要

先看看原滋原味的英文版:

We report competitive results on object detection and instance segmentation on the COCO dataset using standard models trained from random initialization. The results are no worse than their ImageNet pre-training counterparts even when using the hyper-parameters of the baseline system (Mask R-CNN) that were optimized for fine-tuning pre-trained models, with the sole exception of increasing the number of training iterations so the randomly initialized models may converge. Training from random initialization is surprisingly robust; our results hold even when: (i) using only 10% of the training data, (ii) for deeper and wider models, and (iii) for multiple tasks and metrics. Experiments show that ImageNet pre-training speeds up convergence early in training, but does not necessarily provide regularization or improve final target task accuracy. To push the envelope we demonstrate 50.9 AP on COCO object detection without using any external data---a result on par with the top COCO 2017 competition results that used ImageNet pre-training. These observations challenge the conventional wisdom of ImageNet pre-training for dependent tasks and we expect these discoveries will encourage people to rethink the current de facto paradigm of `pre-training and fine-tuning' in computer vision.

Amusi 精简一下理解是:

在目标检测和实例分割任务上,先在ImageNet上预训练(pre-training)其实对于提高精度来说并不必要,随机初始化一样可以很NB,大不了多迭代训练会儿。

论文中的图示,注意random init和pre-train两条线的走势,一开始pre-train很有优势,毕竟是在ImageNet上跑过,但增大iterations,

问:为什么图中有五处地方的准确率快速上升?

至于为什么,建议自己细读体会一下~

知乎话题:

如何评价何恺明等 arxiv 新作 Rethinking ImageNet Pre-training?

论文标题带有rethinking就体现工作之处,论文有多赞,看知乎上的热议就明白了。下面推荐几个Amusi 认为精彩的回答,作者如果认为是侵权,会配合删文。

作者:如今我已剑指天涯 链接:

https://www.zhihu.com/question/303234604/answer/536625745

感觉最后的结论就是: 在数据量足够和训练iterations足够的情况下,image-net pretrain不会对最后的performance有帮助,但是会加速收敛(需要用GN或Sync BN); 数据量不够的话是需要image-net pretrain的如cityscapes或者voc.

作者:mileistone

链接:

https://www.zhihu.com/question/303234604/answer/536820942

我之前写的《目标检测网络train from scratch问题》跟这篇论文观点不谋而合。之前我认为目标检查网络能train from scratch的关键是one stage结构和训练充分。恺明这篇论文实验证实,one stage结构都不必。

目标检测网络train from scratch问题

恺明这篇文章直接终结了“train from scratch”问题,大神就是大神,一击命中。结论简单,约束又少。

深度学习领域理论发展慢于应用,像“train from scratch”类似的common practice很多,这些common practice很多没有理论支撑,我们也没法判断有没有道理,我们只知道大家都这么用。因为可质疑的地方太多了,我们很容易失去独立思考的能力。

希望更多的“rethink”文章出来,这些文章像鲇鱼一样,持续激发深度学习领域的活力。

作者:Captain Jack

链接:

https://www.zhihu.com/question/303234604/answer/536783979

速读了一遍,可能有遗漏和错误。

论文中的结论:

  1. 重新训练是可行的。
  2. 但是需要更多的迭代。
  3. 根据场景,重新训练可以不比fine-tune的效果差。
  4. fine-tune的方法还是收敛速度快不少。
  5. fine-tune是没有办法减少过拟合的,除非:目标数据集规模很小。
  6. 对于位置敏感的任务,分类的模型fine-tune的作用会变小。

几个技术细节:

  1. 为了重新训练,需要使用Group Normalization或者Synchronized Batch Normalization,因为检测模型太占显存,普通的BatchNorm不能发挥作用。
  2. 对比目标精确位置相关的任务,pre-training没效果,比如Keypoint的任务。
  3. learning rate的设置,需要让大的lr迭代次数更多,因为小lr过多的话,容易过拟合。
  4. 只要训练够多,重新训练的模型各项指标都是可以超过fine-tune的,而fine-tune迭代多了的话,容易过拟合。
  5. 小数据集合,比如VOC(数据集内的目标少很多),fine-tune的还是效果好,目前 *怀疑* 是数据量不足的问题。

自己的观点:

  • 其中的几个结论,实际上基本都是有共识的:
  • 数据集够大的话,就可以不用ImageNet了。
  • 位置敏感的任务,直接的分类模型对具体目标位置是缺少判断的。
  • Fine-tune肯定的是可以加快收敛的。

只是,大部分情况下,没有足够大(或者是质量足够好)的数据集合,能快点fine-tune出模型,谁也不愿意花很长时间等模型收敛。

这个论文和最近读的有关prune的论文,真是有点异曲同工:

Rethinking the Value of Network Pruning

搞那么多花活,还不如简单粗暴多迭代,算力万岁(其实论文的意思要move forward,不要总无脑ImageNet fine-tune,当然,这是指学界)。

作者:王晋东不在家

链接:

https://www.zhihu.com/question/303234604/answer/536713831

既然kaiming大神也注意到了这个问题,我就来聊聊我的看法。

我不是专业研究cv的,但是这个问题或多或少也和我有关。我从一个小弱的角度,来给这几年持续升温的迁移学习泼泼冷水。说得不对的地方,请各位海涵。

迁移学习领域近几年的代表方法,基本上都是深度迁移。很自然地,如同深度学习的评测数据集ImageNet,迁移学习领域也有一些公开的数据集,大多数都是图像分类。为了验证自己方法的有效性,我们争先恐后地刷榜。

所以你就会发现,近几年那些屠榜的深度迁移方法,绝大多数都采用了 ImageNet pretrained 网络,比如AlexNet和ResNet50。

ImageNet数据集的数据量是百万千万级、一千类。

而我们迁移学习的这些实验数据有多少呢:几千张图片、最多几十类。最近一两年的VisDA、Office-Home等数据集才突破了2-3万。

所以看到很多这样的方法,我是蒙圈的~这也太欺负人了吧?大家都是图像,都是生活中的阿猫阿狗家具环境,本来差距就不太大。用一个在百万集图像上预训练好的ResNet-50,来给几千张图片分类?杀鸡焉用牛刀?

然后精度上提升1个百分点,达成了state-of-the-art。再过几个月,另一个新方法,接着提升一小下,第一名又换人了。恕在下直言:搞不好这些微妙提升,都是计算误差。。。

最后还有一个很重要的问题:这样的深度网络怎么调参呢?大家都做的是Unsupervised transfer learning (domain adaptation),而这个情境下,target domain是没有任何label的。迁移学习领域通常只有source和target domain。没有validation set,也没人用过。(我不会告诉你很多其实都是直接在target domain上调参的)

也许 ImageNet pretrained 网络在实际应用中的大数据环境下会有很大的提升吧。毕竟见多识广。

我不是排斥使用ImageNet pretrained network,我只是觉得,应该找一些领域,让ImageNet真正有用。不妨试试用这些预训练好的网络去进行医学图像分类、极端图像(低分辨率、逆光、精细图像、卫星)分类,这才是ImageNet的正确价值。结果应该会很酸爽。

不过,欣喜的是,也有一批采用了浅层网络,或者是加入对抗机制的浅层网络,在最近的顶会上有所突破。

不能一直随大流,是时候重新思考了。

总结

FAIR出品,必是精品!

何恺明出品,必是精品!

《Rethinking ImageNet Pre-training》这篇论文可以带来话题性,也可见论文的角度和意义了,各位CVers可以学起来了!

arXiv:https://arxiv.org/abs/1811.08883

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章