經典圖像模型解讀之Swin-Transformer 原創
本文介紹經典模型之Swin Transformer。
Swin Transformer是一種經典的視覺Transformer架構,專為計算機視覺任務設計,通過層次化的特征表達和創新的移位窗口自注意力機制,有效地處理高分辨率圖像,具有通用性和靈活性,適用于圖像分類、目標檢測和語義分割等多種視覺任務。
感興趣的小伙伴可以看看論文:??https://arxiv.org/abs/2103.14030??
模型介紹
上圖為Swin Transformer模型圖。整個模型采取層次化的設計,一共包含4個Stage,每個stage都會縮小輸入特征圖的分辨率,像CNN一樣逐層擴大感受野。
- Patch Embedding:Swin Transformer處理輸入圖像的初始步驟。假設輸入圖像的尺寸遵循ImageNet的標準,即H×W×C(其中H和W分別為圖像的高度和寬度,C為通道數),在Swin Transformer的第一階段,patch的大小被設定為p×p。經過Patch Embedding處理后,圖像被劃分成H/p×W/p個patch。
- Linear Embedding:是將輸入向量的維度轉換為一個預定義的值,這個值是Transformer模型能夠處理的維度。在Swin Transformer的論文中,這個超參數被定義為c。因此,圖像經過線性嵌入后,其尺寸變為H/p×W/p×c。在代碼里也是用一次卷積(Conv2d)操作就完成了。
- Swin Transformer block:與VIT不同,這里的3000+token太長了,是目前來說Transformer不能接受的序列長度,所以 Swin Transformer引入了基于窗口的自注意力計算,每個窗口按照默認值M,最后只有M*M個patch,解決了計算復雜度的問題。
創新點
- Swin Transformer通過引入移動窗口(shifted window)機制來實現局部感知域,通過移動窗口的操作,相鄰窗口之間能夠進行交互,實現了跨窗口連接(cross-window connection),這使得模型在不同層級之間能夠間接地實現全局建模的能力。這種局部與全局相結合的方法,使得Swin Transformer在保持計算效率的同時,也能夠捕捉到圖像中的全局信息。
- Swin Transformer巧妙地利用了一個掩碼(mask)和移位操作來實現計算上的等價性。這種方法通過在不同的層次上應用移位窗口機制,使得模型能夠在局部窗口內進行自注意力計算,同時保持與全局計算等價的效果。
?
文轉載自公眾號瓦力算法學研所,作者:喜歡瓦力的卷卷
原文鏈接:??https://mp.weixin.qq.com/s/7L38yih14U7Mtp0skRWXUQ???
?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
贊
收藏
回復
分享
微博
QQ
微信
舉報

回復
相關推薦