何恺明抛出重磅炸弹!ImageNet并非必要


新智元报道

来源:arxiv

新智元编辑部

【新智元导读】何恺明、Ross Girshick等大神深夜扔出“炸弹”:ImageNet预训练并非必须。大神们使用随机初始化变得到了媲美COCO冠军的结果,无情颠覆“预训练+微调”思维定式——再看此前预训练与此后微调所付出的种种,呜呼哀哉,好不苦矣!

ImageNet 有用吗?

当然有用。

但 ImageNet 预训练却并非必须!

刚刚,何恺明等人在arxiv贴出一篇重磅论文,题为《重新思考“ImageNet预训练”》,让似乎本已经平静的ImageNet湖面,再掀波澜!

Facebook 人工智能研究所何恺明、Ross Cirshick 和 Piotr Dollar 三人在arxiv上贴出最新论文:重新思考ImageNet预训练

过去几年来,使用ImageNet这套大规模数据集进行预训练的视觉模型,对于执行计算机视觉任务而言都是必不可少的存在。虽然并没用多少时间,但人们似乎都默认,计算机视觉任务需要使用ImageNet预训练模型。

然而,何恺明等人却站出来说——

不!

ImageNet 预训练模型并非必须,ImageNet 能做的只是加速收敛,对最终物体检测的精度或实例分割的性能并无帮助

他们使用随机初始化的模型,不借助外部数据,取得了不逊于COCO 2017冠军的结果。

大神不愧为大神——此前我们预训练ImageNet模型再辛辛苦苦微调,都是为了什么?!

不用ImageNet预训练,随机初始化就能媲美COCO冠军!

何恺明等人研究表明,在COCO数据集上进行随机初始化训练,其效果能做到不次于在ImageNet上进行预训练。

而且,即使只用COCO中10%的训练数据进行训练,依然有可能实现上述结果。

他们还发现,可以在相当于ImageNet规模4倍大的数据集上,使用随机初始化训练,而结果不发生过拟合。

图1:我们在COCO train2017数据集上使用ResNet-50 FPN[26]和GroupNorm[48]训练Mask R-CNN[13],并在val2017数据集上评估边界框AP,通过随机权重或ImageNet预训练初始化模型。我们通过改变学习率降低(准确率提高)的迭代来探索不同的训练计划。从随机初始化训练出来的模型需要更多的迭代来收敛,但是只收敛到一个与finetuning相似的解决方案。

实验表明,ImageNet的预训练在训练的早期加速了收敛,但并不一定提供正则化或提高最终目标任务的精度

具体说,何恺明等人通过实验观察到以下情况:

1、ImageNet预训练方式加快了收敛速度,特别是在训练早期,但随机初始化训练可以在训练一段时间后赶上来。考虑到前者还要进行模型的微调,训练总时间二者大体相当。由于在研究目标任务时经常忽略ImageNet预训练的成本,因此采用短期训练进行的“对照”比较可能会掩盖随机初始化训练的真实表现。

2、ImageNet预训练不能自动提供性能更优的正则化。在使用较少的图像(不到COCO数据集的10%)进行训练时,我们发现必须选择新的超参数进行微调(来自预训练)以避免过度拟合。当用这些同样的超参数进行随机初始化训练时,该模型精度可以达到预训练模型的水平,无需任何额外的正则化处理。

3、当目标任务或指标对空间定位预测更敏感时,ImageNet预训练模型没有表现出任何优势。我们观察到,采用随机初始化训练时,预测性能出现明显改善。我们还发现,采用随机初始化训练的收敛速度也较预训练模型快。直观地说,基于分类任务的类ImageNet的预训练方式,与本地化的敏感目标任务之间的任务间存在鸿沟,这可能会限制预训练模型的优势。

有没有ImageNet预训练,区别真没那么大

作者在论文中写道,他们的结果挑战了ImageNet对依赖任务进行预训练的传统思想,他们的发现将鼓励人们重新思考当前计算机视觉中“预训练和微调”的“范式”。

那么,完全从零开始训练,与使用ImageNet预训练相比,最大的不同在哪里呢?

答案是“时间”。

使用ImageNet做预训练的模型已经具备了边缘、纹理等低级表征,而完全从零开始训练的模型需要迭代更久,因此需要更多的训练时间。

但是,从所需要的训练样本的像素(而非实例数)来看,随机初始化与使用ImageNet预训练,两者其实相差不太多

图2:在所有训练迭代中看到的图像、实例和像素的总数,分别表示预训练+微调(绿色条)vs.随机初始化(紫色条)。我们考虑到ImageNet预训练需要100 epochs,fine-tuning采用2× schedule (∼24 epochs over COCO),随机初始化采用6× schedule (∼72 epochs over COCO)。我们计算ImageNet实例为1 per image (COCO是∼7),和ImageNet像素为224×224,COCO为800×1333。

下图展示了另一个例子,使用随机初始化(深红和深绿)和ImageNet预训练(浅红和浅绿),在多种情况下,两者的结果都是可比的。

区别大吗?

真的没有那么大!

图5:使用Mask R-CNN对不同系统进行随机初始化与预训练的比较,包括:(i)使用FPN和GN的baseline,(ii)使用训练时间多尺度增强的baseline,(iii)使用Cascade RCNN[3]和训练时间增强的baseline,以及(iv)加上测试时间多尺度增强的baseline。上图:R50;下图R101。

此论文实验部分写得非常漂亮,了解详情推荐阅读原文(地址见文末)。

“ImageNet时代完结”,从零开始训练完全可行

何恺明等人在这篇论文中,探讨了以下几点:

  • 无需更改架构,就能对目标任务进行从头开始的训练。
  • 从头开始训练需要更多的迭代,以充分收敛。
  • 在许多情况下,从头开始的训练并不比ImageNet预训练的同个模型差,甚至在只有10k COCO图像的情况下也是如此。
  • ImageNet预训练加速了目标任务的收敛。
  • ImageNet预训练不一定有助于减少过拟合,除非数据量真的非常小。
  • 如果目标任务对定位比对分类更敏感,那么ImageNet预训练的帮助较小。

从目前的文献来看,这些结果是令人惊讶的,并对当前凡是计算机视觉任务就先拿ImageNet来预训练的做法不啻一记当头棒喝。

这些结果表明,当没有足够的目标数据或计算资源来对目标任务进行训练时,ImageNet预训练方式是一种基于“历史”的解决方法(并且可能会持续一段时间)

现在看,ImageNet标注方便、应用广泛,似乎是“免费”资源,拿来用即可。

但不是的,抛开构建ImageNet花费了多少人力物力和时间不说,对于某些任务而言,如果目标数据与ImageNet相差太大,用在微调ImageNet预训练模型上的时间和精力,还不如直接从头开始训练。

这项工作也并非要我们彻底抛弃预训练模型,而是表明(至少视觉检测任务)除了用 ImageNet 预训练之外,还存在另一种训练方式,从零开始训练也完全可以。

这篇论文贴出来没多久,知乎上便出现了讨论“如何评价何恺明等 arxiv 新作 Rethinking ImageNet Pre-training?”

截止发稿前,点赞最高的回答来自中科院计算所博士“王晋东不在家”:

我不是排斥使用ImageNet pretrained network,我只是觉得,应该找一些领域,让ImageNet真正有用。不妨试试用这些预训练好的网络去进行医学图像分类、极端图像(低分辨率、逆光、精细图像、卫星)分类,这才是ImageNet的正确价值。 不过,欣喜的是,也有一批采用了浅层网络,或者是加入对抗机制的浅层网络,在最近的顶会上有所突破。 不能一直随大流,是时候重新思考了。

另一位计算机视觉从业者mileistone也表示:

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

何恺明等人认为,他们的论文和实验表明,随机初始化也有可能生成媲美COCO冠军的结果,正因如此,计算机视觉从业者才更应该慎待预训练特征。

计算机视觉的通用表征,仍然值得我们去追求。

论文地址:https://arxiv.org/pdf/1811.08883.pdf

知乎讨论:https://www.zhihu.com/question/303234604/answer/536820942

原文发布于微信公众号 - 新智元(AI_era)

原文发表时间:2018-11-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技评论

学界 | 如何用未标注样本解决单标注样本下的视频行人重识别问题?

本文作者为悉尼科技大学博士生武宇(Yu Wu),他根据 CVPR 2018 录用论文 Exploit the Unknown Gradually: One-Sh...

951
来自专栏人人都是极客

Peter教你谈情说AI | 06朴素贝叶斯分类器

第五节开始我们谈到回归问题和分类问题,其中回归问题可以用梯度下降法求出其模型,那么分类模型可以通过什么方法可以求出呢?

1251
来自专栏算法channel

BAT面试题3:请问GBDT和XGBoost的区别是什么?

接下来,每天推送一道BAT的面试题,一般问到的这些知识点都是很重要的,所以知道的就再复习一下,不知道的希望这篇可以帮助到你。日积月累,你会在不知不觉中就步入机器...

4252
来自专栏量子位

刷剧不忘学CNN:TF+Keras识别辛普森一家人物 | 教程+代码+数据集

王小新 编译自 Medium 量子位 出品 | 公众号 QbitAI Alexandre Attia是《辛普森一家》的狂热粉丝。他看了一系列辛普森剧集,想建立一...

3295
来自专栏魏晓蕾的专栏

【机器学习】CS229课程笔记notes2翻译-Part IV生成学习算法

      到目前为止,我们主要谈论建模p(y|x;θ)的学习算法,给定x的y的条件分布。例如,logistic回归建模p(y|x;θ)为hθ(x)=g(θTx...

2496
来自专栏机器学习和数学

[编程经验] TensorFlow实现非线性支持向量机

上一次说的是线性支持向量机的原理和tf实现问题,把SVM的原理简单用公式推导了一下,SVM这块还有几个问题没有解释,比如经验风险,结构风险,VC维,松弛变量等。...

4807
来自专栏数据派THU

独家 | 25道SVM题目,测一测你的基础如何?(附资源)

在某种意义上,你可以把机器学习算法看作有很多刀剑的军械库。里边有各种各样的工具,你要做的,就是得学会在对的时间使用对的工具。举个例子,如果把“回归”看作是一把剑...

2232
来自专栏机器之心

训练深度神经网络失败的罪魁祸首不是梯度消失,而是退化

2395
来自专栏AI派

【技术综述】你真的了解图像分类吗?

图像分类是计算机视觉中最基础的任务,基本上深度学习模型的发展史就是图像分类任务提升的发展历史,不过图像分类并不是那么简单,也没有被完全解决。

1711
来自专栏AlgorithmDog的专栏

强化学习系列之五:价值函数近似

目前,我们已经介绍了一些强化学习的算法,但是我们无法在实际问题中运用这些算法。 为什么呢?因为算法估算价值函数 (v(s)) 或者 (q(...

5099

扫码关注云+社区

领取腾讯云代金券