<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>

          超越Swin,Transformer屠榜三大視覺任務(wù)!微軟推出新作:Focal Self-Attention

          共 8753字,需瀏覽 18分鐘

           ·

          2021-07-09 18:21

          ↑ 點(diǎn)擊藍(lán)字 關(guān)注極市平臺

          作者丨小馬
          編輯丨極市平臺

          極市導(dǎo)讀

           

          本文提出了Focal Self-Attention,對當(dāng)前token周圍的區(qū)域進(jìn)行細(xì)粒度的關(guān)注,對離當(dāng)前token較遠(yuǎn)的區(qū)域進(jìn)行粗粒度的關(guān)注,用這樣的方式來更加有效的捕獲局部和全局的注意力。基于FSA,作者提出了Focal Transformer,并在分類、檢測、分割任務(wù)上都驗證了結(jié)構(gòu)的有效性。 >>加入極市CV技術(shù)交流群,走在計算機(jī)視覺的最前沿

          寫在前面

          VIsion Transformer(ViT)和它的一系列變種結(jié)構(gòu)在CV任務(wù)中取得了不錯的成績,在其中,Self-Attention(SA)強(qiáng)大的建模能力起到了很大的作用。但是SA的計算復(fù)雜度是和輸入數(shù)據(jù)的大小呈平方關(guān)系的,所以針對一些需要高分辨率的CV任務(wù)(e.g., 檢測、分割),計算開銷就會很大。目前的一些工作用了局部注意力去捕獲細(xì)粒度的信息,用全局注意力去捕獲粗粒度的信息,但這種操作對原始SA建模能力的影響,會導(dǎo)致sub-optimal的問題。因此,本文提出了Focal Self-Attention(FSA),以細(xì)粒度的方式關(guān)注離自己近的token,以粗粒度的方式關(guān)注離自己遠(yuǎn)的token,以此來更有效的捕獲short-range和long-range的關(guān)系?;贔SA,作者提出了Focal Transformer,并在分類、檢測、分割任務(wù)上都驗證了結(jié)構(gòu)的有效性。

          1. 論文和代碼地址

          Focal Self-attention for Local-Global Interactions in Vision Transformers

          論文地址:https://arxiv.org/abs/2107.00641

          代碼地址:未開源

          核心代碼:后期會復(fù)現(xiàn)在https://github.com/xmu-xiaoma666/External-Attention-pytorch

          2. Motivation

          目前,Transformer結(jié)構(gòu)在CV和NLP領(lǐng)域都展現(xiàn)出了潛力。相比于CNN,Transformer結(jié)構(gòu)最大的不同就是它的Self-Attention(SA)能夠進(jìn)行依賴內(nèi)容的全局交互(global content-dependent interaction),使得Transformer能夠捕獲long-range和local-range的關(guān)系。

          上圖是DeiT-Tiny的attention可視化,可以看出,SA不僅能夠像CNN那樣關(guān)注局部區(qū)域,還能進(jìn)行全局信息的感知。然而Transformer的計算量與輸入數(shù)據(jù)的大小呈平方關(guān)系,因此對于檢測、分割任務(wù)來說是非常不友好的。

          因此,本文提出了一個Focal Self-Attention(FSA),如上圖所示,對當(dāng)前token周圍的區(qū)域進(jìn)行細(xì)粒度的關(guān)注,對離當(dāng)前token較遠(yuǎn)的區(qū)域進(jìn)行粗粒度的關(guān)注,用這樣的方式來更加有效的捕獲局部和全局的注意力?;贔SA,本文提出了Focal Transformer,并在多個任務(wù)上進(jìn)行了實(shí)驗,取得了SOTA的性能。

          3. 方法

          3.1. 模型結(jié)構(gòu)

          本文的模型結(jié)構(gòu)如上圖所示,首先將圖片分成4x4的patch。然后進(jìn)入Patch Embedding層,Patch Embedding層為卷積核和步長都為4的卷積。在進(jìn)入N個Focal Transformer層,在每個stage中,特征的大小減半,通道維度變?yōu)樵瓉淼膬杀?。如果采用SA,由于這里指將圖片縮小了四倍,因此第一層Transformer layer的SA計算復(fù)雜度為 ,這一步是非常耗時、耗顯存的。

          那么,應(yīng)該采用什么樣的辦法來減少計算量呢?原始的SA將query token和其他所有token都進(jìn)行了相似度的計算,因為無差別的計算了所有token的相似度,導(dǎo)致這一步是非常耗時、耗顯存的。但其實(shí),對于圖片的某一個點(diǎn),與這個點(diǎn)的信息最相關(guān)的事這個點(diǎn)周圍的信息,距離越遠(yuǎn),這個關(guān)系應(yīng)該就越小。所以作者就提出了,對于這個點(diǎn)周圍的信息進(jìn)行細(xì)粒度的關(guān)注,距離這個點(diǎn)越遠(yuǎn),關(guān)注也就越粗粒度。(個人覺得這一點(diǎn)其實(shí)跟人眼觀察的效應(yīng)很像,當(dāng)我們看一件物體的,我們最關(guān)注的是離這個物體更近的區(qū)域,對于遠(yuǎn)離這個物體的區(qū)域,關(guān)注程度就會更小甚至直接忽視)。

          3.2. Focal Self-Attention(FSA)

          傳統(tǒng)的SA由于對所有的token都進(jìn)行細(xì)粒度的關(guān)注,因此是非常費(fèi)時的;本文提出的FSA對靠近當(dāng)前token的信息進(jìn)行更加細(xì)粒度的關(guān)注,對遠(yuǎn)離當(dāng)前token的信息進(jìn)行粗粒度的關(guān)注。在論文中,粗粒度的關(guān)注指的是將多個token的信息進(jìn)行聚合(也就是下面講到的sub-window pooling),因此聚合的token越多,那么關(guān)注也就越粗粒度,在相同的代價下,F(xiàn)SA的感受野也就越大。下圖展示了對這attended token數(shù)量的增加,SA和FSA感受野的變化:

          3.3. Window-wise attention

          如上圖所示

          Focal Self-Attention的結(jié)構(gòu)如上圖所示,首先明確三個概念:

          Focal levels   :可以表示FSA中對特征關(guān)注的細(xì)粒度程度。level L的下標(biāo)越小,對特征關(guān)注也就越精細(xì)。

          Focal window size   :作者將token劃分成了多個sub-window,focal window size指的是每個sub-window的大小。

          Focal region size   :focal region size是橫向和縱向的sub-window數(shù)量。

          3.3.1. Sub-window pooling

          功能:

          這一步的作用是用來聚合信息的,因為前面也說到了,Self-Attention是對所有的token信息都進(jìn)行細(xì)粒度的關(guān)注,導(dǎo)致計算量非常大。所以作者就想到,能不能只對query token周圍的信息進(jìn)行細(xì)粒度關(guān)注,遠(yuǎn)離的query token的信息進(jìn)行粗粒度的關(guān)注。那么,如何來表示這個粗粒度呢,作者就提出了sub-window pooling這個方法,將多個token的信息進(jìn)行聚合,以此來減少計算量。那么,聚合的token數(shù)越多,后期attention計算需要的計算量也就越小,當(dāng)然,關(guān)注的程度也就更加粗粒度。

          計算流程:

          每個focal level中,首先將token劃分成多個 的sub-window,然后用一個線性層 進(jìn)行pooling操作:

          pooling后的特征提供了細(xì)粒度或者粗粒度的信息。比如,level 1的 ,所以pooling并沒有對特征進(jìn)行降采樣,所以處理之后的特征是細(xì)粒度的;同理level 2和level 3,特征分別縮小到了原來的1/2和1/4,因此越遠(yuǎn)離query token的特征,信息表示就越是粗粒度的。此外,由于 通常是比較小的,所以這一步的參數(shù)幾乎是可以忽略不計的。

          3.3.2. Attention computation

          功能:

          在上一步中,我們用sub-window pooling進(jìn)行了信息聚合操作,以此來獲得不同細(xì)粒度的特征。接下來,我們就需要對這些不同細(xì)粒度的信息進(jìn)行attention的計算。具體的步驟其實(shí)和標(biāo)準(zhǔn)的Self-Attention很像,主要不同之處有兩點(diǎn)1)引入了相對位置編碼,來獲取相對位置信息;2)每個query和所有細(xì)粒度的key和value都進(jìn)行了attention的計算,因此本文方法的計算量其實(shí)還是不算小的。

          計算流程:

          經(jīng)過sub-window pooling之后,就獲得不同細(xì)粒度和感受野的特征表示。接下來這一步,我們需要對local和global的特征進(jìn)行attention計算。首先,我們通過三個線性層計算當(dāng)前l(fā)evel的Q和所有l(wèi)evel的K、V:

          接著,我們將當(dāng)前l(fā)evel的Q和所有l(wèi)evel的K、V進(jìn)行帶相對位置編碼的Self-Attention:

          其中B是可學(xué)習(xí)的相對位置編碼的參數(shù)。

          3.4. Model Configuration

          基于FSA,作者提出了三個不同大小的Focal Transformer實(shí)例,具體的參數(shù)設(shè)置如下所示。

          4.實(shí)驗

          4.1. ImageNet上的結(jié)果

          作者對比了三個Focal Transfermer實(shí)例和其他SOTA模型的對比,可以看出在參數(shù)量和計算量相當(dāng)?shù)那闆r下,本文的Focal Transformer確實(shí)能取得比較好的結(jié)果。

          4.2. 目標(biāo)檢測和分割任務(wù)上的結(jié)果

          從上圖中可以看出,在計算量相差不大情況下,F(xiàn)ocal Transformer的各個指標(biāo)都有明顯的提升。

          為了進(jìn)行進(jìn)一步的探究,作者還在不同的目標(biāo)檢測框架下對不同的backbone進(jìn)行了實(shí)驗,可以看出,focal Transformer相比于Resnet-50和Swin-Transformer都能有非常明顯的性能提升。

          上面兩張圖分別展示了不同模型在ADE20K上語義分割和COCO上目標(biāo)檢測的結(jié)果,可以看出,本文的方法在性能上還是有很大的優(yōu)越性。

          4.3. 消融實(shí)驗

          4.3.1. 不同window size的影響

          可以看出,更大的window size能夠有更好的性能;在相同計算量或者window size下,F(xiàn)ocal-Tiny的性能明顯優(yōu)于Swin-Tiny。

          4.3.2. Window Shifting的影響

          可以看出Window Shifting對于分類任務(wù)性能的提高是有反效果的;但是有利于檢測、分割任務(wù)的性能提升。

          4.3.3. Short-Range和Long-Range信息交互的影響

          可以看出,在不同任務(wù)上,Local+Global的信息交互明顯優(yōu)于只有Local或者Global。

          4.3.4. 模型深度的影響

          上面展示了stage3采用不同層數(shù)的實(shí)驗結(jié)果,可以看出層數(shù)并不是越多越好,F(xiàn)ocal Transformer深度為4的效果要由于深度為6。

          5. 總結(jié)

          本文提出了一個能夠進(jìn)行l(wèi)ocal-global信息交互的attention模塊——Focal Self-Attention(FSA),F(xiàn)SA能夠?qū)ο噜彽奶卣鬟M(jìn)行細(xì)粒度的關(guān)注,對距離較遠(yuǎn)的特征進(jìn)行粗粒度的關(guān)注,從而實(shí)現(xiàn)有效的local-global信息交互。但是FSA引入了額外的顯存占用和計算量,因此雖然性能上得到了不錯的提升,但是高分辨率圖像的預(yù)測任務(wù),依舊不是非常友好。

          這是繼VOLO、CoAtNet之后又一篇在局部信息建模上做出來的文章,這也說明了局部信息建模這個部分對于圖像理解任務(wù)來說確實(shí)是非常重要的,“局部假設(shè)偏置+Transformer強(qiáng)大的全局建模能力”這一操作確實(shí)是非常有效的。相比于VOLO、CoAtNet,本文的方法是將局部和全局信息的建模放在一個結(jié)構(gòu)中,而不是對局部和全局信息分別建模后,簡單地再將局部和全局建模結(jié)構(gòu)進(jìn)行串聯(lián)和并聯(lián)。

          如果覺得有用,就請分享到朋友圈吧!

          △點(diǎn)擊卡片關(guān)注極市平臺,獲取最新CV干貨

          公眾號后臺回復(fù)“目標(biāo)跟蹤”獲取目標(biāo)跟蹤綜述~


          極市干貨
          YOLO教程:一文讀懂YOLO V5 與 YOLO V4大盤點(diǎn)|YOLO 系目標(biāo)檢測算法總覽全面解析YOLO V4網(wǎng)絡(luò)結(jié)構(gòu)
          實(shí)操教程:PyTorch vs LibTorch:網(wǎng)絡(luò)推理速度誰更快?只用兩行代碼,我讓Transformer推理加速了50倍PyTorch AutoGrad C++層實(shí)現(xiàn)
          算法技巧(trick):深度學(xué)習(xí)訓(xùn)練tricks總結(jié)(有實(shí)驗支撐)深度強(qiáng)化學(xué)習(xí)調(diào)參Tricks合集長尾識別中的Tricks匯總(AAAI2021
          最新CV競賽:2021 高通人工智能應(yīng)用創(chuàng)新大賽CVPR 2021 | Short-video Face Parsing Challenge3D人體目標(biāo)檢測與行為分析競賽開賽,獎池7萬+,數(shù)據(jù)集達(dá)16671張!


          極市原創(chuàng)作者激勵計劃 #


          極市平臺深耕CV開發(fā)者領(lǐng)域近5年,擁有一大批優(yōu)質(zhì)CV開發(fā)者受眾,覆蓋微信、知乎、B站、微博等多個渠道。通過極市平臺,您的文章的觀點(diǎn)和看法能分享至更多CV開發(fā)者,既能體現(xiàn)文章的價值,又能讓文章在視覺圈內(nèi)得到更大程度上的推廣。

          對于優(yōu)質(zhì)內(nèi)容開發(fā)者,極市可推薦至國內(nèi)優(yōu)秀出版社合作出書,同時為開發(fā)者引薦行業(yè)大牛,組織個人分享交流會,推薦名企就業(yè)機(jī)會,打造個人品牌 IP。

          投稿須知:
          1.作者保證投稿作品為自己的原創(chuàng)作品。
          2.極市平臺尊重原作者署名權(quán),并支付相應(yīng)稿費(fèi)。文章發(fā)布后,版權(quán)仍屬于原作者。
          3.原作者可以將文章發(fā)在其他平臺的個人賬號,但需要在文章頂部標(biāo)明首發(fā)于極市平臺

          投稿方式:
          添加小編微信Fengcall(微信號:fengcall19),備注:姓名-投稿
          △長按添加極市平臺小編


          覺得有用麻煩給個在看啦~  
          瀏覽 74
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <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>
                  国产黄片在线免费观看 | 天天看天天插 | 成年美女黄网站色奶头大全 | 成人黄色在线看 | 婷婷高潮在线观看一区二区 |