DeepViT:字節(jié)提出深層ViT的訓練策略 | 2021 arxiv

作者發(fā)現(xiàn)深層ViT出現(xiàn)的注意力崩潰問題,提出了新穎的Re-attention機制來解決观腊,而且計算量和內存開銷都很少铛绰。通過Re-attention機制,在增加ViT深度時能夠保持性能不斷提高

來源:曉飛的算法工程筆記 公眾號

論文: DeepViT: Towards Deeper Vision Transformer

[圖片上傳失敗...(image-320fda-1666536099045)]

Introduction


[圖片上傳失敗...(image-5546ca-1666536099045)]

? 作者在ViT上效仿CNN堆疊更多層來提升性能的做法泡垃,但如圖1所示,ViT的性能隨著層數(shù)的增加會快速飽和羡鸥。經(jīng)過深入研究蔑穴,作者發(fā)現(xiàn)這種縮放困難可能是由注意力崩潰問題引起。隨著網(wǎng)絡的深入惧浴,各層計算的注意力圖逐漸變得相似存和,甚至在某些層之后幾乎相同。這一事實表明衷旅,在ViT更深層中哑姚,self-attention機制無法有效地學習特征提取規(guī)律,阻礙了模型獲得預期的性能提升芜茵。

? 為了解決注意力崩潰問題并有效地擴展ViT的深度叙量,作者提出了簡單而有效的Re-attention方法。通過可學習的方式九串,該方法能夠在多頭自注意力(MHSA)的多個Head間進行信息交換绞佩,重新生成注意力圖寺鸥。重新生成的注意力圖能夠增加層的多樣性,而且額外增加的計算和內存成本可以忽略不計品山。

? 在沒有任何額外的數(shù)據(jù)增強和正則化策略的情況下胆建,只需用Re-attention替換ViTs中的MHSA模塊,就可以訓練非常深的ViT模型并得到相應的性能提升肘交,如圖2所示笆载。

? 總體而言,論文的貢獻如下:

  • 深入研究ViT的行為涯呻,觀察到ViT不能像CNN那樣堆疊更多層中持續(xù)來提升性能凉驻,并且進一步確定了這種反直覺現(xiàn)象背后的根本原因為注意力崩潰。
  • 提出了Re-attention复罐,一種簡單而有效的注意機制涝登,通過在不同注意頭之間的進行信息交換來生成新的注意力圖。
  • 第一個在ImageNet-1k上成功從零開始訓練32層ViT并獲得相應的性能提升效诅,達到SOTA胀滚。

Revisiting Vision Transformer


[圖片上傳失敗...(image-2d6208-1666536099045)]

? ViT模型如圖2(a) 所示,由三個主要組件組成:用于Patch Embedding的線性層(即將高分辨率輸入圖像映射到低分辨率特征圖)乱投,用于特征編碼的多個包含MHSA和MLP的Transformer Block咽笼,用于分類分數(shù)預測的線性層。

[圖片上傳失敗...(image-4a215e-1666536099045)]

? 其中戚炫,最關鍵的MHSA層如公式1所示剑刑,也是Re-attention替換的目標。

Attention Collapse

? 作者對ViT隨深度增加而變化的性能進行了系統(tǒng)研究嘹悼。首先根據(jù)DeiT的設置將中間層維度和MHSA的Head數(shù)量分別固定為384和12叛甫,然后堆疊不同數(shù)量的transformer blocks(從12到32不等)來構建不同深度的ViT模型层宫。如前面所說的杨伙,作者驚訝地發(fā)現(xiàn)分類準確率會隨著模型的深入而緩慢提高并快速飽和,在使用24個transformer blocks后提升就停止了萌腿。這一現(xiàn)象表明限匣,現(xiàn)有的ViT難以從更深層次的架構中獲益。

? 這樣的問題非常違反直覺毁菱,也值得探索米死。在CNN的早期開發(fā)階段也觀察到了類似的問題(即如何有效地訓練深層模型),但后來被ResNet妥善解決了贮庞。通過更深入地研究transfromer的架構峦筒,作者認為自注意機制在ViT中起著關鍵作用,這使得它與CNN有顯著不同窗慎。因此物喷,作者首先研究自注意機制卤材,觀察其生成的注意力圖如何隨著模型的深入而變化

? 為了測量各層注意力圖的變化,需計算不同層注意力圖之間的相似度:

[圖片上傳失敗...(image-8c8655-1666536099045)]

? 其中峦失,M^{p,q}是層pq的注意力圖之間的余弦相似度矩陣扇丛,每個元素M^{p,q}_{h,t}衡量headh和tokent對應的層間注意力圖的相似度。A^{?}_{h,:,t} 是一個T維向量尉辑,表示輸入token序列tT個輸出標記中的每一個的貢獻程度帆精。因此,M^{p,q}_{h,t}提供了關于token的權重如何從p層變化到q層的度量手段隧魄。當M^{p,q}_{h,t}等于1時卓练,這意味著token序列t在層pq中對self-attention的作用完全相同。

[圖片上傳失敗...(image-d063c2-1666536099045)]

? 基于公式2堤器,將ImageNet-1k上預訓練32層ViT模型的所有注意力圖之間的相似性進行可視化昆庇。如圖3a所示,在第17層之后闸溃,相鄰k層的注意力圖的相似度大于90%整吆,這表明后面學習的注意力圖都是相似的,即注意力崩潰問題辉川。

? 為了進一步驗證不同深度的ViT是否存在這種現(xiàn)象表蝙,我們分別對12、16乓旗、24和32層的ViT進行了相同的實驗府蛇,并計算了具有相似注意力圖的塊的數(shù)量。結果如圖3b所示屿愚,當添加更多層時汇跨,相似注意力圖的層數(shù)量與總層數(shù)的比率增加。

[圖片上傳失敗...(image-585f4-1666536099045)]

? 為了解注意力崩潰如何影響ViT模型的性能妆距,作者基于32層ViT模型穷遂,比較最終輸出特征與每個中間層輸出余弦相似度。結果如圖4所示娱据,學習到的特征在第20層之后停止變化蚪黑,而且注意力圖相似度的增加與特征相似度之間存在密切的相關性。這一觀察表明中剩,注意力崩潰是造成ViT不可擴展問題的根本原因忌穿。

Re-attention for Deep ViT


? 將ViT擴展到更深的一個主要障礙是注意力崩潰問題,作者提出了兩種解決方法结啼,一種是增加自注意計算的中間維度掠剑,另一種是Re-attention機制。

Self-Attention in Higher Dimension Space

? 克服注意力崩潰的一種直接解決方案是增加每個token的embedding維度郊愧。增加維度能夠增強每個token embedding的表達能力朴译,從而編碼更多信息沸伏,生成更加多樣化的注意力圖以及減少相似性。

[圖片上傳失敗...(image-f8d49e-1666536099045)]

[圖片上傳失敗...(image-7808d7-1666536099045)]

? 作者基于12層ViT進行了不同中間維度的快速實驗动分,維度范圍從256到768毅糟。如圖5和表1所示,增加embedding維度能夠減少具有相似注意力圖的層數(shù)以及緩解注意力崩潰澜公,模型性能也得到相應的提高姆另。這驗證了作者的核心假設,注意力崩潰是ViT擴展的主要瓶頸坟乾。盡管這個方法有效迹辐,但持續(xù)增加embedding維度會顯著增加計算成本,而且?guī)淼男阅芴嵘矔p弱甚侣。此外明吩,更大的模型通常需要更多的數(shù)據(jù)進行訓練,存在過擬合風險以及降低訓練效率殷费。

Re-attention

? 雖然不同transformer block之間的注意力圖的相似性很高印荔,但作者發(fā)現(xiàn)來自同一個Transformer block的不同Head的注意力圖的相似性非常小,如圖3c所示详羡。實際上仍律,同一自注意力層的不同Head主要關注輸入token的不同方面。于是作者打算建立Head間交互來重新生成注意力圖实柠,使得訓練的深層ViT的性能更優(yōu)水泉。

[圖片上傳失敗...(image-dbeeda-1666536099045)]

? Re-attention使用Head的注意力圖作為基礎,通過動態(tài)聚合生成一組新的注意力圖窒盐。為了實現(xiàn)這一點草则,首先定義一個可學習的變換矩陣\Theta\in\mathbb{R}^{H\times H},在乘以V之前蟹漓,使用該矩陣混合多個Head的注意力圖重新生成新的注意力圖炕横。具體來說,Re-attention可定義為以下公式:

[圖片上傳失敗...(image-657ac9-1666536099045)]

? 其中變換矩陣\Theta沿Head
維度乘以自注意力圖A牧牢,Norm是歸一化函數(shù)看锉,用于減少每層的方差姿锭,\Theta是可端到端學習的塔鳍。

? Re-attention 的優(yōu)點有兩個:

  • 與其他注意力增強方法相比(隨機丟棄注意力圖元素或調節(jié)SoftMax溫度),Re-attention利用Head之間的交互來收集互補信息呻此,可以更好地提高注意力圖的多樣性轮纫。
  • Re-attention高效且易于實現(xiàn),與原始的自注意力相比焚鲜,只需要幾行代碼和可忽略不計的計算開銷掌唾,比增加嵌入維度的方法更高效放前。

?

Experiments


[圖片上傳失敗...(image-279349-1666536099045)]

? 實驗的基礎模型配置,輸入圖片大小都是224x224

More Analysis on Attention Collapse

  • Attention reuse

? 作者在24層和32層ViT模型上進行注意力復用的實驗,將一個block的的注意力圖直接共享給之后的所有塊淘邻,block的選擇為最后一個注意力圖與相鄰層的相似度小于90%的block浴滴。更多實現(xiàn)細節(jié)可以在補充材料中找到。

[圖片上傳失敗...(image-27a2e8-1666536099045)]

? 結果如表3所示蒲凶,共享注意力圖的性能下降并不明顯,這意味著注意力崩潰問題確實存在。當模型很深時炒辉,添加更多層的效率低下。

  • Visualization

[圖片上傳失敗...(image-650d8a-1666536099045)]

? 原始MHSA和Re-attention的注意力圖可視化如圖6所示泉手。原始的MHSA學在較早層中主要關注相鄰token之間的局部關系黔寇,并且隨著層的深入逐漸覆蓋更多token,最后在深層中具有高度相似性全局平均注意力圖斩萌。在添加Re-attention后缝裤,深層的注意力圖保持了多樣性,并且與相鄰層具有較小的相似性

Analysis on Re-attention

  • Re-attention v.s. Self-attention

[圖片上傳失敗...(image-9d2843-1666536099045)]

? 不同層數(shù)ViT上替換Re-attention對比颊郎。

  • Comparison to adding temperature in self-attention

[圖片上傳失敗...(image-961786-1666536099045)]

? 對比不同的緩解注意力圖平滑問題的策略倘是。

  • Comparison to dropping attentions

[圖片上傳失敗...(image-9d4375-1666536099045)]

? 對比注意力圖dropout以及溫度調節(jié)對相似性的影響。

Comparison with other SOTA models

[圖片上傳失敗...(image-e527c1-1666536099045)]

? 對比SOTA方法袭艺。

Conclusion


? 作者發(fā)現(xiàn)深層ViT出現(xiàn)的注意力崩潰問題搀崭,提出了新穎的Re-attention機制來解決,而且計算量和內存開銷都很少猾编。通過Re-attention機制瘤睹,在增加ViT深度時能夠保持性能不斷提高。

?
?
?

如果本文對你有幫助答倡,麻煩點個贊或在看唄~
更多內容請關注 微信公眾號【曉飛的算法工程筆記】

work-life balance.
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末轰传,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子瘪撇,更是在濱河造成了極大的恐慌获茬,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件倔既,死亡現(xiàn)場離奇詭異恕曲,居然都是意外死亡,警方通過查閱死者的電腦和手機渤涌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門佩谣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人实蓬,你說我怎么就攤上這事茸俭〉趼模” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵调鬓,是天一觀的道長艇炎。 經(jīng)常有香客問我,道長腾窝,這世上最難降的妖魔是什么冕臭? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮燕锥,結果婚禮上辜贵,老公的妹妹穿的比我還像新娘。我一直安慰自己归形,他們只是感情好托慨,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著暇榴,像睡著了一般厚棵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蔼紧,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天婆硬,我揣著相機與錄音,去河邊找鬼奸例。 笑死彬犯,一個胖子當著我的面吹牛,可吹牛的內容都是我干的查吊。 我是一名探鬼主播谐区,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼逻卖!你這毒婦竟也來了宋列?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤评也,失蹤者是張志新(化名)和其女友劉穎炼杖,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體盗迟,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡坤邪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了诈乒。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片罩扇。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡婆芦,死狀恐怖怕磨,靈堂內的尸體忽然破棺而出喂饥,到底是詐尸還是另有隱情,我是刑警寧澤肠鲫,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布员帮,位于F島的核電站,受9級特大地震影響导饲,放射性物質發(fā)生泄漏捞高。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一渣锦、第九天 我趴在偏房一處隱蔽的房頂上張望硝岗。 院中可真熱鬧,春花似錦袋毙、人聲如沸型檀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胀溺。三九已至,卻和暖如春皆看,著一層夾襖步出監(jiān)牢的瞬間仓坞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工腰吟, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留无埃,地道東北人。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓毛雇,卻偏偏與公主長得像录语,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子禾乘,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內容