“Deep Residual Learning for Image Recognition” 閱讀筆記
論文作者:Kaiming He? Xiangyu Zhang? Shaoqing Ren?Jian Sun
本文作者:陳銘林 吳宗翰 伍海濤
概述
????本文是論文”Deep Residual Learning for Image Recognition”的閱讀筆記仪缸,原論文可以從這里(https://arxiv.org/abs/1512.03385)找到,Caffe版本的代碼可以從這里(https://github.com/KaimingHe/deep-residual-networks)找到海铆。
????該筆記主要從以下幾個(gè)方面來(lái)說(shuō)明論文內(nèi)容:殘差學(xué)習(xí)解決的問(wèn)題庄萎、殘差學(xué)習(xí)基本思想以及結(jié)構(gòu)踪少、殘差網(wǎng)絡(luò)結(jié)構(gòu)。
一糠涛、問(wèn)題提出
????深度卷積網(wǎng)絡(luò)近幾年來(lái)在圖像分類任務(wù)上取得了巨大突破援奢,它是通過(guò)綜合中、低忍捡、高層特征以及分類器來(lái)形成的集漾,很多實(shí)驗(yàn)結(jié)果表明,網(wǎng)絡(luò)深度對(duì)于性能來(lái)說(shuō)是及其重要的砸脊,通過(guò)增加層數(shù)(即加深網(wǎng)絡(luò))可以豐富網(wǎng)絡(luò)學(xué)習(xí)到的特征帆竹。那么現(xiàn)在有個(gè)問(wèn)題:是不是簡(jiǎn)單地通過(guò)加深網(wǎng)絡(luò)就可以獲得更好的性能?當(dāng)網(wǎng)絡(luò)加深時(shí)脓规,容易造成由梯度消失和梯度爆炸引起的網(wǎng)絡(luò)不收斂問(wèn)題,然而這個(gè)問(wèn)題可以通過(guò)Normalized Initialization和Intermediate Normalization Layers來(lái)解決险领。但是當(dāng)網(wǎng)絡(luò)能夠收斂時(shí)侨舆,該論文發(fā)現(xiàn)了另外一個(gè)問(wèn)題,網(wǎng)絡(luò)退化(degradation)绢陌,也就是說(shuō)挨下,當(dāng)網(wǎng)絡(luò)深度加深時(shí),網(wǎng)絡(luò)精度會(huì)趨于飽和脐湾,而這種現(xiàn)象并不是由過(guò)擬合造成的臭笆。
????對(duì)于同一個(gè)訓(xùn)練數(shù)據(jù)集,深層網(wǎng)絡(luò)準(zhǔn)確率理論上不會(huì)比淺層網(wǎng)絡(luò)低秤掌,因?yàn)閷?duì)于任何一個(gè)淺層網(wǎng)絡(luò)愁铺,深層網(wǎng)絡(luò)可以構(gòu)造出這樣一個(gè)解使得它和淺層網(wǎng)絡(luò)是一樣的:深層網(wǎng)絡(luò)多出來(lái)的層是恒等變換,剩下的層與淺層網(wǎng)絡(luò)相同闻鉴。然而茵乱,該論文在CIFAR-10、ImageNet數(shù)據(jù)集上做實(shí)驗(yàn)得到了違反直覺(jué)的結(jié)果:網(wǎng)絡(luò)越深孟岛,訓(xùn)練誤差越大瓶竭。論文指出這是由優(yōu)化器造成的督勺。
????為了解決網(wǎng)絡(luò)退化問(wèn)題,該論文提出了深度殘差學(xué)習(xí)框架(a deep residual learning framework)斤贰。
二智哀、殘差學(xué)習(xí)
????假設(shè)H(x)是一些層需要擬合的函數(shù),該論文提出利用這些層來(lái)擬合F(x)=H(x)-x荧恍,而不是直接擬合H(x)瓷叫。為什么選擇學(xué)習(xí)殘差函數(shù)呢?主要原因有以下兩點(diǎn):
????1块饺、如果多個(gè)非線性層能夠擬合復(fù)雜函數(shù)H(x)赞辩,那么它就能夠擬合F(x),雖然相同的非線性層在擬合能力上相同授艰,但是學(xué)習(xí)難易程度有所不同辨嗽,論文指出優(yōu)化器更容易優(yōu)化殘差函數(shù)。
????2淮腾、網(wǎng)絡(luò)退化問(wèn)題說(shuō)明了優(yōu)化器在優(yōu)化非線性層擬合恒等函數(shù)時(shí)會(huì)有困難糟需,而當(dāng)擬合殘差函數(shù)時(shí),如果恒等函數(shù)是最優(yōu)解谷朝,那么優(yōu)化器只需要將非線性層權(quán)重參數(shù)置零即可洲押。在現(xiàn)實(shí)問(wèn)題種,通常恒等函數(shù)不可能是最優(yōu)解圆凰,但是殘差函數(shù)卻能夠?qū)?wèn)題進(jìn)行預(yù)變換杈帐,因?yàn)槿绻顑?yōu)函數(shù)更接近與恒等變換的話,那么優(yōu)化器更容易捕捉相對(duì)于恒等變換的擾動(dòng)而不是一個(gè)新的函數(shù)专钉,同時(shí)論文實(shí)驗(yàn)中也發(fā)現(xiàn)學(xué)習(xí)到的殘差函數(shù)多數(shù)情況下具有很小的響應(yīng)挑童,這也佐證了恒等函數(shù)是對(duì)問(wèn)題的一個(gè)有意義的預(yù)處理。
三跃须、殘差模塊結(jié)構(gòu)
????該論文將殘差學(xué)習(xí)用在幾個(gè)層疊的層上站叼,使得這些層學(xué)習(xí)的是需要擬合函數(shù)的殘差,而不是原函數(shù)菇民,并形成如Fig.2所示的building block結(jié)構(gòu)尽楔,并且用數(shù)學(xué)公式表示為:
????這里的x和y表示這些層的輸入和輸出,
表示需要學(xué)習(xí)的殘差映射第练。該等式中的x和F需要具有相同維度辣苏,否則需要對(duì)x進(jìn)行線性變換Ws使得維度能夠匹配晚胡,數(shù)學(xué)公式如下:
四、網(wǎng)絡(luò)結(jié)構(gòu)
????為了通過(guò)實(shí)驗(yàn)說(shuō)明殘差網(wǎng)絡(luò)比一般網(wǎng)絡(luò)在性能上更具優(yōu)勢(shì),該論文在ImageNet數(shù)據(jù)集上訓(xùn)練了兩個(gè)不同的網(wǎng)絡(luò)(如Fig.3所示)來(lái)進(jìn)行對(duì)比實(shí)驗(yàn):Plain Network(一般網(wǎng)絡(luò)滑频,不具有殘差學(xué)習(xí)模塊)和Residual Network(殘差網(wǎng)絡(luò)译荞,在一般網(wǎng)絡(luò)基礎(chǔ)上加入殘差學(xué)習(xí)模塊所構(gòu)成的網(wǎng)絡(luò))。
????Plain Network的設(shè)計(jì)是借鑒了VGG nets的思想,并且遵循以下兩種原則:1凡恍、輸出特征圖大小不變時(shí),卷積核數(shù)量不變怔球;2嚼酝、特征圖大小縮小一半時(shí),卷積核數(shù)量就增加一倍竟坛。除此之外闽巩,VGG通過(guò)Max Pooling下采樣,而這里通過(guò)步長(zhǎng)為2的卷積層直接下采樣担汤,同時(shí)Plain Network最后通過(guò)Average Pooling來(lái)獲得最后的特征涎跨,并且通過(guò)softmax層來(lái)獲得最后1000維的預(yù)測(cè)。
????Residual Network是在Plain Network的基礎(chǔ)上加入shortcut connection來(lái)形成殘差學(xué)習(xí)模塊崭歧,如Fig.3所示隅很,實(shí)線表示殘差模塊的輸入直接被使用,而虛線表示殘差模塊的輸入經(jīng)過(guò)線性變化再被使用率碾,為了匹配維度叔营,這里考慮兩種不同操作:1、在額外維度上增加零所宰;2绒尊、通過(guò)1x1卷積層來(lái)增加維度。
????以這兩種結(jié)構(gòu)在ImageNet數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn)仔粥。
五婴谱、實(shí)驗(yàn)
?????? 1.實(shí)驗(yàn)了plain-18和plain-34,展示了退化問(wèn)題躯泰。說(shuō)明了退化問(wèn)題不是因?yàn)樘荻认犯幔驗(yàn)榧尤肓薭atch normalization。另外也不能簡(jiǎn)單地增加迭代次數(shù)來(lái)使其收斂斟冕,增加迭代次數(shù)仍然會(huì)出現(xiàn)退化問(wèn)題。
????2.實(shí)驗(yàn)了ResNet-18和ResNet-34不會(huì)出現(xiàn)退化問(wèn)題缅阳,ResNet-34明顯表現(xiàn)的比ResNet-18和plain-34好磕蛇,證明了殘差學(xué)習(xí)解決了隨網(wǎng)絡(luò)深度增加帶來(lái)的退化問(wèn)題。而且同等深度的plain-18和ResNet-18十办,殘差網(wǎng)絡(luò)更容易優(yōu)化秀撇,收斂更快。
????3.對(duì)于同等映射維度不匹配時(shí)向族,匹配維度的兩種方法呵燕,zero padding是參數(shù)free的,投影法會(huì)帶來(lái)參數(shù)件相。作者比較了這兩種方法的優(yōu)劣再扭。實(shí)驗(yàn)證明氧苍,投影法會(huì)比zero padding表現(xiàn)稍好一些。因?yàn)閦ero padding的部分沒(méi)有參與殘差學(xué)習(xí)泛范。實(shí)驗(yàn)表明让虐,將維度匹配或不匹配的同等映射全用投影法會(huì)取得更稍好的結(jié)果,但是考慮到不增加復(fù)雜度和參數(shù)free罢荡,不采用這種方法赡突。
????4.更深的瓶頸結(jié)構(gòu):
????作者探索的更深的網(wǎng)絡(luò)∏裕考慮到時(shí)間花費(fèi)惭缰,將原來(lái)的殘差學(xué)習(xí)結(jié)構(gòu)改為瓶頸結(jié)構(gòu),如上圖笼才。首端和末端的1x1卷積用來(lái)削減和恢復(fù)維度漱受,相比于原本結(jié)構(gòu),只有中間3x3成為瓶頸部分患整。這兩種結(jié)構(gòu)的時(shí)間復(fù)雜度相似拜效。此時(shí)投影法映射帶來(lái)的參數(shù)成為不可忽略的部分(因?yàn)檩斎刖S度的增大),所以要使用zero padding的恒等映射各谚。
????替換原本ResNet的殘差學(xué)習(xí)結(jié)構(gòu)紧憾,同時(shí)也可以增加結(jié)構(gòu)的數(shù)量,網(wǎng)絡(luò)深度得以增加昌渤。生成了ResNet-50赴穗,ResNet-101,ResNet-152. 隨著深度增加膀息,因?yàn)榻鉀Q了退化問(wèn)題般眉,性能不斷提升。
????作者最后在Cifar-10上嘗試了1202層的網(wǎng)絡(luò)潜支,結(jié)果在訓(xùn)練誤差上與一個(gè)較淺的110層的相近甸赃,但是測(cè)試誤差要比110層大1.5%。作者認(rèn)為是采用了太深的網(wǎng)絡(luò)冗酿,發(fā)生了過(guò)擬合埠对。
????5. 在COCO目標(biāo)檢測(cè)數(shù)據(jù)集上獲得了28%的相對(duì)改進(jìn)。深度殘差網(wǎng)絡(luò)是提交ILSVRC&COCO 2015比賽的基礎(chǔ)裁替,作者還在ImageNet檢測(cè)项玛,ImageNet本地化,COCO檢測(cè)和COCO分割任務(wù)中獲得了第一名弱判。