【ICCV2021】Tokens-to-Token ViT: Training Vision Transformers From Scratch on ImageNet
阿新 • • 發佈:2022-03-27
部分內容來自於 GiantPandaCV 的文章
1、Motivation
作者指出VIT的不足之處:
- 直接將圖片分塊展開成一維向量不利於對圖片結構資訊(如邊緣,線條)建模
- 冗餘的Attention模組限制了特徵表達,並帶來運算負擔
因此,作者提出了 Token to Token Transformer (T2T),採用類似CNN視窗的方式,將相鄰的 token 聚合,有助於建模區域性特徵。
2、Method
T2T 的流程如下圖所示,將輸入的 token 通過 reshape 操作轉化為二維,然後利用 unfold 操作,屬於同一個區域性視窗的 token 拼接成一個更長的 token,再送入下一層。
Unfold 操作其實是卷積中的 img2col 操作,將卷積視窗的向量,重排成一個列向量,示意圖如下所示:
網路整體架構如下圖所示,先經過2次Tokens to Token操作,最後給token加入用於影象分類的cls token,並給上位置編碼(position embedding),送入到 VIT backbone 當中。
更多可以檢視 Panda 的文章,程式碼講解的也非常詳細。