Interlaced Sparse Self-Attention for Semantic Segmentation

論文鏈接:https://arxiv.org/abs/1907.12273

本文是語義分割領域的一篇新作,作者運用interlace機制將密集相似矩陣A分解爲兩個稀疏相似矩陣AL和AS的乘積。該方法在Cityscapes/ADE20K/LIP/PASCAL VOC 2012/COCO等數據集上與PSPNet/PSANet、以及較新的DANet/CCNet對比,結果表明該網絡能夠節省大量的內存和計算量,特別是高分辨率特徵圖的時候,並且在六大數據集上也取得了不錯的效果。

Abstract

本文提出了一種基於自注意力機制的稱爲交叉稀疏自注意力方法(interlaced sparse self-attention)來提升語義分割中的效率。該方法的主要思想是將密集相似矩陣分解爲兩個稀疏相似矩陣的乘積。用兩個連續的注意模塊,每個模塊估算一個稀疏的相似矩陣。第一個注意模塊用來估計有着較長空間間距距離的position子集的相似性,第二個注意模塊用來估計有着較短空間間隔距離的position子集的相似性。設計這兩個注意模塊使得每個位置都能接收到來自其他所有位置的信息。與一些原始的自注意力模型相比,我們的方法減少了計算力和內存複雜度,特別是處理高分辨率特徵圖時。我們通過實驗驗證了該方法在六個具有挑戰性的語義分割基準上的有效性。

Introduction

長距離依賴(Long-range dependency)在各種計算機視覺任務中都有着基本作用。深度卷積神經網絡通過疊加多個卷積層獲得長距離依賴。根據Shen等人的工作,我們需要疊加近百個連續的3*3卷積層來獲得256*256輸入的任意兩個位置的依賴關係。由此可見,通過疊加的方式獲得依賴關係會導致網絡的加深,實際價值不大。

最近的自注意力(或者非局部non-local)機制提出了一種模型用來獲得長距離依賴,它通過所有輸入位置計算輸出位置的上下文信息實現。採用一個簡單的自注意力機制層可以獲得任意兩個輸入位置的依賴關係。自注意力機制被用於視頻理解、目標檢測、語義分割和行人再識別等視覺任務中。假設輸入尺寸大小爲N,則自注意力機制的計算複雜度大約爲O(N^2),若是目標檢測或者語義分割等高分辨率的輸入那個任務的成本就會很大。

高分辨率的輸入在許多視覺任務中是獲得較好表現的基礎,但是會佔用大量的計算和內存成本,阻礙自注意力機制在實際應用中的潛在好處。例如最近的工作DANet/OCNet/CFNet等網絡均採用自注意力機制用於語義分割,至少需要64G內存的GPU訓練例如8的小batch size。總的來說,我們認爲,如何降低自我注意機制的計算和內存成本,對於各種對計算和內存成本敏感的視覺任務具有很大的實用價值。

考慮到計算每個輸出位置和所有輸入位置的相似性需要大量的計算和內存成本從而得到密集相似矩陣A,我們提出了一種簡單而有效的方法將密集相似矩陣A的計算分解爲包括AL和AS在內的兩個稀疏相似矩陣的乘積。我們從理論上證明了該方法的計算複雜度比傳統的自注意機制要小得多,從下圖中可以看出GPU內存消耗(MB)、計算成本(GFLOPs)和時間成本(ms)的比較:

我們的方法是受到交錯機制的啓發。首先,我們將所有的輸入位置分爲Q個大小相等的子集,每個子集中包含P個位置(N=P*Q)。對於長距離注意模塊,我們從每一個子集中採樣一個位置構建一個含有Q個位置的新子集(因爲原先劃分爲Q個子集,每個子集拿出一個位置,就有了Q個位置),根據這樣採樣策略能夠獲得P個這樣的子集。這樣每個構造子集中的位置是長空間間隔距離的位置。我們在每個子集上採用自注意力機制計算稀疏相似性矩陣AL。對於短距離注意模塊,直接在原始的Q個子集上(相當於在long-range模塊permute之後再permute回來)計算稀疏相似性矩陣AS。融合這兩個機制,便可以將信息從每個輸入位置傳播到所有輸出位置。

本文的主要貢獻如下:

  • 提出了交錯稀疏自注意力方法更有效的捕獲長距離依賴;
  • 證明了交錯稀疏自注意力方法在語義分割上的有效性,與傳統的自注意力機制模型相比得到了類似的或者更好分割效果;
  • 與其他機制(如CNGL/RCCA)相比較說明該方法的優點。

Approch

這部分回顧自注意力機制並說明interlaced sparse self-attention方法的細節,並展示了基於PyTorch上的短代碼。

Self-attention

自注意力機制可以用下面兩個公式來描述:

式中X是輸入的特徵圖,A是密集相似性矩陣,Z是輸出的特徵圖。我們將X,Z變量reshape成(N*C),A(N*N),其中N是像元的個數,C是波段數。A中的每個元素就記錄了任意兩個位置的相似性。自注意力機制用了兩個不同的轉換函數θ和φ將輸入變量轉換成低維空間,θ(X)、φ(X)的形狀是(N*(C/2)),低維空間的點積用來計算密集相似矩陣A。縮放因子d被用於解決Softmax函數中的小梯度問題並且d=C/2。自注意力機制用g函數學習更好的嵌入,g(X)∈(N*C)。

Interlaced Sparse Self-Attention

本文提出的交錯稀疏自注意力的核心是將密集相似矩陣A採用自注意力機制分解爲兩個稀疏相似矩陣AL和AS的乘積。我們說明如何利用長距離注意模塊計算AL和短距離模塊計算AS。通過長短距離模塊的結合,我們能夠所有的輸入位置傳遞信息到每個輸出位置。

Long-range Attention 的重點是在具有較長空間距離的子集上應用Self-attention。如Figure3,將輸入的特徵圖X重新排列計算XL=Permute(X)。然後將XL劃分爲P個塊每個塊包含Q個相鄰的位置(N=P*Q):,每個是XL的(Q*C)大小的子集。在每個上用self-attention:

(Q*Q)大小的是建立在上的小的相似矩陣,(Q*C)大小的隨之更新。其他所有參數與self-attention中保持一致。

最後,將所有不同塊中的融合得到輸出。長距離注意模塊的AL如下圖所示,可以看到所有對角位置的均爲非零。

Short-range Attention模塊與Long-range attention模塊相似。

Complexity 假定輸入的特徵圖大小是H*W*C,與self-attention機制對比分析計算、內存成本如下圖:

Results

主體網絡採用ResNet-50/ResNet-101,與其他self-attention網絡一樣去掉最後兩個下采樣層並換成空洞卷積,這樣輸出的特徵圖便是輸入特徵圖的1/8大小。並採用3*3卷積對輸出特徵圖減少波段。然後採用interlaced sparse self-attention模塊於特徵圖上得到輸出的特徵圖Z(512*H*W),並直接在Z上預測分割圖。

在Cityscapes上的結果:

在ADE20K上的結果:

在Cityscapes和ADE20K數據集上的效果:

實例分割效果:

效率比較:

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章