微软中山大学开源超强的视觉位置编码,涨点显著
文 | 小馬
源 | 極市平臺(tái)
1.寫在前面
由于Transformer對(duì)于序列數(shù)據(jù)進(jìn)行并行操作,所以序列的位置信息就被忽略了。因此,相對(duì)位置編碼(Relative position encoding, RPE)是Transformer獲取輸入序列位置信息的重要方法,RPE在自然語言處理任務(wù)中已被廣泛使用。
但是,在計(jì)算機(jī)視覺任務(wù)中,相對(duì)位置編碼的有效性還沒有得到很好的研究,甚至還存在爭(zhēng)議。因此,作者在本文中先回顧了現(xiàn)有的相對(duì)位置編碼方法,并分析了它們?cè)谝曈XTransformer中應(yīng)用的優(yōu)缺點(diǎn)。接著,作者提出了新的用于二維圖像的相對(duì)位置編碼方法(iRPE)。iRPE考慮了方向,相對(duì)距離,Query的相互作用,以及Self-Attention機(jī)制中相對(duì)位置embedding。作為一個(gè)即插即用的模塊,本文提出的iREP是簡(jiǎn)單并且輕量級(jí)的。
實(shí)驗(yàn)表明,通過使用iRPE,DeiT和DETR在ImageNet和COCO上,與原始版本相比,分別獲得了1.5%(top-1 Acc)和1.3%(mAP)的性能提升(無需任何調(diào)參)。
論文標(biāo)題:
Rethinking and Improving Relative Position Encoding for Vision Transformer
論文鏈接:
https://arxiv.org/abs/2107.14222
GitHub鏈接:
https://github.com/microsoft/AutoML/tree/main/iRPE
Arxiv訪問慢的小伙伴也可以在 【夕小瑤的賣萌屋】訂閱號(hào)后臺(tái)回復(fù)關(guān)鍵詞 【0810】 下載論文PDF~
2.研究動(dòng)機(jī)
Transformer最近在計(jì)算機(jī)視覺領(lǐng)域引起了極大的關(guān)注,因?yàn)樗哂袕?qiáng)大的性能和捕獲Long-range關(guān)系的能力。然而,Transformer中的Self-Attention有一個(gè)固有的缺陷——它不能捕獲輸入token的順序。因此,Transformer在計(jì)算的時(shí)候就需要顯式的引入位置信息。
為Transformer編碼位置表示的方法主要有兩類。一個(gè)是絕對(duì)位置編碼,另一個(gè)是相對(duì)位置編碼。絕對(duì)位置編碼將輸入token的絕對(duì)位置從1編碼到最大序列長(zhǎng)度。也就是說,每個(gè)位置都有一個(gè)單獨(dú)的編碼向量。然后將編碼向量與輸入token組合,使得模型能夠知道每個(gè)token的位置信息。相對(duì)位置編碼對(duì)輸入token之間的相對(duì)距離進(jìn)行編碼,從而來學(xué)習(xí)token的相對(duì)關(guān)系。
這兩種編碼方式在NLP任務(wù)中都被廣泛應(yīng)用,并且證明是非常有效的。但是在CV任務(wù)中,它們的有效性還沒被很好的探索。因此,在本文中,作者重新思考并改進(jìn)相對(duì)位置編碼在視覺Transformer中的使用。
在本文中,作者首先回顧了現(xiàn)有的相對(duì)位置編碼方法,然后提出了專門用于二維圖像的方法iRPE。
3.方法
方法背景
絕對(duì)位置編碼
由于Transformer不包含遞歸和卷積,為了使模型知道序列的順序,需要注入一些關(guān)于token位置的信息。原始Self-Attention采用了絕對(duì)位置,并添加絕對(duì)位置編碼到輸入token,用公式表示如下:
相對(duì)位置編碼
除了每個(gè)輸入token的絕對(duì)位置之外,一些研究人員還考慮了token之間的相對(duì)關(guān)系。相對(duì)位置編碼使得Transformer能夠?qū)W習(xí)token之間的相對(duì)位置關(guān)系,用公式表示如下:
回顧相對(duì)位置編碼
Shaw’s RPE
[1]提出一種Self-Attention的相對(duì)位置編碼方法。輸入token被建模為一個(gè)有向全連通圖。每條邊都代表兩個(gè)位置之間的相對(duì)位置信息。此外,作者認(rèn)為精確的相對(duì)位置信息在一定距離之外是無用的,因此引入了clip函數(shù)來減少參數(shù)量,公式表示如下:
RPE in Transformer-XL
[2]為query引入額外的bias項(xiàng),并使用正弦公式進(jìn)行相對(duì)位置編碼,用公式表示如下:
Huang’s RPE
[3]提出了一種同時(shí)考慮query、key和相對(duì)位置交互的方法,用公式表示如下:
RPE in SASA
上面的相對(duì)位置編碼都是針對(duì)一維的序列,[4]提出了一種對(duì)二維特征進(jìn)行相對(duì)位置編碼的方法,用公式表示如下:
相對(duì)位置編碼的確定
接下來,作者引入了多種相對(duì)位置編碼方式,并進(jìn)行了詳細(xì)的分析。首先,為了研究編碼是否可以獨(dú)立于輸入token,作者引入了兩種相對(duì)位置模式:Bias模式和Contextual模式。然后,為了研究方向性的重要性,作者設(shè)計(jì)了兩種無向方法和兩種有向方法。
Bias Mode and Contextual Mode
以前的相對(duì)位置編碼方法都依賴于輸入token,因此,作者就思考了,相對(duì)位置的編碼信息能否獨(dú)立于輸入token來學(xué)習(xí)。基于此,作者引入相對(duì)位置編碼的Bias模式和Contextual模式來研究這個(gè)問題。前者獨(dú)立于輸入token,而后者考慮了與query、key或value的交互。無論是哪種模式,相對(duì)位置編碼都可以用下面的公式表示:
對(duì)于Bias模式,編碼獨(dú)立于輸入token,可以表示成:
對(duì)于Contextual 模式,編碼考慮了與輸入token之間的交互,可以表示成:
A Piecewise Index Function
由于實(shí)際距離到計(jì)算距離的關(guān)系是多對(duì)一的關(guān)系,所以首先需要定義一個(gè)實(shí)際距離到計(jì)算距離的映射函數(shù)。先前有工作提出了采用clip函數(shù)來進(jìn)行映射,如下所示:
在這種方法中,相對(duì)距離大于的位置分配給相同的編碼,因此丟失了遠(yuǎn)距離相對(duì)位置的上下文信息。
在本文中,作者采用了一種分段函數(shù)將相對(duì)距離映射到相應(yīng)的編碼。這個(gè)函數(shù)基于一個(gè)假設(shè):越近鄰的信息越重要,并通過相對(duì)距離來分配注意力。函數(shù)如下:
如下圖所示,相比于先前的方法,本文提出的方法感知距離更長(zhǎng),并且對(duì)不同的距離分布施加了不同程度的注意力。
2D Relative Position Calculation
為了衡量二維圖像上兩個(gè)點(diǎn)的相對(duì)距離,作者提出了兩種無向方法(Euclidean method,Quantization method)和兩種有向方法(Cross method,Product method),如上圖所示。
Euclidean method
在Euclidean method中,作者采用了歐氏距離來衡量?jī)蓚€(gè)點(diǎn)之間的距離,如上圖a所示:
Quantization method
在上述的Euclidean method中,具有不同相對(duì)距離的兩個(gè)距離可能映射到同一距離下標(biāo)(比如二維相對(duì)位置(1,0)和(1,1)都映射到距離下標(biāo)1中)。因此,作者提出Quantization method,如上圖b所示,公式如下所示:
函數(shù)可以映射一組實(shí)數(shù)到一組整數(shù)0,1,2,3,4,...。
Cross method
像素的位置方向?qū)D像理解也很重要,因此作者又提出了有向映射方法。Cross method分別計(jì)算水平方向和垂直方向上的編碼,然后對(duì)它們進(jìn)行匯總。編碼信息如上圖c所示,公式如下:
Product method
如果一個(gè)方向上的距離相同(水平或垂直),Cross method將會(huì)把不同的相對(duì)位置編碼到相同的embedding中。因此,作者又提出了Product method,如上圖d所示,公式如下所示:
高效實(shí)現(xiàn)
對(duì)于Contextual模式的相對(duì)位置編碼,編碼信息可以通過下面的方式得到:
但是這么做的計(jì)算復(fù)雜度是,所以作者在實(shí)現(xiàn)的時(shí)候就只計(jì)算了不同映射位置的位置編碼,如下所示:
這樣做就可以將計(jì)算復(fù)雜度降低到,對(duì)于圖像分割這種任務(wù),k是遠(yuǎn)小于n的,就可以大大降低計(jì)算量。
4.實(shí)驗(yàn)
相關(guān)位置編碼分析
Directed-Bias v.s. Undirected-Contextual
上表的結(jié)果表明了:1)無論使用哪種方法,Contextual模式都比Bias模式具有更好的性能。2)在視覺Transformer中,有向方法通常比無向方法表現(xiàn)更好。
Shared v.s. Unshared
對(duì)于bias模式,在head上共享編碼時(shí),準(zhǔn)確度會(huì)顯著下降。相比之下,在contextual模式中,兩種方案之間的性能差距可以忽略不計(jì)。
Piecewise v.s. Clip.
上表比較了clip函數(shù)和分段函數(shù)的影響,在圖像分類任務(wù)中,這兩個(gè)函數(shù)之間的性能差距非常小,甚至可以忽略不計(jì)。但是從下表中可以看出,在檢測(cè)任務(wù)中,兩個(gè)函數(shù)性能還是有明顯差距的。
Number of buckets
bucket數(shù)量影響了模型的參數(shù),上圖展示了不同bucket數(shù)量下,模型準(zhǔn)確率的變化。
Component-wise analysis
從上表可以看出,相對(duì)位置編碼和絕對(duì)位置編碼對(duì)DeiT模型的精度都有很大幫助。
Complexity Analysis
上圖表明,本文方法在高效實(shí)現(xiàn)的情況下最多需要1%的額外計(jì)算成本。
在圖像分類任務(wù)上的表現(xiàn)
通過僅在key上添加相對(duì)位置編碼,將DeiT-Ti/DeiT-S/DeiT-B模型分別提升了1.5%/1.0%/0.6%的性能。
在目標(biāo)檢測(cè)任務(wù)上的表現(xiàn)
在DETR中絕對(duì)位置嵌入優(yōu)于相對(duì)位置嵌入,這與分類中的結(jié)果相反。作者推測(cè)DETR需要絕對(duì)位置編碼的先驗(yàn)知識(shí)來定位目標(biāo)。
可視化
上圖展示了Contextual模式下相對(duì)位置編碼(RPE)的可視化。
5. 總結(jié)
本文作者回顧了現(xiàn)有的相對(duì)位置編碼方法,并提出了四種專門用于視覺Transformer的方法。作者通過實(shí)驗(yàn)證明了通過加入相對(duì)位置編碼,與baseline模型相比,在檢測(cè)和分類任務(wù)上都有比較大的性能提升。此外,作者通過對(duì)不同位置編碼方式的比較和分析,得出了下面幾個(gè)結(jié)論:
1)相對(duì)位置編碼可以在不同的head之間參數(shù)共享,能夠在contextual模式下實(shí)現(xiàn)與非共享相當(dāng)?shù)男阅堋?/p>
2)在圖像分類任務(wù)中,相對(duì)位置編碼可以代替絕對(duì)位置編碼。然而,絕對(duì)位置編碼對(duì)于目標(biāo)檢測(cè)任務(wù)是必須的,它需要用絕對(duì)位置編碼來預(yù)測(cè)目標(biāo)的位置。
3)相對(duì)位置編碼應(yīng)考慮位置方向性,這對(duì)于二維圖像是非常重要的。
4)相對(duì)位置編碼迫使淺層的layer更加關(guān)注局部的patch。
后臺(tái)回復(fù)關(guān)鍵詞【入群】
加入賣萌屋NLP/IR/Rec與求職討論群
后臺(tái)回復(fù)關(guān)鍵詞【頂會(huì)】
獲取ACL、CIKM等各大頂會(huì)論文集!
?
[1].Peter Shaw, Jakob Uszkoreit, and Ashish Vaswani. Self-attention with relative position representations. ACL, 2018.
[2].Zihang Dai, Zhilin Yang, Yiming Yang, Jaime G Carbonell,Quoc Le, and Ruslan Salakhutdinov. Transformer-xl: Attentive language models beyond a fixed-length context. In ACL,2019.
[3].Zhiheng Huang, Davis Liang, Peng Xu, and Bing Xiang. Improve transformer models with better relative position embeddings. In EMNLP, 2020
[4].Prajit Ramachandran, Niki Parmar, Ashish Vaswani, Irwan Bello, Anselm Levskaya, and Jonathon Shlens. ?Standalone self-attention in vision models. arXiv preprint arXiv:1906.05909, 2019.
總結(jié)
以上是生活随笔為你收集整理的微软中山大学开源超强的视觉位置编码,涨点显著的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 这可能是最简单又有效的自监督学习方法了
- 下一篇: Google Research新成果,让