谷歌:一篇论文,让研究者吃我三份安利
文 | 白鹡鸰想用Transformer做CV
編 | 小軼想用Transformer做NLP
前言
計算機視覺、機器學習,這兩個詞會讓你想到什么?
相信絕大多數人第一反應都是CNN,而持續關注這些領域發展的人,則會進一步聯想到近幾年大火的Transformer,它不僅在自然語言相關任務上表現優秀,在圖像領域同樣取得了相當不錯的效果。去年10月份Google推出的Vision Transformer (ViT),就在圖像識別任務上用更高的學習效率,達到了不亞于ResNet的精度。當一個模型性能達到SOTA之后,很自然地,人們就會想去探究它的原理,并和先前的模型進行比較。今年上半年,普林斯頓大學就從錯誤一致性的角度比較了ViT與ResNet,最終發現ViT更容易錯判形狀相似的物體,而ResNet的識別更依賴紋理信息 [1]。最近,Google則對網絡本身進行了進一步的探索,試圖通過追蹤模型學習表征的過程,確認ViT和ResNet在處理圖像的原理上是否一致。
論文題目:
Do Vision Transformers See Like Convolutional Neural Networks?
論文鏈接:
http://arxiv.org/abs/2108.08810
方法
ResNet與ViT回顧
在開始研究區別之前,我們先快速回顧一下ResNet和ViT分別是誰,長什么樣。
首先是 ResNet,深度殘差網絡,2015年ImageNet挑戰賽冠軍。通過如下圖所示的殘差塊實現網絡層上的跳躍,從而將模型的優化目標從尋找函數的等價映射改為了逼近零,弱化了網絡變深對模型性能的負面影響。目前為止,基于ImageNet數據集訓練的ResNet50仍然是圖像處理任務中使用頻率最高的預訓練模型之一。
▲ResNet核心部件——殘差塊▲ResNet結構而 ViT 則是從NLP領域紅的發紫的Transformer改編而來。編碼-解碼的結構,中間加一個多頭注意力機制。ViT主要的改變就是在輸入端,將圖像進行了分塊和降維,從而將圖像變成一種類似于詞語編碼的表達方式,方便了后續處理。經過了這一小步的改動,ViT在JFT-300M(ImageNet的300倍放大版,3億張圖像)上預訓練的模型成功超越了ResNet152 [2]。
▲ViT結構超越ResNet雖然有難度,但也算不上大新聞。ViT能引起討論熱度的主要原因是它跨界了,不僅制霸NLP,如今還可能給CV翻篇。這樣的可能性自然是讓人坐不住了,如果存在一個方法能作為不同模態不同類型任務的通解,那AI大一統時代說不定也就不遠了。那么,在這一美好愿望成真之前,更需要謹慎地檢驗: Transformer 處理圖像時獲取的特征是否和之前主流的 CNN 有所區別?
如果它們雖然處理數據方法有所差異,但決定輸出的特征是高度相似的,則意味著目前CV的模型已經接近了人類判斷圖像時所基于的依據
而如果模型中決定性的特征有所不同,則可以進一步研究哪一種特征對信息的表征效果更好,或者兩類模型還能相互借鑒,從而獲得新一輪的性能提升。
比較方法——CKA
基于這樣的動機,Google用Centered Kernel Alignment (CKA)對ResNet和ViT的一些關鍵層進行了檢驗。首先了解一下CKA這種方法。CKA是Google在2019年提出的,用于衡量神經網絡中層與層之間相似度的指標 [3]。假設想要檢測的兩層網絡分別有和個神經元,取個樣本通過模型,則分別可以獲取和的表征矩陣。基于點積的相似性,首先可以獲得
此處下標F代表Frobenius范數。根據上式,可以推導出
然后根據Hilbert-Schmidt Independence Criterion (HSIC)[3]的表達式,將中的列通過核函數對應到上,使得,,可以得到HISC的經驗估計值
此處是中心矩陣,即。歸一化之后即為CKA指標
這個指標的優勢在于,它能夠確定基于不同隨機初始化和不同寬度訓練的神經網絡的隱藏層之間的對應關系。因此,適合用于尋找ResNet和ViT中是否存在有對應的網絡層。
關鍵結論
利用CKA,研究者發現ResNet和ViT在最接近輸入的網絡底層(lower layer)時,表征的內容持有較大的相似度;然而,由于兩個網絡處理表征的方式有很大區別,在層層傳遞之后,在接近輸出的網絡上層(higher layer)兩者的表征最終區別很大。
▲在網絡的底層,ViT和ResNet還有較大的相似度兩個在底層表征上有相似之處的網絡,居然長著長著發展到了兩個方向。因為ResNet在處理輸入時,需要經過更多層才能獲得類似于ViT底層的表征,由此引發了一個合理的猜想:兩個網絡在整合全局信息的能力上存在差異。
為了驗證這個想法,研究者先是對ViT的不同層中,注意力集中區域的距離進行的計算,他們發現,ViT無論是低層還是高層,都是局部和全局信息混雜的,相比之下,ResNet更為嚴格地遵守從局部特征提煉全局特征的處理過程。這是導致兩個網絡中表征的差異逐層增加的一大關鍵因素。
▲ResNet的有效感受域有一個明確地從局部“生長”到全局的過程,而ViT只是在感知局部和全局信息的權重上發生調整另一方面,這種差異的原因還可能來自ViT從底層到高層的相似度比ResNet高的這一現象。研究者認為,是ViT中的跳躍連接結構 (skip connection)保護了底層到高層的表征傳遞,如下圖所示,如果撤掉特定塊區上的這種連接結構,對應的表征信息就會立刻“失傳”。
由于上述在處理信息過程上的差異,最終,ViT的高層表征能夠更精細地保留局部空間信息。尤其是到了最后分類的關鍵時刻,ResNet還進行了一次全局的平均池化,進一步顯著地減少了高層中局部信息的精細度。
▲ViT的高層保留的局部空間信息更多通過全方位的比較,包括將隱藏層揪出來細細觀察。最終,研究者下定結論:雖然它們在性能上不相上下,但以ResNet為代表的CNN與ViT在處理信息的工藝原理上大相徑庭。
最后的話
其實文章的結論沒有特別出人意料的地方,畢竟ResNet和ViT的模型結構擺在那里,前期對兩個網絡分別的原理分析論文也不少了,Google這次的工作其實是把大家直覺性經驗性的結論用可復現的實驗規范地落在了紙上,并且努力夸夸ViT,好吸引更多研究者采用。引起白鹡鸰注意的是,在整個驗證過程中,ViT模型是Google的,JFT-300M數據集是Google的,CKA度量指標也是Google的,這一整套完整的測評走下來,再一次讓人不得不感嘆Google的科研實力果然引領潮流。
不僅如此,論文的寫作也確實又一次展現了業內標桿的風度,作為一篇原理解釋型的文章,它沒有將一大坨公式懟到讀者臉上,而是通過一系列的自問自答,合理引導讀者思路歷程,清晰地說明了實驗的動機和每個步驟的意義,并用圖像佐證觀點。這簡直是泥石流中的一股清流,讓近期飽受各類奇葩論文的白鹡鸰流下了感動的淚水,并覺得很有寫作上的借鑒價值。
萌屋作者:白鹡鸰
白鹡鸰(jí líng)是一種候鳥,天性決定了會橫跨很多領域。已在上海交大棲息四年,進入了名為博士的換毛期。目前以圖像語義為食,但私下也對自然語言很感興趣,喜歡在賣萌屋輕松不失嚴謹的氛圍里浪~~形~~飛~~翔~~
知乎ID也是白鹡鸰,歡迎造訪。
作品推薦:
NLP太卷,我去研究蛋白質了~
谷歌40人發表59頁長文:為何真實場景中ML模型表現不好?
學術&工業界大佬聯合打造:ML產品落地流程指南
后臺回復關鍵詞【入群】
加入賣萌屋NLP/IR/Rec與求職討論群
后臺回復關鍵詞【頂會】
獲取ACL、CIKM等各大頂會論文集!
?
[1] Are Convolutional Neural Networks or Transformers more like human vision? https://arxiv.org/abs/2105.07197
[2] An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale. https://arxiv.org/abs/2010.11929
[3] Similarity of Neural Network Representations Revisited. https://arxiv.org/abs/1905.00414
總結
以上是生活随笔為你收集整理的谷歌:一篇论文,让研究者吃我三份安利的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 95后CV工程师晒出工资单:狠补了这个,
- 下一篇: 2019年终总结与新年重磅福利