DeepViT: Towards Deeper Vision Transformer

字節(jié)跳動AI Lab最新的工作,研究了如何把ViT做的更深的問題。之前的ViT采用的都是固定的12層,所不同的是head的數(shù)目和embedding的通道數(shù),由此構成small、medium以及l(fā)arge版本。但是關于ViT層數(shù)的問題,則很少有探討。

本文首先將ViT由12層加深到32層,發(fā)現(xiàn)隨著網(wǎng)絡層數(shù)的加深,性能并沒有獲得相應幅度的上升,甚至還有下降:



類似的網(wǎng)絡退化問題在cnn中也有出現(xiàn),cnn中通過加入residual connection來解決網(wǎng)絡退化。本文中則觀察發(fā)現(xiàn)ViT的退化是由于attention collapse,即隨著層數(shù)的加深,attention map的變化越來越小,相應的feature map也開始停止學習,因而隨著層數(shù)加深性能增長逐漸停滯。



作者的解決方案其實很簡單,觀察發(fā)現(xiàn)雖然同一個token在不同層的attention map差別小,但是同一層不同head之間差距還是很大,因此作者額外加入一個HxH大小的矩陣,來對attention map進行re-attention,利用其他head的attention map來對當前attention map進行增強。

反應在公式上的變化就是在與V相乘之前先與theta矩陣相乘,看起來很簡潔了。消融實驗結果顯示,在32層ViT上,本文所提的解決方案(DeepViT)可以比vanilla ViT有1.6的提升,在深層ViT上的提升還是比較顯著的。

作者解釋re-attention起作用的原因在于在不同head之間進行了interaction,而不是單純的解決over smoothing,因而可以編碼更豐富的信息,當然通過可視化結果也可以看到,加入re-attention之后,block的相似性也顯著降低了。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容