當前位置:成語大全網 - 新華字典 - ViT 對比 swin Transformer 2021-05-18

ViT 對比 swin Transformer 2021-05-18

AN IMAGE IS WORTH 16X16 WORDS:

TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE

https://arxiv.org/pdf/2010.11929.pdf

這篇工作Vision Transformer基於NLP領域中大放異彩的Transformer模型來處理視覺領域的任務。作者將二維的圖像數據用壹個簡單的方式轉換為和Transformer中處理的句子序列差不多的形式, 然後使用 Transformer編碼器來提取特征。

Transformer的論文叫Attention is all you need, 現在在深度學習領域中提到Attention可能大家都會想到Transformer的self-Attention自註意力,其實註意力機制剛開始是應用於循環神經網絡中的,self-Attention可以看成是壹個更通用的版本。Attention本來是在Encoder-Decoder框架中關乎中間的隱藏狀態的這麽壹個函數。 而self-Attention無所謂隱藏狀態,只關註輸入序列中向量之間的依賴關系。Transformer給出了壹個非常簡潔的公式 。

看到softmax就知道是在求概率,V代表的是數值,QK代表壹個查字典的操作。但是這樣還是很抽象,要理解的話得把矩陣拆成向量才行。這裏推薦壹篇可視化Transformer的博客。 https://jalammar.github.io/illustrated-transformer/

我的理解就是把原向量進行三次編碼,然後在計算attention結果的時候,壹個編碼只和自己有關,代表該token的特征,另外兩個用來和序列中其他向量的編碼進行匹配,得到當前向量與其他向量之間的關聯程度。

卷積在視覺中占主流的原因很重要的原因是局部感受野,另外卷積的形式壹坨壹坨的很契合對圖片數據的處理。但是,卷積的感受野是受限的,要多層抽象才能得到壹個比較大的感受野。而自註意力我覺得可以理解為在輸入的全局中有選擇的進行權重。這個過程進行多次,就是多頭自註意力機制。

最終的編碼就長成這個樣子:

對應:

既然已經通過上面的處理把圖片的輸入轉化為Tranformer處理單詞序列的形式了,那麽接下來直接通過多頭註意力機制多次處理,最終得到的結果是和圖片中每個patch都相關的特征。就相當於替代卷積層完成了特征提取得到 z_l。

不用卷積運算,訓練需要的計算資源要少很多。

ViT 如果用大量數據集進行預訓練,那麽效果會很好。

ViT 模型更大對比同量級state-of-the-art表現更好。

https://arxiv.org/pdf/2103.14030.pdf

不同於ViT中在輸入序列中加上壹個絕對的位置編碼,swinTransformer使用的是相對位置偏置,加在attention內部的查詢操作裏。論文做了實驗,如果同時使用兩種方法,表現會反而下降。