如何評價何愷明等新作《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

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