當Non-local遇見SENet,微軟亞研提出更高效的全域性上下文網路

機器之心發表於2019-05-06
近年來,注意力模型以其強大的建模能力受到了廣泛地研究與關注。基於注意力模型,來自清華、港科大、微軟亞研院的研究者們提出了一種新的全域性上下文建模網路(Global Context Network,簡稱 GCNet),此網路同時吸取 Non-local Network 全域性上下文建模能力強與 Squeeze-Excitation Network 計算量低的優點,在目標檢測影像分類與動作識別等基礎任務中,在計算量幾乎無增加的情況下準確度取得顯著提升。

當Non-local遇見SENet,微軟亞研提出更高效的全域性上下文網路

  • 論文地址:https://arxiv.org/abs/1904.11492v1

  • 程式碼地址:https://github.com/xvjiarui/GCNet

建模遠端依賴(long-range dependency)旨在加強學習過程中對視覺場景的全域性理解,且被證明會對廣泛的識別任務有益。在卷積神經網路中,卷積層主要作用於區域性區域,由此遠端依賴僅能通過堆疊多層卷積層進行建模,但多個卷積層的堆疊不僅計算量大,且難以優化。

為解決這個問題,Non-local Network(NLNet)使用自注意力機制來建模遠端依賴。對於每個查詢點(query position),NLNet 首先計算查詢點與所有點之間的成對關係以得到注意力圖(attention map),然後通過加權和的方式聚合所有點的特徵,從而得到與此查詢點相關的全域性特徵,最終再分別將全域性特徵加到每個查詢點的特徵中,完成遠端依賴的建模過程。

為了深入理解 NLNet,在目標檢測任務中,作者為每張圖選取多個查詢點,對其注意力圖進行視覺化,如下圖所示:

當Non-local遇見SENet,微軟亞研提出更高效的全域性上下文網路

但從圖中驚訝地發現,不同的查詢點得到的注意力圖幾乎一樣。經過統計分析後,這一視覺化觀察在目標檢測任務與視訊動作識別任務中均被驗證。由此,作者對 NLNet 進行簡化,使其對不同的查詢點計算相同的注意力圖,使得其計算量大幅度下降,並發現其準確度並無下降,這再次驗證了之前的觀察。

此外,作者發現這個簡化版的 NLNet 與流行的 Squeeze-Excitation Network(SENet)具有相似的結構。作者將他們抽象為一個通用的全域性上下文建模框架,主要分為以下三個模組:(a)上下文建模模組,它將所有位置的特徵聚合在一起形成一個全域性上下文特徵;(b)特徵轉換模組,用於捕獲通道間的相互依賴性;(c)融合模組,將全域性上下文特徵與所有位置的特徵進行融合。其中簡化版的 NLNet 與 SENet 均是此全域性上下文建模框架的例項。

通過對每個步驟的比較研究,作者發現簡化版的 NL Block 和 SE Block 都有各自的缺陷,通過結合每個步驟的最佳實現,即吸收了簡化版的 NL Block 全域性上下文建模能力強與 SENet 計算量低的優點,作者實現了一種新例項,稱為全域性上下文模組(Global Context Block)。下圖展示了全域性上下文建模框架 (a)、簡化版 NL Block (b)、SE Block (c),以及在本文提出的 GC Block (d):

當Non-local遇見SENet,微軟亞研提出更高效的全域性上下文網路

由於提出的 GC Block 是非常輕量級的,由此可以被應用於多層的多個殘差模組中(一般被應用於 ResNet 的 c3~c5 層中),且僅會提升非常少的計算量(小於 0.3%),由此將 GC Block 應用到多層即可得到論文中提出的全域性上下文建模網路(GCNet)。

下面將介紹論文中的一些主要結果:

a) 在 COCO 目標檢測任務中,以 Mask RCNN&R50&FPN 為 baseline 的結果比較:

當Non-local遇見SENet,微軟亞研提出更高效的全域性上下文網路

b) 以 Mask RCNN&FPN 為 baseline 的不同 backbone 的結果比較:

當Non-local遇見SENet,微軟亞研提出更高效的全域性上下文網路

c) 在 ImageNet 影像分類任務中,以 Res50 為 baseline 的結果比較:

當Non-local遇見SENet,微軟亞研提出更高效的全域性上下文網路

d) 在 Kinetics 動作識別任務中,以 Slow-Only&Res50 為 baseline 的結果比較:

當Non-local遇見SENet,微軟亞研提出更高效的全域性上下文網路

相關文章