在Transformer模塊上用CNN網(wǎng)絡搭建方式解決圖像分類問題
兩種解決用傳統(tǒng)CNN網(wǎng)絡搭建方式搭建深度Transformer網(wǎng)絡結(jié)構(gòu)處理圖像分類問題的方法
來源:投稿?作者:摩卡?
編輯:學姐帶你玩AI 公眾號
論文解讀
《DeepViT: Towards Deeper Vision Transformer》
# Motivation
本文受到傳統(tǒng)CNN網(wǎng)絡搭建方式的啟發(fā)(深層的CNN網(wǎng)絡可以學習到關(guān)于圖像更加豐富和復雜的表示), 于是思考是否可以將這種搭建方式遷移到Transformer模塊上, 以此搭建深度的Transformer網(wǎng)絡結(jié)構(gòu)處理圖像分類問題。
但是在搭建過程中發(fā)現(xiàn)了一個反常識的問題:
隨著Transformer模塊堆疊模型的深度變深,按照常理由于注意力模塊數(shù)量變多模型的性能會相應的提高,但是試驗結(jié)果表明在基線模型(ViT 2020年提出的純Transformer模塊搭建的圖像分類模型)達到一定深度時(24層),模型效果達到最好,此后隨著Transformer層數(shù)的增加分類效果會下降。
作者將這一現(xiàn)象稱為attention collapse!

# Analysis
為了研究清楚這一反常識現(xiàn)象,本文作者在基線模型的基礎上進行研究,作者對每個Transformer模塊與其相近的模塊進行余弦相似度的計算(threshold=0.8),如果余弦相似度的值大于threshold,則將這兩個相鄰Transformer模塊的attention map 視為相似。
其結(jié)果如下圖所示:

圖a表示不同層數(shù)的Transformer模塊與其鄰近的(k=1, 2, 3)三個模塊之間的相似度。由圖可以看出,隨著模型的加深不同Transformer模塊的attention map 與其相鄰模塊的attention map 相似度不斷增加。
圖b表示不同層數(shù)具有相似attention map的Transformer模塊占總模塊的比例。由圖可知,在深度達到32層時,有16個模塊具有相似的attention map。
圖c表示的是第32層Transformer模塊中每個head所捕獲的attention map 的相似度(此處的threshold=0.5, 也為余弦相似度),由圖可知即使在深度很深的32層Transformer模塊中不同head所獲取到的attention map 并不相同。
# Method
在經(jīng)過上述分析后,作者提出了兩種解決方法:
(1)擴大hidden layer中神經(jīng)元的個數(shù)。
(2)提出了一種re-attention的方法代替self-attention。

表1表示的是在基線模型上(ViT)12層上擴大hidden layer中神經(jīng)個數(shù)??梢钥吹诫S著神經(jīng)元個數(shù)的增加,在ImageNet Top-1Acc也會隨之提高。不過該方法會增加計算資源的消耗。
# Re-attention
此外在本文中作者還提出了一種解決方法:Re-attention方法。
公式如下:

在原有Transformer attention的基礎上引入了一個可學習轉(zhuǎn)換矩陣(自己定義的)(H為Transformer模塊中多頭注意力head的個數(shù))。
其模型圖如下:

為了驗證這一改進有沒有效果,作者可視化了改進之后的Feature map(attention map*V)

上圖表明將self-attention換成re-attention機制后明顯的緩解了attention collapse現(xiàn)象。
# Result
最后與SOTA進行比較,結(jié)果如下表所示:

# 個人體會
個人覺得該論文的亮點主要分為兩方面:
(1)對于Transformer模塊的細致分析,從發(fā)現(xiàn)問題開始將發(fā)現(xiàn)的問題定義為attention collapse,然后一步一步對每一層Transformer模塊中的attention map/feature map 進行分析,并且還分析了multi-head attention 每個頭捕獲到的特征(解決了上周的一個小疑問)。
(2)使用re-attention替換multi-head attention中的self-attention。此處的新穎之處是在改變self-attention 結(jié)構(gòu)解決attention collapse問題時只定義了一個可學習參數(shù)、使用了LayerNorm, 并沒有擴充Transformer占用的內(nèi)存資源。
— 完 —
點這里??關(guān)注我,記得標星哦~
