2000字解讀這篇比較ResNet和ViT差異的論文
學(xué)姐上周推薦了幾篇深度學(xué)習(xí)的論文,就看到有大佬解讀了其中《Do Vision Transformers See Like Convolutional Neural Networks?》這篇論文。嘻嘻嘻!請(qǐng)各位配套上周學(xué)姐整理的文章中本篇論文的拼貼圖和今天的這篇論文解讀一起食用,效果更佳!
本篇文章是學(xué)姐轉(zhuǎn)載【夕小瑤的賣萌屋】公眾號(hào)的文章!不是學(xué)姐寫的!作者是白鹡鸰!

前言
計(jì)算機(jī)視覺(jué)、機(jī)器學(xué)習(xí),這兩個(gè)詞會(huì)讓你想到什么?
相信絕大多數(shù)人第一反應(yīng)都是CNN,而持續(xù)關(guān)注這些領(lǐng)域發(fā)展的人,則會(huì)進(jìn)一步聯(lián)想到近幾年大火的Transformer,它不僅在自然語(yǔ)言相關(guān)任務(wù)上表現(xiàn)優(yōu)秀,在圖像領(lǐng)域同樣取得了相當(dāng)不錯(cuò)的效果。
去年10月份Google推出的Vision Transformer (ViT),就在圖像識(shí)別任務(wù)上用更高的學(xué)習(xí)效率,達(dá)到了不亞于ResNet的精度。當(dāng)一個(gè)模型性能達(dá)到SOTA之后,很自然地,人們就會(huì)想去探究它的原理,并和先前的模型進(jìn)行比較。今年上半年,普林斯頓大學(xué)就從錯(cuò)誤一致性的角度比較了ViT與ResNet,最終發(fā)現(xiàn)ViT更容易錯(cuò)判形狀相似的物體,而ResNet的識(shí)別更依賴紋理信息 [1]。
最近,Google則對(duì)網(wǎng)絡(luò)本身進(jìn)行了進(jìn)一步的探索,試圖通過(guò)追蹤模型學(xué)習(xí)表征的過(guò)程,確認(rèn)ViT和ResNet在處理圖像的原理上是否一致。
論文題目:
Do Vision Transformers See Like Convolutional Neural Networks?
論文鏈接:
http://arxiv.org/abs/2108.08810
方法
ResNet與ViT回顧
在開(kāi)始研究區(qū)別之前,我們先快速回顧一下ResNet和ViT分別是誰(shuí),長(zhǎng)什么樣。
首先是?ResNet,深度殘差網(wǎng)絡(luò),2015年ImageNet挑戰(zhàn)賽冠軍。通過(guò)如下圖所示的殘差塊實(shí)現(xiàn)網(wǎng)絡(luò)層上的跳躍,從而將模型的優(yōu)化目標(biāo)從尋找函數(shù)的等價(jià)映射改為了逼近零,弱化了網(wǎng)絡(luò)變深對(duì)模型性能的負(fù)面影響。目前為止,基于ImageNet數(shù)據(jù)集訓(xùn)練的ResNet50仍然是圖像處理任務(wù)中使用頻率最高的預(yù)訓(xùn)練模型之一。


而?ViT?則是從NLP領(lǐng)域紅的發(fā)紫的Transformer改編而來(lái)。編碼-解碼的結(jié)構(gòu),中間加一個(gè)多頭注意力機(jī)制。ViT主要的改變就是在輸入端,將圖像進(jìn)行了分塊和降維,從而將圖像變成一種類似于詞語(yǔ)編碼的表達(dá)方式,方便了后續(xù)處理。經(jīng)過(guò)了這一小步的改動(dòng),ViT在JFT-300M(ImageNet的300倍放大版,3億張圖像)上預(yù)訓(xùn)練的模型成功超越了ResNet152 [2]。

超越ResNet雖然有難度,但也算不上大新聞。ViT能引起討論熱度的主要原因是它跨界了,不僅制霸NLP,如今還可能給CV翻篇。這樣的可能性自然是讓人坐不住了,如果存在一個(gè)方法能作為不同模態(tài)不同類型任務(wù)的通解,那AI大一統(tǒng)時(shí)代說(shuō)不定也就不遠(yuǎn)了。
那么,在這一美好愿望成真之前,更需要謹(jǐn)慎地檢驗(yàn):?Transformer 處理圖像時(shí)獲取的特征是否和之前主流的 CNN 有所區(qū)別?
如果它們雖然處理數(shù)據(jù)方法有所差異,但決定輸出的特征是高度相似的,則意味著目前CV的模型已經(jīng)接近了人類判斷圖像時(shí)所基于的依據(jù)
而如果模型中決定性的特征有所不同,則可以進(jìn)一步研究哪一種特征對(duì)信息的表征效果更好,或者兩類模型還能相互借鑒,從而獲得新一輪的性能提升。
比較方法——CKA
基于這樣的動(dòng)機(jī),Google用Centered Kernel Alignment (CKA)對(duì)ResNet和ViT的一些關(guān)鍵層進(jìn)行了檢驗(yàn)。首先了解一下CKA這種方法。CKA是Google在2019年提出的,用于衡量神經(jīng)網(wǎng)絡(luò)中層與層之間相似度的指標(biāo)?[3]。
假設(shè)想要檢測(cè)的兩層網(wǎng)絡(luò)分別有和個(gè)神經(jīng)元,取個(gè)樣本通過(guò)模型,則分別可以獲取和的表征矩陣。基于點(diǎn)積的相似性,首先可以獲得

此處下標(biāo)F代表Frobenius范數(shù)。根據(jù)上式,可以推導(dǎo)出

然后根據(jù)Hilbert-Schmidt Independence Criterion (HSIC)[3]的表達(dá)式,將中的列通過(guò)核函數(shù)對(duì)應(yīng)到上,使得,,可以得到HISC的經(jīng)驗(yàn)估計(jì)值

此處是中心矩陣,即。歸一化之后即為CKA指標(biāo)

這個(gè)指標(biāo)的優(yōu)勢(shì)在于,它能夠確定基于不同隨機(jī)初始化和不同寬度訓(xùn)練的神經(jīng)網(wǎng)絡(luò)的隱藏層之間的對(duì)應(yīng)關(guān)系。因此,適合用于尋找ResNet和ViT中是否存在有對(duì)應(yīng)的網(wǎng)絡(luò)層。
關(guān)鍵結(jié)論
利用CKA,研究者發(fā)現(xiàn)ResNet和ViT在最接近輸入的網(wǎng)絡(luò)底層(lower layer)時(shí),表征的內(nèi)容持有較大的相似度;然而,由于兩個(gè)網(wǎng)絡(luò)處理表征的方式有很大區(qū)別,在層層傳遞之后,在接近輸出的網(wǎng)絡(luò)上層(higher layer)兩者的表征最終區(qū)別很大。

兩個(gè)在底層表征上有相似之處的網(wǎng)絡(luò),居然長(zhǎng)著長(zhǎng)著發(fā)展到了兩個(gè)方向。因?yàn)镽esNet在處理輸入時(shí),需要經(jīng)過(guò)更多層才能獲得類似于ViT底層的表征,由此引發(fā)了一個(gè)合理的猜想:兩個(gè)網(wǎng)絡(luò)在整合全局信息的能力上存在差異。
為了驗(yàn)證這個(gè)想法,研究者先是對(duì)ViT的不同層中,注意力集中區(qū)域的距離進(jìn)行的計(jì)算,他們發(fā)現(xiàn),ViT無(wú)論是低層還是高層,都是局部和全局信息混雜的,相比之下,ResNet更為嚴(yán)格地遵守從局部特征提煉全局特征的處理過(guò)程。這是導(dǎo)致兩個(gè)網(wǎng)絡(luò)中表征的差異逐層增加的一大關(guān)鍵因素。

另一方面,這種差異的原因還可能來(lái)自ViT從底層到高層的相似度比ResNet高的這一現(xiàn)象。研究者認(rèn)為,是ViT中的跳躍連接結(jié)構(gòu) (skip connection)保護(hù)了底層到高層的表征傳遞,如下圖所示,如果撤掉特定塊區(qū)上的這種連接結(jié)構(gòu),對(duì)應(yīng)的表征信息就會(huì)立刻“失傳”。

由于上述在處理信息過(guò)程上的差異,最終,ViT的高層表征能夠更精細(xì)地保留局部空間信息。尤其是到了最后分類的關(guān)鍵時(shí)刻,ResNet還進(jìn)行了一次全局的平均池化,進(jìn)一步顯著地減少了高層中局部信息的精細(xì)度。

通過(guò)全方位的比較,包括將隱藏層揪出來(lái)細(xì)細(xì)觀察。最終,研究者下定結(jié)論:雖然它們?cè)谛阅苌喜幌嗌舷?,?strong>以ResNet為代表的CNN與ViT在處理信息的工藝原理上大相徑庭。
最后的話
其實(shí)文章的結(jié)論沒(méi)有特別出人意料的地方,畢竟ResNet和ViT的模型結(jié)構(gòu)擺在那里,前期對(duì)兩個(gè)網(wǎng)絡(luò)分別的原理分析論文也不少了,Google這次的工作其實(shí)是把大家直覺(jué)性經(jīng)驗(yàn)性的結(jié)論用可復(fù)現(xiàn)的實(shí)驗(yàn)規(guī)范地落在了紙上,并且努力夸夸ViT,好吸引更多研究者采用。
引起白鹡鸰注意的是,在整個(gè)驗(yàn)證過(guò)程中,ViT模型是Google的,JFT-300M數(shù)據(jù)集是Google的,CKA度量指標(biāo)也是Google的,這一整套完整的測(cè)評(píng)走下來(lái),再一次讓人不得不感嘆Google的科研實(shí)力果然引領(lǐng)潮流。
不僅如此,論文的寫作也確實(shí)又一次展現(xiàn)了業(yè)內(nèi)標(biāo)桿的風(fēng)度,作為一篇原理解釋型的文章,它沒(méi)有將一大坨公式懟到讀者臉上,而是通過(guò)一系列的自問(wèn)自答,合理引導(dǎo)讀者思路歷程,清晰地說(shuō)明了實(shí)驗(yàn)的動(dòng)機(jī)和每個(gè)步驟的意義,并用圖像佐證觀點(diǎn)。
這簡(jiǎn)直是泥石流中的一股清流,讓近期飽受各類奇葩論文的白鹡鸰流下了感動(dòng)的淚水,并覺(jué)得很有寫作上的借鑒價(jià)值。
本篇文章就到這里啦!學(xué)姐會(huì)持續(xù)找到大佬們的好想法好文章,來(lái)給大家的!大家可以關(guān)注學(xué)姐!不要錯(cuò)過(guò)干貨好文!
