微軟亞研:對深度神經網路中空間注意力機制的經驗性研究

微軟研究院AI頭條發表於2019-04-15
  • 論文:An Empirical Study of Spatial Attention Mechanisms in Deep Networks

  • 連結:https://arxiv.org/abs/1904.05873

摘要:空間注意力(Spatial Attention)機制最近在深度神經網路中取得了很大的成功和廣泛的應用,但是對空間注意力機制本身的理解和分析匱乏。本論文對空間注意力機制進行了詳盡的經驗性分析,取得了更深入的理解,有些認知是跟之前的理解很不一樣的,例如,作者們發現 TransformerAttention 中對 query 和 key 的內容進行比較對於空間注意力幫助很小,但對於 Encoder-Decoder Attention(編碼器-解碼器注意力)是至關重要的。另一方面,將可變形卷積(DeformableConvolution)與和 query 無關的 key saliency 進行適當組合可以在空間注意力中實現最佳的準確性-效率之間的權衡。本論文的研究結果表明,空間注意力機制的設計存在很大的改進空間。

引言

微軟亞研:對深度神經網路中空間注意力機制的經驗性研究

圖 1. 不同的注意力因子的描述。取樣點上方的顏色條表示其內容特徵。當圖中存在內容特徵或相對位置時,表明該項將它們用於注意力權重計算。

注意力機制使神經網路能夠更多地關注輸入中的相關部分。自然語言處理(NLP)中最先研究了注意力機制,並開發了 Encoder-Decoder 模組以幫助神經機器翻譯(NMT),當給定一個 query(例如,輸出句子中的目標詞),計算其輸出時,會依據 query 對某些 key 元素(例如,輸入句子中的源詞)進行優先順序排序。後來空間注意力模組被提出,用於建模句子內部的關係,此時 query 和 key 都來自同一組元素。重磅論文 Attention is All You Need 中提出了 TransformerAttention 模組,大大超越了過去的注意力模組。注意力建模在 NLP 中的成功,激發了其在計算機視覺領域中的應用,其中 Transformer Attention 的不同變體被應用於物體檢測和語義分割等識別任務,此時 query 和 key 是視覺元素(例如,影象中的畫素或感興趣的區域)。

在給定 query,確定分配給某個 key 的注意力權重時,通常會考慮輸入的三種特徵:(1)query 的內容特徵,可以是影象中給定畫素的特徵,或句子中給定單詞的特徵;(2)key 的內容特徵,可以是 query 鄰域內畫素的特徵,或者句子中的另一個單詞的特徵;(3)query 和 key 的相對位置。

基於這些輸入特徵,在計算某對 query-key 的注意力權重時,存在四個可能的注意力因子:(E1)query 內容特徵和 key 內容特徵;(E2)query 內容特徵和 query-key 相對位置;(E3)僅 key 內容內容特徵;(E4)僅 query-key 相對位置。在 Transformer Attention 的最新版本 Transformer-XL 中,注意力權重表示為四項(E1,E2,E3,E4)的總和,如圖 1 所示。這些項依賴的屬性有所區別。例如,前兩個(E1,E2)對 query 內容敏感。而後兩者(E3,E4)不考慮 query 內容,E3 主要描述顯著的 key 元素,E4 主要描述內容無關的的位置偏差。儘管注意力權重可以基於這些因子被分解,但是這些因子之間的相對重要性尚未被仔細研究。此外,諸如可變形卷積和動態卷積(Dynamic Convolution)之類的流行模組雖然看起來與 Transformer Attention 無關,但也採用了關注輸入的某些相關部分的機制。是否可以從統一的角度看待這些模組以及它們的執行機制如何不同等問題也未被探索過。

這項工作將 Transformer Attention,可變形卷積和動態卷積視為空間注意力的不同例項(以不同注意力機制,涉及了注意力因子的不同子集)。為分析不同注意力機制和因子的影響,本文在廣義注意力形式下對比了不同的注意力機制的各種因素,該調查基於多種應用,包括神經機器翻譯語義分割和物體檢測。本研究發現:(1)在 Transformer Attention 模組中,對 query 敏感的項,尤其是 query 和 key 內容項 E1,在 Self Attention(自注意力)中起著微不足道的作用。但在 Encoder-Decoder Attention 中,query 和 key 內容項 E1 至關重要;(2)儘管可變形卷積僅利用基於 query 內容和相對位置項的注意力機制,但它在影象識別方面比在 Transformer Attention 中對應的項 E2 更有效且高效;(3)在 Self Attention 中,query 內容和相對位置項 E2 以及僅考慮 key 內容的項 E3 是最重要的。將可變形卷積與 Transformer Attention 中僅考慮 key 內容的項 E3 進行適當組合會提供比 Transformer Attention 模組更高的精度,且在影象識別任務上具有低得多的計算開銷。

本文中的觀察挑戰了對當前空間注意力機制的傳統理解。例如,人們普遍認為,注意力機制的成功主要歸功於對 query 敏感的注意力項 E1 和 E2,尤其是 query 和 key 內容項 E1。這種理解可能源於最開始 Encoder-Decoder Attention 模組在神經機器翻譯中的成功。事實上,在最近的一些變體,如 Non-Local 模組和 Criss-Cross 模組中,僅有 query 和 key 內容項 E1 得到保留,所有其他項都被丟棄。這些模組在 Self Attention 應用中仍能很好地發揮作用,進而增強了這種理解。但是本文的研究表明這種理解是不正確的。本文發現這些僅具有 query 敏感項的注意力模組實際上與那些僅具有 query 無關項的注意力模組效能相當。本文的研究進一步表明,這種退化可能是源於注意力模組的設計,而不是 Self Attention 的固有特徵,因為可變形卷積被發現在影象識別任務中能有效且高效地利用 query 內容和相對位置。

這一實證分析表明,深度網路中空間注意力機制的設計還有很大的改進空間。本文的研究結果在這個方向上取得了一些初步進展,希望這項研究能夠激發關於建模空間注意力中的執行機制的進一步研究。

廣義注意力形式

給定 query 元素和一組 key 元素,注意力函式根據注意力權重對 key 內容進行相應的聚合,其中注意力權重衡量了 query-key 的相容性。為了允許模型處理來自不同特徵子空間和不同位置的 key 內容,多個注意力函式的輸出依照一組可學習的權重進行線性組合。令 q 索引某內容特徵為 z_q 的 query 元素,並且 k 索引具有內容特徵 x_k 的 key 元素,最終輸出的注意力特徵 y_q 被計算為:

微軟亞研:對深度神經網路中空間注意力機制的經驗性研究

微軟亞研:對深度神經網路中空間注意力機制的經驗性研究表示第 m 個注意力函式中的注意力權重,key 元素遍歷區域Ω_q,W_m 和 W'm 是可學習權重。通常,注意力權重在Ω_q 內被標準化到和為 1。

在這個廣義注意力形式下,Transformer Attention 與可變形卷積、動態卷積的區別在如何計算 微軟亞研:對深度神經網路中空間注意力機制的經驗性研究。Transformer 中 A_m 由 E1,E2,E3,E4 四項計算得到,形式為:

微軟亞研:對深度神經網路中空間注意力機制的經驗性研究

而可變形卷積的計算形式為(G 為雙線性插值函式):

微軟亞研:對深度神經網路中空間注意力機制的經驗性研究

動態卷積也可以在進行微小修改後納入廣義注意力形式,詳見論文。

Transformer Attention 中各項因子的對比

微軟亞研:對深度神經網路中空間注意力機制的經驗性研究

圖 2.TransformerAttention 中四項的準確性–效率權衡(E1 對應 key 和 query 內容,E2 對應 query 內容和相對位置,E3 對應於僅考慮 key 內容,E4 對應於僅考慮相對位置)。這裡數字對應著每項是否被啟用(例如,0011 表示 E3 和 E4 被啟用,w/o 表示不採用 TransformerAttention)。由於 Encoder-Decoder Attention 機制對於 NMT 是必不可少的,因此(d)中沒有 w/o 設定。一些配置的結果在圖中重疊,因為它們具有相同的精度和計算開銷。研究中的關鍵配置以紅色突出顯示。圖中還畫出了本文中 Self Attention 的推薦配置「“0010 +可變形卷積”」。

(1)在 Self Attention 中,與和 query 無關項相比,query 敏感項起著很小的作用。特別是 query 和 key 內容項,該項對準確性的影響可忽略不計,而在影象識別任務中計算量很大。總的來說,Transformer Attention 模組帶來的精度提升很大(從不帶 Transformer Attention 模組的配置(「“w / o”」)到使用完整版 Transformer 注意力的配置(「“1111”」))。其中,query 無關項(從配置「“w / o”」到「“0011”」)帶來的收益比 query 敏感項(從配置「“0011”」到「“1111”」)帶來的收益大得多。特別地,query 和 key 內容項 E1 帶來的效能增益可以忽略不計。刪除它(從配置「“1111”」到「“0111”」)只會導致精度微弱下降,但能大大減少影象識別任務中的計算開銷。

(2)在 Encoder-Decoder Attention 中,query 和 key 內容項是至關重要的。如果不用 E1 會導致精度明顯下降,而僅使用配置「“1000”「提供的精度幾乎與完整版本(配置「“1111”」)相同。這是因為 NMT 的關鍵步驟是對齊源語句和目標語句中的單詞。遍歷 query 和 key 內容對於這種對齊是必不可少的。

(3)在 Self Attention 中,query 內容及相對位置的項 E2 和僅有 key 內容項 E3 是最重要的。相應的配置「“0110”」提供的精度非常接近完整版(配置「“1111”」),同時在影象識別任務中節省了大量的計算開銷。還值得注意的是,捕獲顯著性資訊的僅有 key 內容項 E3 可以有效地提高效能,而幾乎沒有額外的開銷。

本文的研究結果與人們普遍認知相反,尤其是人們認為 query 敏感項,特別是 query 和 key 內容項對於 Transformer Attention 的成功至關重要。實驗結果表明,這僅適用於 Encoder-Decoder Attention 場景。在 Self Attention 場景中,query 和 k_ey 內容項甚至可以刪除。

可變形卷積和 Transformer Attention 中 E_2 的對比

微軟亞研:對深度神經網路中空間注意力機制的經驗性研究

圖 3. 可變形卷積和 Transformer Attention 中 E_2 的對比

(1)對於目標檢測語義分割,可變形卷積在準確性和效率上都大大超過 E2 項。對於 NMT,可變形卷積在準確性和效率方面與 E2 項相當。在效率方面,可變形卷積不需要遍歷所有關鍵元素。這種優勢在影象上是顯而易見的,因為涉及許多畫素。在準確性方面,可變形卷積中的雙線性插值基於特徵圖的區域性線性假設。這種假設在影象上比在語言上更好,因為影象區域性內容變化很緩慢,但語言中單詞會發生突然變化。

(2)可變形卷積與僅有 Key 內容項(「“0010 +可變形卷積”」)的組合提供了最佳的準確性 - 效率權衡。其準確性與使用可變形卷積和完整的 TransformerAttention 模組(「“1111 +可變形卷積”」)相當,計算開銷略高於僅有可變形卷積的開銷(「“w/o +可變形卷積”」)。

動態卷積和 Transformer Attention 中 E_2 的對比

微軟亞研:對深度神經網路中空間注意力機制的經驗性研究

圖 4. 動態卷積和 Transformer Attention 中 E_2 的對比。二者都利用了 query 的內容資訊和相對位置。在表的後四行中,E_2 的空間範圍也被限制到了一個固定大小,以進一步揭示其和動態卷積的區別。

(1)在機器翻譯中,動態卷積和 Transformer Attention 的 E_2 項效能相當,且動態卷積計算量較低。但在物體檢測和語義分割中,動態卷積比 E_2 效能顯著下降。

(2)在對 E_2 限制空間範圍與動態卷積和卷積核一致後,隨著卷積核縮小,動態卷積和 Transformer Attention E_2 的效能都有所下降,但是 E_2 還是比動態卷積效能好且計算量更低。動態卷積在圖片識別任務上表現欠佳的可能原因是該模組的許多細節是為了機器翻譯設計的,可能不適用於影象識別任務。

相關文章