論文地址:Deep Residual Learning for Image Recognition
ResNet——MSRA何凱明團(tuán)隊(duì)的Residual Networks,在2015年ImageNet上大放異彩遍蟋,在ImageNet的classification虚青、detection棒厘、localization以及COCO的detection和segmentation上均斬獲了第一名的成績(jī)下隧,而且Deep Residual Learning for Image Recognition也獲得了CVPR2016的best paper,實(shí)在是實(shí)至名歸何乎。就讓我們來(lái)觀摩大神的這篇上乘之作支救。
ResNet最根本的動(dòng)機(jī)就是所謂的“退化”問(wèn)題各墨,即當(dāng)模型的層次加深時(shí)贬堵,錯(cuò)誤率卻提高了黎做,如下圖:
但是模型的深度加深引几,學(xué)習(xí)能力增強(qiáng)挽铁,因此更深的模型不應(yīng)當(dāng)產(chǎn)生比它更淺的模型更高的錯(cuò)誤率。而這個(gè)“退化”問(wèn)題產(chǎn)生的原因歸結(jié)于優(yōu)化難題更扁,當(dāng)模型變復(fù)雜時(shí),SGD的優(yōu)化變得更加困難溃列,導(dǎo)致了模型達(dá)不到好的學(xué)習(xí)效果听隐。
針對(duì)這個(gè)問(wèn)題雅任,作者提出了一個(gè)Residual的結(jié)構(gòu):
即增加一個(gè)identity mapping(恒等映射)沪么,將原始所需要學(xué)的函數(shù)H(x)轉(zhuǎn)換成F(x)+x禽车,而作者認(rèn)為這兩種表達(dá)的效果相同哭当,但是優(yōu)化的難度卻并不相同,作者假設(shè)F(x)的優(yōu)化 會(huì)比H(x)簡(jiǎn)單的多冗澈。這一想法也是源于圖像處理中的殘差向量編碼钦勘,通過(guò)一個(gè)reformulation,將一個(gè)問(wèn)題分解成多個(gè)尺度直接的殘差問(wèn)題亚亲,能夠很好的起到優(yōu)化訓(xùn)練的效果彻采。
這個(gè)Residual block通過(guò)shortcut connection實(shí)現(xiàn),通過(guò)shortcut將這個(gè)block的輸入和輸出進(jìn)行一個(gè)element-wise的加疊捌归,這個(gè)簡(jiǎn)單的加法并不會(huì)給網(wǎng)絡(luò)增加額外的參數(shù)和計(jì)算量肛响,同時(shí)卻可以大大增加模型的訓(xùn)練速度、提高訓(xùn)練效果惜索,并且當(dāng)模型的層數(shù)加深時(shí)特笋,這個(gè)簡(jiǎn)單的結(jié)構(gòu)能夠很好的解決退化問(wèn)題。
接下來(lái)巾兆,作者就設(shè)計(jì)實(shí)驗(yàn)來(lái)證明自己的觀點(diǎn)蔫磨。
首先構(gòu)建了一個(gè)18層和一個(gè)34層的plain網(wǎng)絡(luò)蒲列,即將所有層進(jìn)行簡(jiǎn)單的鋪疊,然后構(gòu)建了一個(gè)18層和一個(gè)34層的residual網(wǎng)絡(luò),僅僅是在plain上插入了shortcut,而且這兩個(gè)網(wǎng)絡(luò)的參數(shù)量彩匕、計(jì)算量相同,并且和之前有很好效果的VGG-19相比,計(jì)算量要小很多。(36億FLOPs VS 196億FLOPs递惋,F(xiàn)LOPs即每秒浮點(diǎn)運(yùn)算次數(shù)形真。)這也是作者反復(fù)強(qiáng)調(diào)的地方,也是這個(gè)模型最大的優(yōu)勢(shì)所在见咒。
模型構(gòu)建好后進(jìn)行實(shí)驗(yàn),在plain上觀測(cè)到明顯的退化現(xiàn)象胆萧,而且ResNet上不僅沒(méi)有退化虏辫,34層網(wǎng)絡(luò)的效果反而比18層的更好,而且不僅如此佩微,ResNet的收斂速度比plain的要快得多扒俯。
對(duì)于shortcut的方式瑟幕,作者提出了三個(gè)選項(xiàng):
A. 使用恒等映射,如果residual block的輸入輸出維度不一致,對(duì)增加的維度用0來(lái)填充;
B. 在block輸入輸出維度一致時(shí)使用恒等映射园细,不一致時(shí)使用線性投影以保證維度一致鹿寻;
C. 對(duì)于所有的block均使用線性投影皿淋。
對(duì)這三個(gè)選項(xiàng)都進(jìn)行了實(shí)驗(yàn),發(fā)現(xiàn)雖然C的效果好于B的效果好于A的效果,但是差距很小,因此線性投影并不是必需的,而使用0填充時(shí)铲咨,可以保證模型的復(fù)雜度最低,這對(duì)于更深的網(wǎng)絡(luò)是更加有利的粹湃。
進(jìn)一步實(shí)驗(yàn),作者又提出了deeper的residual block:
這相當(dāng)于對(duì)于相同數(shù)量的層又減少了參數(shù)量壳猜,因此可以拓展成更深的模型统扳。于是作者提出了50、101畅姊、152層的ResNet咒钟,而且不僅沒(méi)有出現(xiàn)退化問(wèn)題朱嘴,錯(cuò)誤率也大大降低,同時(shí)計(jì)算復(fù)雜度也保持在很低的程度。
這個(gè)時(shí)候ResNet的錯(cuò)誤率已經(jīng)把其他網(wǎng)絡(luò)落下幾條街了资柔,但是似乎還并不滿足羹与,于是又搭建了更加變態(tài)的1202層的網(wǎng)絡(luò),對(duì)于這么深的網(wǎng)絡(luò)西傀,優(yōu)化依然并不困難,但是出現(xiàn)了過(guò)擬合的問(wèn)題桶癣,這是很正常的拥褂,作者也說(shuō)了以后會(huì)對(duì)這個(gè)1202層的模型進(jìn)行進(jìn)一步的改進(jìn)。(想想就可怕鬼廓。)
在文章的附錄部分肿仑,作者又針對(duì)ResNet在其他幾個(gè)任務(wù)的應(yīng)用進(jìn)行了解釋,畢竟獲得了第一名的成績(jī)碎税,也證明了ResNet強(qiáng)大的泛化能力尤慰,感興趣的同學(xué)可以好好研究這篇論文,是非常有學(xué)習(xí)價(jià)值的雷蹂。
原文鏈接:http://blog.csdn.net/wspba/article/details/56019373