空間注意力(Spatial Attention)機(jī)制最近在深度神經(jīng)網(wǎng)絡(luò)中取得了很大的成功和廣泛的應(yīng)用,但是對(duì)空間注意力機(jī)制本身的理解和分析匱乏。
論文:An Empirical Study of Spatial Attention Mechanisms in Deep Networks
鏈接:https://arxiv.org/abs/1904.05873
摘要:空間注意力(Spatial Attention)機(jī)制最近在深度神經(jīng)網(wǎng)絡(luò)中取得了很大的成功和廣泛的應(yīng)用,但是對(duì)空間注意力機(jī)制本身的理解和分析匱乏。本論文對(duì)空間注意力機(jī)制進(jìn)行了詳盡的經(jīng)驗(yàn)性分析,取得了更深入的理解,有些認(rèn)知是跟之前的理解很不一樣的,例如,作者們發(fā)現(xiàn) TransformerAttention 中對(duì) query 和 key 的內(nèi)容進(jìn)行比較對(duì)于空間注意力幫助很小,但對(duì)于 Encoder-Decoder Attention(編碼器-解碼器注意力)是至關(guān)重要的。另一方面,將可變形卷積(DeformableConvolution)與和 query 無關(guān)的 key saliency 進(jìn)行適當(dāng)組合可以在空間注意力中實(shí)現(xiàn)最佳的準(zhǔn)確性-效率之間的權(quán)衡。本論文的研究結(jié)果表明,空間注意力機(jī)制的設(shè)計(jì)存在很大的改進(jìn)空間。
引言
圖 1. 不同的注意力因子的描述。采樣點(diǎn)上方的顏色條表示其內(nèi)容特征。當(dāng)圖中存在內(nèi)容特征或相對(duì)位置時(shí),表明該項(xiàng)將它們用于注意力權(quán)重計(jì)算。
注意力機(jī)制使神經(jīng)網(wǎng)絡(luò)能夠更多地關(guān)注輸入中的相關(guān)部分。自然語言處理(NLP)中最先研究了注意力機(jī)制,并開發(fā)了 Encoder-Decoder 模塊以幫助神經(jīng)機(jī)器翻譯(NMT),當(dāng)給定一個(gè) query(例如,輸出句子中的目標(biāo)詞),計(jì)算其輸出時(shí),會(huì)依據(jù) query 對(duì)某些 key 元素(例如,輸入句子中的源詞)進(jìn)行優(yōu)先級(jí)排序。后來空間注意力模塊被提出,用于建模句子內(nèi)部的關(guān)系,此時(shí) query 和 key 都來自同一組元素。重磅論文 Attention is All You Need 中提出了 TransformerAttention 模塊,大大超越了過去的注意力模塊。注意力建模在 NLP 中的成功,激發(fā)了其在計(jì)算機(jī)視覺領(lǐng)域中的應(yīng)用,其中 Transformer Attention 的不同變體被應(yīng)用于物體檢測(cè)和語義分割等識(shí)別任務(wù),此時(shí) query 和 key 是視覺元素(例如,圖像中的像素或感興趣的區(qū)域)。
在給定 query,確定分配給某個(gè) key 的注意力權(quán)重時(shí),通常會(huì)考慮輸入的三種特征:(1)query 的內(nèi)容特征,可以是圖像中給定像素的特征,或句子中給定單詞的特征;(2)key 的內(nèi)容特征,可以是 query 鄰域內(nèi)像素的特征,或者句子中的另一個(gè)單詞的特征;(3)query 和 key 的相對(duì)位置。
基于這些輸入特征,在計(jì)算某對(duì) query-key 的注意力權(quán)重時(shí),存在四個(gè)可能的注意力因子:(E1)query 內(nèi)容特征和 key 內(nèi)容特征;(E2)query 內(nèi)容特征和 query-key 相對(duì)位置;(E3)僅 key 內(nèi)容內(nèi)容特征;(E4)僅 query-key 相對(duì)位置。在 Transformer Attention 的最新版本 Transformer-XL 中,注意力權(quán)重表示為四項(xiàng)(E1,E2,E3,E4)的總和,如圖 1 所示。這些項(xiàng)依賴的屬性有所區(qū)別。例如,前兩個(gè)(E1,E2)對(duì) query 內(nèi)容敏感。而后兩者(E3,E4)不考慮 query 內(nèi)容,E3 主要描述顯著的 key 元素,E4 主要描述內(nèi)容無關(guān)的的位置偏差。盡管注意力權(quán)重可以基于這些因子被分解,但是這些因子之間的相對(duì)重要性尚未被仔細(xì)研究。此外,諸如可變形卷積和動(dòng)態(tài)卷積(Dynamic Convolution)之類的流行模塊雖然看起來與 Transformer Attention 無關(guān),但也采用了關(guān)注輸入的某些相關(guān)部分的機(jī)制。是否可以從統(tǒng)一的角度看待這些模塊以及它們的運(yùn)行機(jī)制如何不同等問題也未被探索過。
這項(xiàng)工作將 Transformer Attention,可變形卷積和動(dòng)態(tài)卷積視為空間注意力的不同實(shí)例(以不同注意力機(jī)制,涉及了注意力因子的不同子集)。為分析不同注意力機(jī)制和因子的影響,本文在廣義注意力形式下對(duì)比了不同的注意力機(jī)制的各種因素,該調(diào)查基于多種應(yīng)用,包括神經(jīng)機(jī)器翻譯,語義分割和物體檢測(cè)。本研究發(fā)現(xiàn):(1)在 Transformer Attention 模塊中,對(duì) query 敏感的項(xiàng),尤其是 query 和 key 內(nèi)容項(xiàng) E1,在 Self Attention(自注意力)中起著微不足道的作用。但在 Encoder-Decoder Attention 中,query 和 key 內(nèi)容項(xiàng) E1 至關(guān)重要;(2)盡管可變形卷積僅利用基于 query 內(nèi)容和相對(duì)位置項(xiàng)的注意力機(jī)制,但它在圖像識(shí)別方面比在 Transformer Attention 中對(duì)應(yīng)的項(xiàng) E2 更有效且高效;(3)在 Self Attention 中,query 內(nèi)容和相對(duì)位置項(xiàng) E2 以及僅考慮 key 內(nèi)容的項(xiàng) E3 是最重要的。將可變形卷積與 Transformer Attention 中僅考慮 key 內(nèi)容的項(xiàng) E3 進(jìn)行適當(dāng)組合會(huì)提供比 Transformer Attention 模塊更高的精度,且在圖像識(shí)別任務(wù)上具有低得多的計(jì)算開銷。
本文中的觀察挑戰(zhàn)了對(duì)當(dāng)前空間注意力機(jī)制的傳統(tǒng)理解。例如,人們普遍認(rèn)為,注意力機(jī)制的成功主要?dú)w功于對(duì) query 敏感的注意力項(xiàng) E1 和 E2,尤其是 query 和 key 內(nèi)容項(xiàng) E1。這種理解可能源于最開始 Encoder-Decoder Attention 模塊在神經(jīng)機(jī)器翻譯中的成功。事實(shí)上,在最近的一些變體,如 Non-Local 模塊和 Criss-Cross 模塊中,僅有 query 和 key 內(nèi)容項(xiàng) E1 得到保留,所有其他項(xiàng)都被丟棄。這些模塊在 Self Attention 應(yīng)用中仍能很好地發(fā)揮作用,進(jìn)而增強(qiáng)了這種理解。但是本文的研究表明這種理解是不正確的。本文發(fā)現(xiàn)這些僅具有 query 敏感項(xiàng)的注意力模塊實(shí)際上與那些僅具有 query 無關(guān)項(xiàng)的注意力模塊性能相當(dāng)。本文的研究進(jìn)一步表明,這種退化可能是源于注意力模塊的設(shè)計(jì),而不是 Self Attention 的固有特征,因?yàn)榭勺冃尉矸e被發(fā)現(xiàn)在圖像識(shí)別任務(wù)中能有效且高效地利用 query 內(nèi)容和相對(duì)位置。
這一實(shí)證分析表明,深度網(wǎng)絡(luò)中空間注意力機(jī)制的設(shè)計(jì)還有很大的改進(jìn)空間。本文的研究結(jié)果在這個(gè)方向上取得了一些初步進(jìn)展,希望這項(xiàng)研究能夠激發(fā)關(guān)于建??臻g注意力中的運(yùn)行機(jī)制的進(jìn)一步研究。
廣義注意力形式
給定 query 元素和一組 key 元素,注意力函數(shù)根據(jù)注意力權(quán)重對(duì) key 內(nèi)容進(jìn)行相應(yīng)的聚合,其中注意力權(quán)重衡量了 query-key 的兼容性。為了允許模型處理來自不同特征子空間和不同位置的 key 內(nèi)容,多個(gè)注意力函數(shù)的輸出依照一組可學(xué)習(xí)的權(quán)重進(jìn)行線性組合。令 q 索引某內(nèi)容特征為 z_q 的 query 元素,并且 k 索引具有內(nèi)容特征 x_k 的 key 元素,最終輸出的注意力特征 y_q 被計(jì)算為:
表示第 m 個(gè)注意力函數(shù)中的注意力權(quán)重,key 元素遍歷區(qū)域Ω_q,W_m 和 W'm 是可學(xué)習(xí)權(quán)重。通常,注意力權(quán)重在Ω_q 內(nèi)被標(biāo)準(zhǔn)化到和為 1。
在這個(gè)廣義注意力形式下,Transformer Attention 與可變形卷積、動(dòng)態(tài)卷積的區(qū)別在如何計(jì)算 。Transformer 中 A_m 由 E1,E2,E3,E4 四項(xiàng)計(jì)算得到,形式為:
而可變形卷積的計(jì)算形式為(G 為雙線性插值函數(shù)):
動(dòng)態(tài)卷積也可以在進(jìn)行微小修改后納入廣義注意力形式,詳見論文。
Transformer Attention 中各項(xiàng)因子的對(duì)比
圖 2.TransformerAttention 中四項(xiàng)的準(zhǔn)確性–效率權(quán)衡(E1 對(duì)應(yīng) key 和 query 內(nèi)容,E2 對(duì)應(yīng) query 內(nèi)容和相對(duì)位置,E3 對(duì)應(yīng)于僅考慮 key 內(nèi)容,E4 對(duì)應(yīng)于僅考慮相對(duì)位置)。這里數(shù)字對(duì)應(yīng)著每項(xiàng)是否被激活(例如,0011 表示 E3 和 E4 被激活,w/o 表示不采用 TransformerAttention)。由于 Encoder-Decoder Attention 機(jī)制對(duì)于 NMT 是必不可少的,因此(d)中沒有 w/o 設(shè)置。一些配置的結(jié)果在圖中重疊,因?yàn)樗鼈兙哂邢嗤木群陀?jì)算開銷。研究中的關(guān)鍵配置以紅色突出顯示。圖中還畫出了本文中 Self Attention 的推薦配置「“0010 +可變形卷積”」。
(1)在 Self Attention 中,與和 query 無關(guān)項(xiàng)相比,query 敏感項(xiàng)起著很小的作用。特別是 query 和 key 內(nèi)容項(xiàng),該項(xiàng)對(duì)準(zhǔn)確性的影響可忽略不計(jì),而在圖像識(shí)別任務(wù)中計(jì)算量很大??偟膩碚f,Transformer Attention 模塊帶來的精度提升很大(從不帶 Transformer Attention 模塊的配置(「“w / o”」)到使用完整版 Transformer 注意力的配置(「“1111”」))。其中,query 無關(guān)項(xiàng)(從配置「“w / o”」到「“0011”」)帶來的收益比 query 敏感項(xiàng)(從配置「“0011”」到「“1111”」)帶來的收益大得多。特別地,query 和 key 內(nèi)容項(xiàng) E1 帶來的性能增益可以忽略不計(jì)。刪除它(從配置「“1111”」到「“0111”」)只會(huì)導(dǎo)致精度微弱下降,但能大大減少圖像識(shí)別任務(wù)中的計(jì)算開銷。
(2)在 Encoder-Decoder Attention 中,query 和 key 內(nèi)容項(xiàng)是至關(guān)重要的。如果不用 E1 會(huì)導(dǎo)致精度明顯下降,而僅使用配置「“1000”「提供的精度幾乎與完整版本(配置「“1111”」)相同。這是因?yàn)?nbsp;NMT 的關(guān)鍵步驟是對(duì)齊源語句和目標(biāo)語句中的單詞。遍歷 query 和 key 內(nèi)容對(duì)于這種對(duì)齊是必不可少的。
(3)在 Self Attention 中,query 內(nèi)容及相對(duì)位置的項(xiàng) E2 和僅有 key 內(nèi)容項(xiàng) E3 是最重要的。相應(yīng)的配置「“0110”」提供的精度非常接近完整版(配置「“1111”」),同時(shí)在圖像識(shí)別任務(wù)中節(jié)省了大量的計(jì)算開銷。還值得注意的是,捕獲顯著性信息的僅有 key 內(nèi)容項(xiàng) E3 可以有效地提高性能,而幾乎沒有額外的開銷。
本文的研究結(jié)果與人們普遍認(rèn)知相反,尤其是人們認(rèn)為 query 敏感項(xiàng),特別是 query 和 key 內(nèi)容項(xiàng)對(duì)于 Transformer Attention 的成功至關(guān)重要。實(shí)驗(yàn)結(jié)果表明,這僅適用于 Encoder-Decoder Attention 場(chǎng)景。在 Self Attention 場(chǎng)景中,query 和 k_ey 內(nèi)容項(xiàng)甚至可以刪除。
可變形卷積和 Transformer Attention 中 E_2 的對(duì)比
圖 3. 可變形卷積和 Transformer Attention 中 E_2 的對(duì)比
(1)對(duì)于目標(biāo)檢測(cè)和語義分割,可變形卷積在準(zhǔn)確性和效率上都大大超過 E2 項(xiàng)。對(duì)于 NMT,可變形卷積在準(zhǔn)確性和效率方面與 E2 項(xiàng)相當(dāng)。在效率方面,可變形卷積不需要遍歷所有關(guān)鍵元素。這種優(yōu)勢(shì)在圖像上是顯而易見的,因?yàn)樯婕霸S多像素。在準(zhǔn)確性方面,可變形卷積中的雙線性插值基于特征圖的局部線性假設(shè)。這種假設(shè)在圖像上比在語言上更好,因?yàn)閳D像局部?jī)?nèi)容變化很緩慢,但語言中單詞會(huì)發(fā)生突然變化。
(2)可變形卷積與僅有 Key 內(nèi)容項(xiàng)(「“0010 +可變形卷積”」)的組合提供了最佳的準(zhǔn)確性 - 效率權(quán)衡。其準(zhǔn)確性與使用可變形卷積和完整的 TransformerAttention 模塊(「“1111 +可變形卷積”」)相當(dāng),計(jì)算開銷略高于僅有可變形卷積的開銷(「“w/o +可變形卷積”」)。
動(dòng)態(tài)卷積和 Transformer Attention 中 E_2 的對(duì)比
圖 4. 動(dòng)態(tài)卷積和 Transformer Attention 中 E_2 的對(duì)比。二者都利用了 query 的內(nèi)容信息和相對(duì)位置。在表的后四行中,E_2 的空間范圍也被限制到了一個(gè)固定大小,以進(jìn)一步揭示其和動(dòng)態(tài)卷積的區(qū)別。
(1)在機(jī)器翻譯中,動(dòng)態(tài)卷積和 Transformer Attention 的 E_2 項(xiàng)性能相當(dāng),且動(dòng)態(tài)卷積計(jì)算量較低。但在物體檢測(cè)和語義分割中,動(dòng)態(tài)卷積比 E_2 性能顯著下降。
(2)在對(duì) E_2 限制空間范圍與動(dòng)態(tài)卷積和卷積核一致后,隨著卷積核縮小,動(dòng)態(tài)卷積和 Transformer Attention E_2 的性能都有所下降,但是 E_2 還是比動(dòng)態(tài)卷積性能好且計(jì)算量更低。動(dòng)態(tài)卷積在圖片識(shí)別任務(wù)上表現(xiàn)欠佳的可能原因是該模塊的許多細(xì)節(jié)是為了機(jī)器翻譯設(shè)計(jì)的,可能不適用于圖像識(shí)別任務(wù)。