Rethinking ImageNet Pre-training

原文鏈接:https://arxiv.org/abs/1811.08883

摘要

在COCO數(shù)據(jù)集上面做物體檢測(object detection)和實(shí)例分割(instance segmentation)的時候氛魁,我們發(fā)現(xiàn)通過使用隨機(jī)初始化來從頭開始訓(xùn)練模型得到的結(jié)果趟庄,并沒有比那些從ImageNet上面預(yù)訓(xùn)練搏色,然后再微調(diào)的模型得到的結(jié)果要差霹俺,當(dāng)然伴隨了訓(xùn)練迭代次數(shù)增加以及可能不收斂的缺點(diǎn)议惰。令人驚奇的是,這種訓(xùn)練方式是魯棒的寇荧,訓(xùn)練得到的結(jié)果在很多場合下都是成立的最易,例如i)僅僅使用百分之10的訓(xùn)練數(shù)據(jù)ii)更深更寬的模型iii)多種評判標(biāo)準(zhǔn)下的多任務(wù)模型粒没。實(shí)驗(yàn)結(jié)果表明:使用ImageNet預(yù)訓(xùn)僅僅在訓(xùn)練早期可以加速收斂,但是并不能提高最鐘任務(wù)的準(zhǔn)確度爽撒。這些發(fā)現(xiàn)引導(dǎo)著大家重新思考一下“pretraining and fine-tuning”這種在計(jì)算機(jī)視覺任務(wù)中的范式(de facto paradigm )


背景介紹:

大家發(fā)現(xiàn)入蛆,使用ImageNet來預(yù)訓(xùn)練一個模型,模型學(xué)到的特征表達(dá)能力能夠很好地遷移到我們需要的任務(wù)上硕勿。因?yàn)椋@種訓(xùn)練方式也成為了一個固定的范式:就是在大規(guī)模數(shù)據(jù)上(例如ImageNet)預(yù)訓(xùn)練好模型源武,然后再自己特定的任務(wù)上微調(diào)(Fine-tuning)。這種預(yù)訓(xùn)練的方式也已經(jīng)在很多任務(wù)上取得了較好的結(jié)果粱栖,包括物體檢測话浇,圖像分割和動作識別。

因此這篇paper主要來重新思考一下闹究,我們是否一定需要使用這種 pretraining and fine-tuning 這一固定的范式。我們的實(shí)驗(yàn)結(jié)果表明:使用隨機(jī)初始化來從頭開始訓(xùn)練我們的模型赏寇,一樣可以得到較好的結(jié)果砂代。我們發(fā)現(xiàn),如果i)使用初始化技巧來加速擬合2)能夠有足夠長的時間來幫助訓(xùn)練刻伊,我們并沒有什么障礙來從頭開始訓(xùn)練我們的模型。

接著智什,本文證明了對于各種AP(Average Precision) 在40-50上面的baseline 網(wǎng)絡(luò)丁屎,參數(shù)隨機(jī)初始化的訓(xùn)練方式可以與在imagenet預(yù)訓(xùn)練的方式媲美。更進(jìn)一步晨川,我們同時發(fā)現(xiàn)共虑,在我們僅僅使用10%的數(shù)據(jù)時,這種結(jié)論依舊成立妈拌。同時,我們在沒有過擬合的情況下猜惋,還能夠從頭開始訓(xùn)練4倍于ResNet參數(shù)的網(wǎng)絡(luò)』捍埽基于以上的實(shí)驗(yàn),我們得出下列結(jié)論:

1. ImageNet 預(yù)訓(xùn)練可以加速網(wǎng)絡(luò)收斂雹洗,在訓(xùn)練早期尤為明顯卧波。這是主要因?yàn)椋S機(jī)初始化訓(xùn)練需要一定的時間來學(xué)習(xí)提起low -level的特征(例如邊緣螃成,紋理)

2. ImageNet 預(yù)訓(xùn)練并不能自動地給模型一個好的正則項(xiàng)查坪。在pretrain的實(shí)驗(yàn)中,當(dāng)減少數(shù)據(jù)至10%的時候偿曙,我們必須重新選在超參數(shù)來防止過擬合望忆。但是這種問題在隨機(jī)初始化中,就沒有出現(xiàn)启摄。

3. ImageNet 預(yù)訓(xùn)練對那些 對于空間位置非常敏感的任務(wù)并沒有太大的用處。主要問題在于ImageNet 預(yù)訓(xùn)練是用來做分類任務(wù)傅是,而物體檢測還需要輸出空間位置坐標(biāo)蕾羊。


算法原理:

這篇paper的主要目的是看看ImageNet 預(yù)訓(xùn)練到底在網(wǎng)絡(luò)的訓(xùn)練中起到什么樣的作用。因此溃斋,網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì)不是我們的重點(diǎn)吸申。我們基于一些通用的網(wǎng)絡(luò),并做出最小的改動來進(jìn)行我們的對比實(shí)驗(yàn)梳侨。以下是一些改動設(shè)計(jì)和算法考量

1.? 標(biāo)準(zhǔn)化(Normalization)

BN(batch Normalization)是一種常見的標(biāo)準(zhǔn)化方式日丹,基于BN的網(wǎng)絡(luò)設(shè)計(jì)能夠加速網(wǎng)絡(luò)訓(xùn)練以及擬合。物體檢測需要大size的圖像作為輸入丙躏,受限于顯卡的顯存束凑,就只能降低batch-size,降低batch-size 則會降低模型的準(zhǔn)確度汪诉。如果使用imagenet 預(yù)訓(xùn)練的方式扒寄,可以避開這種問題,但是隨機(jī)初始化訓(xùn)練則需要從頭開始使用BN该编。

本文主要采用以下兩種方式來減少小batch-size帶來的問題:

(1)GN(Group Normalization)-GN是介于LN(layer normalization)和IN(instance normalization)之間的一種標(biāo)準(zhǔn)化方式

(2)SyncBN:這是一種多機(jī)多卡分布式的一種方式课竣。通過多塊GPU來增加batch-size

2. 收斂

關(guān)于收斂的問題,如果我們希望從零開始隨機(jī)初始化訓(xùn)練我們的算法所需的時間稠氮,要小于那個使用ImageNet預(yù)訓(xùn)練初始化所需的時間,這是不現(xiàn)實(shí)也是不公平的赃份。如果忽視這個事實(shí)奢米,那我們很可能得到的是不正確的結(jié)論。

典型的ImageNet 預(yù)訓(xùn)練涉及到了百萬張圖像的上百個epoch的迭代訓(xùn)練谒拴。這種大規(guī)模的學(xué)習(xí)過程除了能夠?qū)W到高階語義信息之外涉波,還能夠?qū)W到一些低階的圖像的特征炭序。因此苍日,在fine-tuning的時候就不需要重新學(xué)習(xí)這些低階的圖像特征描述了相恃。因此,我們在比較兩個收斂速度的時候拦耐,需要選取那些訓(xùn)練周期較長的model。(trained for longer than typical fine-tuning schedules).


從Images 這一欄對比可以看出扫俺,除去ImageNet預(yù)訓(xùn)練的固定100epoch牵舵,隨機(jī)初始化訓(xùn)練(72epoch)是fine-tuning(24epoch)的三倍倦挂。盡管使用了較多的iteration,但是如果我們從image-level sample的角度來看方援,其ImageNet預(yù)訓(xùn)練固定的100epoch占了大頭犯戏。但是如果我們從pixel-level的角度來看,因?yàn)閛bject detection task 需要大size的輸入先匪,而image classification不需要那么大的輸入尺寸。實(shí)驗(yàn)結(jié)果表明坚俗,從頭開始隨機(jī)初始化訓(xùn)練的方式能夠趕上ImageNet預(yù)訓(xùn)練的訓(xùn)練方式岸裙。這就暗示了如果想要從頭開始隨機(jī)初始化訓(xùn)練這種方式收斂的話, 就需要大量的數(shù)據(jù)(就pixel-level的數(shù)據(jù)而言)

實(shí)驗(yàn)設(shè)置

我們盡量遵循最小改動這個標(biāo)準(zhǔn)來去設(shè)計(jì)對照實(shí)驗(yàn)恩闻。主要使用Detectron里面的Mask-RCNN這一基本baseline框架剧董。

1. 網(wǎng)絡(luò)結(jié)構(gòu):以ResNet或者ResNeXt為基礎(chǔ)的Mask-RCNN破停,主要使用GN和SyncBN來取代凍結(jié)BN的操作辱挥。同時Fine-tuning的模型也采用同樣的操作边涕。

2. 學(xué)習(xí)率:在初始學(xué)習(xí)率(比較大的)的情況下長時間的訓(xùn)練對于模型的收斂是有幫助的褂微,但是如果初始學(xué)習(xí)率較小的話,可能就會過擬合式撼。

3. 超參數(shù):所有的超參數(shù)設(shè)置參照Detectron設(shè)置求厕。初始學(xué)習(xí)率為0.02,權(quán)重衰減為0.0001 呀癣,動量參數(shù)值為0.9. 所有的模型訓(xùn)練在8GPU上项栏,batch-size為2.? 對于數(shù)據(jù)增強(qiáng)策略,訓(xùn)練的時候只有水平翻轉(zhuǎn)沼沈,測試沒有增強(qiáng)融合的操作列另。

結(jié)果

1. 準(zhǔn)確率(Accuracy)

第一個令人驚奇的發(fā)現(xiàn)就是僅僅使用coco數(shù)據(jù)集,從頭訓(xùn)練的模型能夠趕得上那個fine-tuning的模型摊滔。

2. 使用少量的數(shù)據(jù)來從頭開始訓(xùn)練模型

第二個發(fā)現(xiàn)就是 使用少量的數(shù)據(jù)來隨機(jī)初始化訓(xùn)練的模型的結(jié)果拷姿,不比那些imageNet預(yù)訓(xùn)練的模型得到的結(jié)果要差

最終的討論:

1. 在特定的目標(biāo)任務(wù)上,從頭開始訓(xùn)練一個深度神經(jīng)網(wǎng)絡(luò)是可行的

2. 從頭開始訓(xùn)練網(wǎng)絡(luò)需要更久的訓(xùn)練時間來讓網(wǎng)絡(luò)收斂

3. 即使在只有10K的coco數(shù)據(jù)集上面來從頭開始訓(xùn)練描滔,得到的結(jié)果也不必fine-tuning的差

4. ImageNet 預(yù)訓(xùn)練的方式可以加速網(wǎng)絡(luò)收斂

5. ImageNet 預(yù)訓(xùn)練并不會減少網(wǎng)絡(luò)的過擬合現(xiàn)象踪古,除非我們真的有一批很小的數(shù)據(jù)集(PS:例如醫(yī)學(xué)圖像)

6. 在一些對于空間位置比較敏感的task中(例如定位這些)券腔,ImageNet 預(yù)訓(xùn)練對網(wǎng)絡(luò)訓(xùn)練的幫助不如classification多

基于上述的發(fā)現(xiàn)拘泞,作者給出了一些關(guān)于ImageNet 預(yù)訓(xùn)練的常見問題的解答陪腌,希望引導(dǎo)大家對于imagenet pretraining有著更多的考量。

1. ImageNet 預(yù)訓(xùn)練真的是必要的嗎诗鸭?-----回答是NO!在你有足夠的數(shù)據(jù)和計(jì)算資源的情況下

2. ImageNet 預(yù)訓(xùn)練真的有幫助嗎锻弓?------回答是Yes蝌箍!ImageNet 預(yù)訓(xùn)練提供了一個較好的參數(shù)初始化方式,輕而易舉的獲得較好的結(jié)果杂拨,減少了迭代次數(shù)本橙,加速了網(wǎng)絡(luò)收斂,降低了訓(xùn)練時間贷币。

3. 是否我們需要收集Big Data---回答是Yes亏狰!但是如果僅僅是視覺的分類任務(wù),就沒有必要了促脉。ImageNet pretraining是一個很好的工具

我們是否應(yīng)該追求一個真正意義上的通用的特征表達(dá)表征能力策州?---回答是Yes!

In closing, ImageNet and its pre-training role have been incredibly influential in computer vision, and we hope that our new experimental evidence about ImageNet and its role will shed light into potential future directions for the community to move forward.

PS:? 對于醫(yī)學(xué)AI 分割而言旁仿,數(shù)據(jù)集真的是太小了孽糖、例如血管分割DRIVE 數(shù)據(jù)集只有幾十張圖像毅贮,cell segmentation 最初也只提供了30張圖像尘奏,因此醫(yī)學(xué)圖像的分割task里面帶有g(shù)round truth的數(shù)據(jù)真是太少炫加、太珍貴了。

因?yàn)閿?shù)據(jù)量比較少俗孝,所以我們現(xiàn)在在用ImageNet 來預(yù)訓(xùn)練我們的模型,來提取一些基本的圖像特征,但是這些特征是否真的對我們的醫(yī)學(xué)圖像有用呢柬甥?醫(yī)學(xué)圖像有以下幾個特點(diǎn):

圖像分辨率高其垄,彩色眼底圖4k*5K,而病灶特征很小臂外,例如微動脈血管瘤只占有幾十個像素

不同成像方式帶來的圖像格式不一喇颁。除了上述的color fundus, 還有CT蔫浆,MRI姐叁,OCT這些。每一種成像方式帶來的圖像噪聲風(fēng)格都是不一樣的原环。即使是同一種類型的數(shù)據(jù)处窥,例如OCT,Topcon的機(jī)器和 Heidelberg的機(jī)器拍出來的圖像也不一樣(即使同樣屬于speckle noise)柜与。

不同醫(yī)生標(biāo)注的ground truth之間的誤差比較大

帶有醫(yī)生準(zhǔn)確標(biāo)注的數(shù)據(jù)量很少

因此,醫(yī)學(xué)圖像分割是否使用imageNet pretraining 也是我們需要仔細(xì)考慮的問題颅悉。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末迁匠,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子延曙,更是在濱河造成了極大的恐慌亡哄,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件愿卸,死亡現(xiàn)場離奇詭異趴荸,居然都是意外死亡宦焦,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進(jìn)店門酝豪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來舔痪,“玉大人,你說我怎么就攤上這事夺英∽檀罚” “怎么了?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵载萌,是天一觀的道長。 經(jīng)常有香客問我垮衷,道長乖坠,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任仰迁,我火速辦了婚禮徐许,結(jié)果婚禮上卒蘸,老公的妹妹穿的比我還像新娘。我一直安慰自己澄步,他們只是感情好和泌,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布祠肥。 她就那樣靜靜地躺著仇箱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪剂桥。 梳的紋絲不亂的頭發(fā)上权逗,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天,我揣著相機(jī)與錄音师坎,去河邊找鬼堪滨。 笑死,一個胖子當(dāng)著我的面吹牛遏乔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播盟萨,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼鸯旁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了艇挨?” 一聲冷哼從身側(cè)響起韭赘,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤泉瞻,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后袖牙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡司忱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年坦仍,在試婚紗的時候發(fā)現(xiàn)自己被綠了叨襟。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片糊闽。...
    茶點(diǎn)故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖汽纠,靈堂內(nèi)的尸體忽然破棺而出傀履,到底是詐尸還是另有隱情莉炉,我是刑警寧澤碴犬,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布服协,位于F島的核電站,受9級特大地震影響偿荷,放射性物質(zhì)發(fā)生泄漏跳纳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一艾蓝、第九天 我趴在偏房一處隱蔽的房頂上張望斗塘。 院中可真熱鬧,春花似錦馍盟、人聲如沸贞岭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽休讳。三九已至俊柔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間雏婶,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工酵紫, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留奖地,地道東北人。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓仰楚,卻偏偏與公主長得像犬庇,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子臭挽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評論 2 359

推薦閱讀更多精彩內(nèi)容