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

2020-12-04 機器之心Pro

空間注意力(Spatial Attention)機制最近在深度神經網絡中取得了很大的成功和廣泛的應用,但是對空間注意力機制本身的理解和分析匱乏。

論文: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 還是比動態卷積性能好且計算量更低。動態卷積在圖片識別任務上表現欠佳的可能原因是該模塊的許多細節是為了機器翻譯設計的,可能不適用於圖像識別任務。

相關焦點

  • 今日Paper | 空間注意力網絡;深度信念網絡;GhostNet;位置預測等
    用單個深度學習模型代替移動相機ISP基於深度信念網絡來識別阿爾茲海默症的蛋白質組危險標誌物分層時空LSTM在位置預測中的應用GhostNet:廉價運營帶來的更多功能  VSGNet:基於圖卷積的人體物體交互檢測的空間注意力網絡
  • 深度| 從各種注意力機制窺探深度學習在NLP中的神威
    它們可以實現語言建模、情感分析、機器翻譯、語義解析等非常多的任務,這些序列建模任務可以使用循環神經網絡、卷積神經網絡甚至近來比較流行的 Transformer。機器之心也介紹過基於循環與卷積的序列建模方法,而近日一篇綜述文章進一步介紹了 NLP 中各種深度技術。由於很多基礎知識讀者可能已經比較熟悉了,因此本文只重點介紹該綜述文章討論的注意力機制。
  • 微軟亞研重新評估,提出極簡算子PosPool
    中科大和微軟亞研的研究人員進行了系統性評估,並提出了無需可學參數的新型 3D 點雲算子 PosPool。近些年湧現了很多不同的 3D 點雲網絡和算子,它們在常見基準評測集上的性能逐步提升,但是由於各種網絡採用不同的局部算子、整體網絡結構和實現細節,人們對該領域的實質進步一直缺乏準確地評估。
  • 基於深度神經網絡的可穿戴心電圖疾病自動診斷研究取得進展
  • 加性注意力機制 - CSDN
    神經網絡中的注意力機制(Attention Mechanism)是在計算能力有限的情況下,將計算資源分配給更重要的任務,同時解決信息超載問題的一種資源分配方案。在神經網絡學習中,一般而言模型的參數越多則模型的表達能力越強,模型所存儲的信息量也越大,但這會帶來信息過載的問題。
  • CoQA挑戰賽微軟創新紀錄
    CoQA挑戰賽通過理解文本段落,並回答對話中出現的一系列相互關聯的問題,來衡量機器的性能。此次,微軟亞研院NLP團隊和微軟Redmond語音對話團隊聯手組成黃金搭檔參賽。在CoQA挑戰賽歷史上,他們是唯一一個在模型性能方面達到人類水平的團隊!
  • 簡單有效的注意力機制
    在日常生活中,我們通過視覺、聽覺、觸覺等方式接收大量的感覺輸入。但是我們的人腦可以在這些外界的信息轟炸中還能有條不紊地工作,是因為人腦可以有意或無意地從這些大量輸入信息中選擇小部分的有用信息來重點處理,並忽略其他信息。這種能力就叫做注意力。
  • 談一談逆勢而上的圖神經網絡
    圖核論文的研究綜述: 2020圖核方法最新進展與未來挑戰,151頁pdf注意力機制 | 圖卷積多跳注意力機制 | Direct multi-hop Attention based GNNNeurIPS2020 | 基於路徑積分設計的圖卷積和圖池化操作NeurIPS 2020 | 基於模型的對抗元強化學習NeurIPS 2020 | Hinton
  • 人工智慧黑盒揭秘:深度神經網絡可視化技術
    深度神經網絡又是最為複雜的機器學習模型,其可解釋性與可視化性更加具有挑戰性。網絡模型為什麼起作用,它是否足夠好,圖像識別是如何抽象出「貓」這個概念的?本段分析了幾種典型深度神經網絡可視化技術,詳盡展示了前沿的可視化原理以及解釋性效果。
  • 一文解讀NLP中的注意力機制
    注意力機制首先從人類直覺中得到,在nlp領域的機器翻譯任務上首先取得不錯的效果。簡而言之,深度學習中的注意力可以廣義地解釋為重要性權重的向量:為了預測一個元素,例如句子中的單詞,使用注意力向量來估計它與其他元素的相關程度有多強,並將其值的總和作為目標的近似值。既然注意力機制最早在nlp領域應用於機器翻譯任務,那在這個之前又是怎麼做的呢?
  • 微軟RobustFill:無需程式語言,讓神經網絡自動生成程序
    在過去幾十年中,計算機科學有了長足的發展,但人們編寫計算機軟體的過程卻沒有發生根本的改變——程式設計師必須使用特定的程序語言一步步手工編寫程序的精確算法邏輯。儘管程式語言近年來正在變得越來越友好,但這項工作仍然是絕大多數計算機用戶未曾接觸的事物。在最近的一項研究中,微軟發布了自己的深度學習程序生成研究。在該研究中,深度神經網絡學會了遵從用戶的意圖來生成電腦程式。
  • 北大、微軟亞洲研究院:高效的大規模圖神經網絡計算
    新智元報導 來源:arXiv編輯:肖琴【新智元導讀】第一個支持圖神經網絡的並行處理框架出現了!北京大學、微軟亞洲研究院的研究人員近日發表論文,提出NGra,這是第一個支持大規模GNN的系統。GNN(圖神經網絡)代表了一種新興的計算模型,這自然地產生了對在大型graph上應用神經網絡模型的需求。但是,由於GNN固有的複雜性,這些模型超出了現有深度學習框架的設計範圍。此外,這些模型不容易在並行硬體(如GPU)上有效地加速。
  • 無需標註數據集,自監督注意力機制就能搞定目標跟蹤
    深度學習的蓬勃發展得益於大規模有標註的數據驅動,有監督學習推動深度模型向著性能越來越高的方向發展。但是,大量的標註數據往往需要付出巨大的人力成本,越來越多的研究開始關注如何在不獲取數據標籤的條件下提升模型的性能,這其中就包括自監督注意機制。
  • 百度AAAI 2018錄用論文:基於注意力機制的多通道機器翻譯模型
    基於注意力的神經翻譯系統目前,很多研究工作者提出了許多基於注意力的神經翻譯系統(NMT,Neural Machine Translation)的改進方法,其中效果最優的是基於注意力架構的編解碼系統。圖 1. 提供了基於注意力 NMT 模型的結構原理,共包括三個部分:編碼、解碼層,及中間級聯的引入注意力機制的結構。
  • 注意力機制想要覺醒AI,總共分幾步?
    這必須從Bengio視為機器學習殺手的注意力機制開始。將意識注入機器:注意力機制增加了另一項任務腦極體的高級讀者應該熟悉注意力機制。在機器學習任務中,例如圖像處理,語音識別和自然語言處理,過去兩年中引入了注意力模型。在行業中如此受歡迎,其特點自然是突出的:一種是讓神經網絡學習僅專注於特定部分,從而大大提高任務的有效性和效率。
  • 神經網絡中的注意機制(Attention Mechanism)
    傳統對編解碼機制,一個編碼器(Encoder)讀取並編碼源句子(source sentence )成固定長度的向量。局限性這種編碼器 - 解碼器方法的潛在問題是神經網絡需要能夠將源句子的所有必要信息壓縮成固定長度的矢量。注意力(Attention)如何解決問題?
  • 從基本組件到結構創新,67頁論文解讀深度卷積神經網絡架構
    CNN架構中的大多數創新都與深度和空間利用有關。根據架構修改的類型,CNN可以大致分為以下七個類別:空間利用,深度,多路徑,寬度,特徵圖利用,通道提升和基於注意力的CNN。圖4所示的Deep CNN的分類法顯示了七個不同的類,而它們的摘要在表1中。
  • 有道nmt神經網絡_有道神經網絡翻譯(nmt) - CSDN
    抹茶 | 文神經網絡翻譯(NMT)的前世今生20世紀初期,多位科學家與發明家陸續提出機器翻譯的理論與實作計劃或想法。但真正的機器翻譯研究要追溯到20世紀三四十年代。1949年,W.而所謂的先進之處,在於翻譯邏輯模仿了人腦的表達模式,通俗地講,實現了把一句話中所有詞彙的語意融合在一起進行綜合理解與分析。而傳統的機器翻譯是逐個識別和理解詞彙,從而無法達到理解不同詞彙融合後產生的含義。近幾年來,「神經網絡機器翻譯技術」成為人工智慧翻譯主流。該技術通過「端到端」的方法將翻譯平行語料進行映射,以「編碼器—注意力機制—解碼器」的結構,解決翻譯問題。
  • 華為諾亞方舟加拿大實驗室提出BANet,雙向視覺注意力機制用於單目...
    這篇文章又擴展了視覺注意力機制的應用範圍,值得學習。  1  前言  在本文中,提出了雙向注意力網絡(BANet),這是一種用於單目相機深度估計的端到端框架,它解決了在卷積神經網絡中整合局部信息和全局信息的局限性。
  • 深度| 逐層剖析,谷歌機器翻譯突破背後的神經網絡架構是怎樣的?
    V2:基於注意力的編碼解碼器 我們如何解決上面那些問題?或許會嘗試一個人類天生會使用的技能——反覆關注源句的相關部分。如果你在翻譯一條長句子,你可能會回頭看一看源句,確定你捕捉到了所有細節信息。我們能讓神經網絡也做到這些。我們可以通過存儲和指定 LSTM 之前的輸出來增加神經網絡的存儲,同時不用改變 LSTM 的操作。