<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          重磅開源!屠榜各大CV任務(wù)的微軟Swin Transformer有多強(qiáng)?

          共 3732字,需瀏覽 8分鐘

           ·

          2021-04-19 16:19

          作者 | 鈺瑩、核子可樂
          轉(zhuǎn)自 | AI前線
          近日,微軟 Swin Transformer 代碼正式開源,短短兩天就在 GitHub 上獲得了 1.9k 的 Star,相關(guān)話題在知乎上同樣引起了廣泛的討論和關(guān)注。
          微軟 Swin Transformer 正式開源

          Swin Transformer 可以理解為一個(gè)通用的視覺骨干網(wǎng)絡(luò),Swin Transformer 設(shè)計(jì)出了一種分層表示形式,首先由小的 PATCHES 開始,而后逐漸將相鄰的各 Patches 融合至一個(gè)更深的 Transformer 層當(dāng)中。通過這種分層結(jié)構(gòu),Swin Transformer 模型能夠使用 FPN 及 UNET 等高密度預(yù)測器實(shí)現(xiàn)技術(shù)升級(jí),通過限制非重疊窗口中的部分計(jì)算量降低計(jì)算強(qiáng)度。各窗口中的 PATCHES 數(shù)量是固定的,因此隨著圖像尺寸的增加,復(fù)雜性也將不斷增長。相比于 ViT,Swin Transfomer 計(jì)算復(fù)雜度大幅度降低,隨著輸入圖像大小線性計(jì)算復(fù)雜度。

          Swin Transformer 的核心設(shè)計(jì)是將 Self-Attention 層劃分為 SHIFT,SHIFTED Window 接入上一層窗口,二者之間保持連接,由此顯著增強(qiáng)建模能力。這種策略還有助于有效降低延遲:所有 Query Patches 窗口共享同一 KEY 集,由此節(jié)約硬件內(nèi)存;以往的 Transformer 方法由于使用不同的 Query 像素,因此在實(shí)際硬件中往往具有較高延遲;論文實(shí)驗(yàn)證明,SHIFTED Window 方法帶來的延遲較傳統(tǒng)滑動(dòng)方法更低,且二者的建模能力基本相同。

          基于此,Swin Transformer 在各類回歸任務(wù)、圖像分類、目標(biāo)檢測、語義分割等方面具有極強(qiáng)性能,其性能優(yōu)于 VIT/DEIT 與 RESNE (X) T。

          GitHub 地址:https://github.com/microsoft/Swin-Transformer

          原作者團(tuán)隊(duì)曹越在知乎上的回答:https://www.zhihu.com/question/437495132/answer/1800881612

          論文地址:https://arxiv.org/pdf/2103.14030.pdf

          實(shí)現(xiàn)方法

          Swin Transformer 的架構(gòu)如下圖所示。首先,它與 VIT 一樣將輸入的圖片劃分為多個(gè) Patches,作者使用 4 x 4 的 patch 大小;之后是嵌入層,最后則是作者設(shè)計(jì)的 Swin Transformer BLOCK。

          Swin Transformer Block:此模塊是 Transformer 中使用 Shifted Window 的多 ATTENTION 模塊,具有一致性;Swin Transformer 模塊中包含一個(gè) MSA(多頭 Attention)模塊 SHIFTED WINDOW,之后是 2 層 MLP,接著將 Layernorm 層添加至各 MSA 模塊與各 MLP 層內(nèi),而后是剩余連接。

           基于 Self-Attension 的 SHIFTED Window

          標(biāo)準(zhǔn) Transformer 使用全局 self-attention 以創(chuàng)建各令牌之間的關(guān)系,但這會(huì)令圖像大小增加 2 倍、導(dǎo)致復(fù)雜性隨之提升,因此不適用于處理高強(qiáng)度任務(wù)。為了提升建模效率,作者提出由“部分窗口計(jì)算 Self-Attention”,即假設(shè)各個(gè)窗口均包含 MXM Patches、全局 MSA 模塊與基于窗口的 MSA 模塊,并在 HXW Patches 的圖像之上進(jìn)行復(fù)雜度計(jì)算:

          (1)的復(fù)雜度為 PATCH 數(shù)量 HW 的次生增長;(2)則為線性增長,其中 m 為固定值,但全局 self-attention 為大 HW,因此基于窗口的 Self-Attention 計(jì)算量不會(huì)很高。

           將 SHIFTED Window 拆分為連續(xù)塊

          基于 Windows 的 Self-Attention 雖然擁有線性增長的復(fù)雜度,但其缺少在各窗口之間的連接,因此限制了模型的建模能力。

          為了在容器上引入連接以實(shí)現(xiàn)模型維護(hù),作者提出了 SHIFTED Window 分割的概念。第一個(gè)模塊使用中性窗口分割,并根據(jù)窗口大小的 M=4 放大得出一個(gè) 8 x 8 的特征圖。我們將此窗口劃分為 2 x 2 的形式,而后通過 Shifted Window 設(shè)置下一模塊,將其移動(dòng) M/2 個(gè)像素。

          使用 SHIFTED 結(jié)構(gòu),Swin Transformer Blocks 的計(jì)算如下所示:

          W-MSA 與 SW-MSA 分別表示使用整齊分割與 SHIFTED SELF-ATTENTION。

          Shifted Window 可以跨越多個(gè)窗口向模型添加連接,并保持模型的良好運(yùn)行效率。

           SHIFTED WINDOW 高效批量計(jì)算

          SHIFTED WINDOW 也有自己的問題,即導(dǎo)致窗口數(shù)量增加——由原本的 (h / m xw / m) 個(gè)增加到 ((h / m + 1) x (W / m + 1)) 個(gè),而且其中某些窗口要小于 MXM。這種方法會(huì)將較小的窗口填充為 MXM,并計(jì)算 attention 值以掩蔽填充操作;當(dāng)窗口數(shù)量較少、但大于 2 x 2 時(shí),由此帶來的額外計(jì)算量將相當(dāng)可觀(由 2 x 2 到 3 x 3,計(jì)算量增加達(dá) 2.25 倍)。

          因此,作者提出了一種更為高效的 BATCH 計(jì)算方法,即沿左上角執(zhí)行 Cyclic Shift。在完成這項(xiàng)位移之后,Batch WINDOW 將擁有一張由非相鄰子窗口組成的特征圖,這相當(dāng)于是使用 Cyclic-Shift、Batch-Windows 與整齊窗口分割限制子窗口內(nèi)的 Self-Attention 數(shù)量,從而極大提高了計(jì)算效率。

          相對(duì)位置偏移:

          作者介紹了 Self-Attention 中各頭的相對(duì)位置。偏移 B:

          其中:

          這將顯著提高性能表現(xiàn)。

          作者根據(jù)大小與計(jì)算復(fù)雜度建立起一套基本模型,名為 SWIN-B;同時(shí)引入了 SWIN-T、SWIN-S 與 SWIN-L,其模型大小與復(fù)雜度分別為 0.25 倍、0.5 倍與 2 倍。

          當(dāng)我們將窗口大小 M 設(shè)定為 7 時(shí),各頭部查詢 D 為 32,各擴(kuò)展層的 mlp α為 4。

          其中 C 為初始階段隱藏層的通道數(shù)量。

          具體表現(xiàn)
           圖像分類

          表 1A,從零開始在 ImgeNet-1K 上進(jìn)行訓(xùn)練:

          表 1B,在 ImageNet-22k 上進(jìn)行首輪訓(xùn)練,之后遷移至 ImageNet-1K:

           目標(biāo)檢測

          表 2A,在不同模型幀上使用 Swin Transformer 替代 BackBone:

          表 2C,與 SOTA 的比較結(jié)果:

           語義分割

          表 3,對(duì)于較小模型,可提供比先前 SOTA SETR 更高的 MIOU:

           消融實(shí)驗(yàn)

          表 4,Shifted Window 在相對(duì)位置偏移中的性能改進(jìn):

          表 5,SHIFTED WINDOW 與 CYCLIC 高效執(zhí)行:

          表 6,不同 Self-Attentions 的比較:

          Transformer 在 CV 上的應(yīng)用前景
          有可能替代 CNN 嗎?

          ViT 的出現(xiàn)擴(kuò)大了 Transformer 的使用范圍,這也讓 AI 領(lǐng)域的從業(yè)者開始關(guān)注 Transformer 與 CNN 的關(guān)系。在知乎上,一位用戶提問稱:

          目前已經(jīng)有基于 Transformer 在三大圖像問題上的應(yīng)用:分類(ViT),檢測(DETR)和分割(SETR),并且都取得了不錯(cuò)的效果。那么未來,Transformer 有可能替換 CNN 嗎,Transformer 會(huì)不會(huì)如同在 NLP 領(lǐng)域的應(yīng)用一樣革新 CV 領(lǐng)域?后面的研究思路可能會(huì)有哪些呢?

          關(guān)于這個(gè)問題,很多知乎答主已經(jīng)給出了自己的答案,包括浙江大學(xué)控制科學(xué)與工程博士、復(fù)旦大學(xué)微電子學(xué)院碩士、阿里巴巴高級(jí)算法專家等,大體總結(jié)為未來是否會(huì)形成完全替代尚不好預(yù)測, 但對(duì) CNN 的降維打擊已經(jīng)形成。

          感興趣的用戶可以到知乎閱讀各位答友的完整回答:https://www.zhihu.com/question/437495132/answer/1800881612

          參考鏈接:https://www.programmersought.com/article/61847904617/


          往期精彩:

          【原創(chuàng)首發(fā)】機(jī)器學(xué)習(xí)公式推導(dǎo)與代碼實(shí)現(xiàn)30講.pdf

          【原創(chuàng)首發(fā)】深度學(xué)習(xí)語義分割理論與實(shí)戰(zhàn)指南.pdf

           談中小企業(yè)算法崗面試

           算法工程師研發(fā)技能表

           真正想做算法的,不要害怕內(nèi)卷

           算法工程師的日常,一定不能脫離產(chǎn)業(yè)實(shí)踐

           技術(shù)學(xué)習(xí)不能眼高手低

           技術(shù)人要學(xué)會(huì)自我營銷

           做人不能過擬合

          求個(gè)在看

          瀏覽 67
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  免费视频一区二区三区四区 | 亚洲色图欧洲 | 国产成人高清视频在线观看 | 五月丁香爱| 影音先锋美女 |