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

          阿里提出QuadTree Transformer | 最輕、最強的Vision Transformer Backbone

          共 7003字,需瀏覽 15分鐘

           ·

          2022-02-10 15:59

          Transformers在許多視覺任務(wù)中都很成功,因為它們具有捕捉長期依賴性的能力。然而,它們的二次計算復(fù)雜度阻礙了將它們應(yīng)用于需要密集預(yù)測的視覺任務(wù)之中,如目標(biāo)檢測、特征匹配、立體視覺等。

          本文引入QuadTree Attention,將計算復(fù)雜度從二次降低到線性。QuadTree Transformer構(gòu)建token pyramid,并以一種從粗到細(xì)的方式計算Attention。在每個level上,選擇注意力得分最高的top-K個patches,這樣在下一level上,只在這top-K個patches對應(yīng)的相關(guān)區(qū)域內(nèi)進(jìn)行注意力評估。

          作者證明了QuadTree Attention在各種視覺任務(wù)中達(dá)到了最先進(jìn)的性能,例如ScanNet的特征匹配性能提高了2.7%,F(xiàn)LOPs減少了約50%,ImageNet分類的Top-1準(zhǔn)確率提高了0.6-1.4%,COCO目標(biāo)檢測FLOPs降低了30%,精度提高了1.3-1.6%。

          1簡介

          Transformer可以通過注意力模塊捕獲長期依賴關(guān)系,并在自然語言處理任務(wù)中顯示出巨大的成功。近年來,Transformer也被用于計算機視覺任務(wù),用于圖像分類、目標(biāo)檢測、語義分割、特征匹配等。通常情況下,圖像被分成幾個小的patches,這些小patches被Flatten并作為單詞符號輸入Transformer,以評估注意力得分。而在Token數(shù)量上,即圖像patch的數(shù)量上,Transformer的計算復(fù)雜度是二次的。因此,將Transformer應(yīng)用于計算機視覺應(yīng)簡化所涉及的計算。

          為了在視覺任務(wù)中利用標(biāo)準(zhǔn)Transformer,許多工作選擇在低分辨率或稀疏Token上應(yīng)用它。ViT使用16×16像素的粗圖像塊來限制Token的數(shù)量。DPT將ViT的低分辨率結(jié)果提升到高分辨率特征圖,以實現(xiàn)密集任務(wù)的預(yù)測。SuperGlue將Transformer應(yīng)用于稀疏圖像關(guān)鍵點。Germain和Li等人專注于通信和立體匹配應(yīng)用,也將Transformer應(yīng)用于低分辨率特征圖。

          然而,正如在若干工作中所展示的,高分辨率Transformer的應(yīng)用有利于各種任務(wù)。因此,設(shè)計高效的Transformer以降低計算復(fù)雜度已成為許多研究的重點。線性近似Transformer使用線性方法近似標(biāo)準(zhǔn)的注意力計算。然而,實證研究表明,線性Transformer在視覺任務(wù)方面較差。為了降低計算成本,PVT使用下采樣的key和value,這對捕獲像素級細(xì)節(jié)是有害的。相比之下,Swin Transformer將局部窗口中的注意力限制在一個注意力塊中,這可能會損害長期依賴關(guān)系(這是Transformer最重要的優(yōu)點)。

          與之前的所有工作不同,本文設(shè)計了一個高效的視覺Transformer,它可以捕捉精細(xì)的圖像細(xì)節(jié)和長期依賴關(guān)系。在觀察到大多數(shù)圖像區(qū)域是不相關(guān)的啟發(fā)下,構(gòu)建了Token pyramids,并以從粗到細(xì)的方式計算注意力。這樣,當(dāng)對應(yīng)的粗粒度區(qū)域沒有前景時,可以快速跳過細(xì)粒度的不相關(guān)區(qū)域。

          圖1

          如圖1所示,在level-1,用B中的所有patch計算A中的藍(lán)色patch的注意力,并選擇top-K個patch(這里K=2),這也是用藍(lán)色高亮顯示的;在level-2中,對于A圖中4個Patches內(nèi)的sub-patch(即level-1的藍(lán)色patch對應(yīng)的sub-patch),這里只使用level-1 B圖中top-K個patch對應(yīng)的sub-patch來計算它們的注意力。所有其他的陰影sub-patch被跳過以減少計算。這里用黃色和綠色標(biāo)出A圖中的2個sub-patch。B圖中對應(yīng)的top-K個patch也用同樣的顏色高亮顯示。這個過程在level-3進(jìn)行迭代,在level-3中,只顯示與level-1的綠色sub-patch相對應(yīng)的sub-sub-patch。

          通過這種方式,該方法既能獲得精細(xì)的規(guī)模注意力,又能保持長期的聯(lián)系。最重要的是,在整個過程中只有稀疏的注意力被評估。因此,本文方法具有較低的內(nèi)存和計算成本。

          在實驗中,證明了QuadTree Transformer在需要cross attention的任務(wù)(如特征匹配和立體視覺)和只使用Self-Attention的任務(wù)(如圖像分類和目標(biāo)檢測)中的有效性。

          與相關(guān)的Efficient Transformer相比,QuadTree Transformer實現(xiàn)了最先進(jìn)的性能,顯著減少了計算量。

          在特征匹配方面,在ScanNet中實現(xiàn)了60.3 AUC@20,比線性Transformer高2.7,但FLOPs類似。

          在立體匹配中,實現(xiàn)了與標(biāo)準(zhǔn)Transformer相似的端點誤差,但減少了約50%的FLOPs和40%的內(nèi)存。

          在圖像分類方面,在ImageNet中獲得了82.6%的top-1準(zhǔn)確率,比ResNet高6.2%,比Swin Transformer-T高1.3%,且參數(shù)更少,F(xiàn)LOPs數(shù)更少。

          在目標(biāo)檢測方面,QuadTree Attention+RetinaNet在COCO中獲得了46.2 AP,比PVTv2 Backbone高1.6,但FLOPs降低了約35%。

          2相關(guān)工作

          2.1 Efficient Transformers

          變形金剛在自然語言處理和計算機視覺方面都取得了巨大的成功。由于二次型計算的復(fù)雜性,在處理長序列令牌時無法進(jìn)行充分注意的計算。因此,許多工作都在設(shè)計高效的變壓器,以降低計算復(fù)雜度。Efficient Transformers可分為3類:

          1. Linear approximate attention:通過對softmax注意力進(jìn)行線性化來近似全注意矩陣,通過先計算key和value的乘積來加速計算;

          2. Point-Based Linear Transformers:使用學(xué)習(xí)過的固定大小的誘導(dǎo)點對輸入符號進(jìn)行關(guān)注,從而將計算量降低到線性復(fù)雜度。然而,在不同的工作條件下,這些線性Transformer的性能都不如標(biāo)準(zhǔn)Transformer。

          3. Sparse attention:包括Longformer、Big Bird等,每個query token都是針對key和value token的一部分,而不是整個序列。

          與這些研究不同的是,QuadTree Attention可以根據(jù)粗糙水平上的注意力分?jǐn)?shù)快速跳過無關(guān)token。因此,在保持較高效率的同時,實現(xiàn)了較少的信息損失。

          2.2 Vision Transformers

          Transformers在許多視覺任務(wù)中都表現(xiàn)出了非凡的表現(xiàn)。ViT將Transformers應(yīng)用于圖像識別,證明了Transformers在大規(guī)模圖像分類方面的優(yōu)越性。然而,由于Softmax注意力的計算復(fù)雜度,在密集的預(yù)測任務(wù)中,如目標(biāo)檢測、語義分割等,很難應(yīng)用Transformers。

          為了解決這個問題,Swin Transformer限制了局部窗口中的注意力計算。Focal Transformers使用2層窗口來提高捕獲遠(yuǎn)程連接的能力,以實現(xiàn)局部注意力方法。金字塔視覺Transformers(PVT)通過下采樣key和value token來減少全局注意力方法的計算量。盡管這些方法在各種任務(wù)中都顯示出了改進(jìn),但它們在捕獲長期依賴或精細(xì)水平注意力方面都存在缺陷。與這些方法不同的是,QuadTree Attention通過在單個塊中計算出從全圖像級別到最優(yōu)token級別的注意力,同時捕獲局部和全局注意力。此外,K-NN Transformers從與最相似的top-K個token中聚合消息,但KNN計算所有對query token和key token之間的注意力得分,因此仍然具有二次復(fù)雜度。

          除了Self-Attention,許多任務(wù)在很大程度上都能從Cross Attention中受益。Superglue過程檢測具有Self-Attention和Cross Attention的局部描述符,并在特征匹配方面顯示出顯著的改進(jìn)。標(biāo)準(zhǔn)Transformer可以應(yīng)用于SuperGlue,因為只考慮稀疏的關(guān)鍵點。SGMNet通過seeded matches進(jìn)一步減少了計算量。LoFTR在低分辨率特征圖上利用線性Transformer生成密集匹配。對于立體匹配,STTR沿著極線應(yīng)用Self-Attention和Cross Attention,并通過梯度檢查點減少了內(nèi)存消耗。然而,由于需要處理大量的點,這些工作要么使用有損性能的線性Transformer,要么使用有損效率的標(biāo)準(zhǔn)Transformer。

          相比之下,QuadTree Transformer與線性Transformer相比具有顯著的性能提升,或與標(biāo)準(zhǔn)Transformer相比效率提高。此外,它還可以應(yīng)用于Self-Attention和Cross Attention。

          3QuadTree Transformer

          3.1 Attention in Transformer

          Vision Transformers在許多任務(wù)中都取得了巨大的成功。Transformer的核心是注意力模塊,它可以捕獲特征嵌入之間的遠(yuǎn)程信息。給定2個圖像嵌入點,注意力模塊在它們之間傳遞信息。自注意力機制是指相同時的情況,而Cross Attention則是指不同時更普遍的情況。它首先通過下面的等式生成query Q、key K和value V,

          其中,、都是可學(xué)習(xí)的參數(shù)。然后,通過計算query和key之間的注意力得分來進(jìn)行消息聚合,如下:

          其中,C是嵌入通道的維數(shù)。上述過程具有的計算復(fù)雜度,其中N是Vision Transformer中圖像patch的數(shù)量。這種二次復(fù)雜度阻礙了Transformer被應(yīng)用于需要高分辨率輸出的任務(wù)。為了解決這個問題,PVT采用了下采樣K和V,而Swin Transformer限制了局部窗口內(nèi)的注意力計算。

          3.2 QuadTree Attention

          為了降低Vision Transformer的計算成本,提出了QuadTree Attention。顧名思義,借用了 quadtrees的概念, quadtrees通常用于遞歸地將二維空間細(xì)分為4個象限或區(qū)域。QuadTree Attention以粗到細(xì)的方式計算注意力。根據(jù)粗級的結(jié)果,在細(xì)級快速跳過不相關(guān)的圖像區(qū)域。這種設(shè)計在保持高效率的同時,減少了信息損失。

          與常規(guī)Transformer一樣,首先將線性投影到query、key和value token上。為了方便快速的注意力計算,本文通過下采樣特征映射構(gòu)造L-level金字塔用于query Q、key K和value V token。

          • 對于query和key token,使用平均池層;

          • 對于value token,如果是交叉注意力任務(wù)則使用平均池化,如果時Self-Attention任務(wù),則使用stride為2的Conv-BN-ReLU。

          如圖1所示,在計算了粗粒度的注意力分?jǐn)?shù)后,對于每個query token,選擇注意力分?jǐn)?shù)最高的top-K個key token。在細(xì)粒度上,query sub token只需要用那些對應(yīng)于粗粒度上所選K個key token之一的key sub token來計算。這個過程不斷重復(fù),直到達(dá)到最好的水平。在計算了注意力分?jǐn)?shù)之后,在所有粒度上聚合信息,這里設(shè)計了2個架構(gòu),稱為QuadTree-AQuadTree-B。

          1、QuadTree-A

          考慮到最佳級別的第個query token ,需要從所有key token計算其收到的消息。該設(shè)計通過收集不同金字塔層次的部分信息來組裝完整的信息。具體地說,

          其中,表示在level-l計算的partial messages。這個partial messages 從區(qū)域內(nèi)的token在level-l聚集信息。通過這種方式,來對自較少相關(guān)區(qū)域的信息進(jìn)行粗粒度計算,而對來自高度相關(guān)區(qū)域的信息以精細(xì)粒度計算。

          圖2

          該方案如圖2(b)所示,messages 是由不同圖像區(qū)域不同顏色的3個partial messages生成的,共同覆蓋整個圖像空間。綠色區(qū)域表示最相關(guān)的區(qū)域,在最精細(xì)的level上評價和計算,而紅色區(qū)域是最不相關(guān)的區(qū)域,在最粗的level上進(jìn)行評價和計算。

          區(qū)域可以定義為,其中圖像區(qū)域對應(yīng)于的top-K token。區(qū)域如圖2(c)。所示區(qū)域覆蓋了整個圖像。

          partial messages的計算如下:

          其中,是在level-l的query和key token之間的注意力得分。圖2(a)顯示了與相同顏色計算時涉及的query和key token。注意力分?jǐn)?shù)被遞歸地計算出來,

          這里,是對應(yīng)的 parent query和key token和的得分。根據(jù)公式1在同一parent query token的2×2 token中評估tentative attention得分對于QuadTree-A,使用平均池化層對所有query、key和value token進(jìn)行下采樣。

          2、QuadTree-B

          QuadTree-A中從所有層次上遞歸計算的注意力分?jǐn)?shù),這使得在更精細(xì)的層次上的分?jǐn)?shù)變小,并減少了精細(xì)圖像特征的貢獻(xiàn)。此外,精細(xì)水平的得分也在很大程度上受到粗水平的不準(zhǔn)確性的影響。因此,設(shè)計了一個不同的方案,稱為QuadTree-B來解決這個問題。具體來說,計算作為來自不同level的partial messages的加權(quán)平均值,

          其中是一個學(xué)習(xí)得到的權(quán)重。如圖2(c)所示,這里的partial messages相互重疊,計算結(jié)果為:

          其中,Attention是attention message的計算,如式1。在這里,是通過在區(qū)域內(nèi)疊加所有的key和value而形成的矩陣。

          QuadTree-A和QuadTree-B都只涉及稀疏注意力評價。因此,該方法大大降低了計算復(fù)雜度。QuadTree Attention的計算復(fù)雜度與Token的數(shù)量是線性的。

          3、Multiscale position encoding

          注意力的計算對token來說是排列不變的,因此會丟失位置信息。為了解決這個問題,作者在每個層次上采用局部增強的位置編碼(LePE) 來設(shè)計一個多尺度的位置編碼。具體來說,對于level-l,對value token 應(yīng)用非共享深度卷積層來編碼位置信息。

          3.3 與其他注意力機制的對比

          為了與其他注意力機制進(jìn)行公平的比較,作者在相同的backbone和訓(xùn)練設(shè)置下測試了這些注意力機制。

          表5

          具體來說,將PVTv2-Bb中原有的注意力模塊替換為Swin Transformer和Focal Transformer中使用的注意力方法。為了更公平的比較,采用與PVTv2、Swin和Focal Transformer相同的位置編碼LePE。如表5所示,QuadTree Attention在分類任務(wù)和檢測任務(wù)中都比Swin和PVTv2獲得了更好的性能。

          與Focal Attention相比,QuadTree Attention在目標(biāo)檢測上的結(jié)果提高了1.0,這可能是因為QuadTree Attention總是能夠覆蓋整個圖像,而Focal Attention在第一階段只覆蓋了圖像的1/6。

          圖5

          對于Cross Attention任務(wù),本文提供了可視化的注意力分?jǐn)?shù),如附錄e中的圖5所示。QuadTree Attention可以注意到比PVT和Linear attention更多的相關(guān)區(qū)域。

          4實驗

          4.1 Cross-Attention Task

          1、特征匹配

          表1

          2、立體匹配

          表2

          4.2 Self-Attention Task

          1、圖像分類

          表3

          2、目標(biāo)檢測

          表4

          5參考

          [1].QUADTREE ATTENTION FOR VISION TRANSFORMERS

          6推薦閱讀

          MoA-Transformer | Swin-Transformer應(yīng)該如何更好地引入全局信息?

          2022-02-07

          致敬ATSS | Dynamic ATSS再造ATSS輝煌?。?!

          2022-01-26

          RepVGG溯源 | RepVGG作者前期作品,ACNet零算力白嫖性能(附Pytorch代碼詳解)

          2022-01-20

          元宇宙知識 | 如何在元宇宙中應(yīng)用眾多GAN模型???

          2022-01-26


          長按掃描下方二維碼添加小助手并加入交流群,群里博士大佬云集,每日討論話題有目標(biāo)檢測、語義分割、超分辨率、模型部署、數(shù)學(xué)基礎(chǔ)知識、算法面試題分享的等等內(nèi)容,當(dāng)然也少不了搬磚人的扯犢子

          長按掃描下方二維碼添加小助手。

          可以一起討論遇到的問題

          聲明:轉(zhuǎn)載請說明出處

          掃描下方二維碼關(guān)注【集智書童】公眾號,獲取更多實踐項目源碼和論文解讀,非常期待你我的相遇,讓我們以夢為馬,砥礪前行!

          瀏覽 44
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  青春草视频在线免费观看 | 国产精品久久久久久久久免费相片 | 糖心一区二区三区四区在线看 | 三级片无码麻豆视频 | 欧美成人系列 |