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

回復(fù)
相關(guān)推薦