論文閱讀 CVPR 2019 — Graph-Based Global Reasoning Networks

該論文提出 Global Reasoning unit,將影像特徵投影成 Graph 的節點特徵,並以 Graph convolution 推論不同區域之間的關聯性,使模型在全域視野中學習具備鑑別度的特徵,可輕易地與現有 CNN 架構整合,強化其性能。

Ken Huang
人工智慧,倒底有多智慧?
15 min readSep 20, 2021

--

論文連結:
《 Graph-Based Global Reasoning Networks 》

作者:

Introduction

對於許多電腦視覺相關任務來說,影像的任意區域之間的關聯性其實是非常重要的,以下圖為例:

Chen, Yunpeng, et al. “Graph-based global reasoning networks.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019. Figure 1 (a).

對人類來說,可以輕易地透過著色區塊判讀「 這個人在打電動 」的涵義。但對於 CNNs 來說,若不堆疊多層的 Convolution layer ,就很難捕捉到這種資訊。

為了解決這問題,該論文提出「 Global Reasoning unit ( GloRe ) 」,是個可以直接捕捉 Global 關聯性的單元。

作法大致上是將相關的局部資訊投影到 Interaction space ,以不同區域的特徵建構一個彼此相連的 Graph,再透過 Graph convolution 分析其關聯性後,投影回原來的座標空間:

Chen, Yunpeng, et al. “Graph-based global reasoning networks.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019. Figure 1 (c).

如此一來,就能更早在 CNN 架構上取得關聯性資訊,並有助於相關的 Down-stream task 做出更好的結果。

Related Work

Global Context Modeling

過去也有些研究嘗試克服 Convolution 僅能處理局部資訊的限制,像是 PSP-Net 、DenseASPP 就結合 Multi-scale 的特徵來擴增單一層 Convolution layer 的視野域。Deformable CNNs 則透過而外學習偏移量 ( Offset ) 的手法來達到類似的目的。

SE-Net 使用 Global average pooling 概略描述影像在每個 Stage 的狀態。Nonlocal Networks 、Self-attention 、A²-Net 嘗試在每個位置上傳遞 Long-range 的資訊。

雖然該論文的作法也包含 Global 資訊,但不同之處在於 GloRe 有更進一步利用 Graph 來處理不同區域之間的關聯性推論:

Chen, Yunpeng, et al. “Graph-based global reasoning networks.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019. Figure 1 (b).

Graph-based Global Reasoning

接下來會以公式描述該論文提出的 GloRe,其中有幾個 Notation 是共通的:

  • G:Graph ,由 ( V, ε , A ) 構成
  • V:Nodes ,指的是 Graph 上的每個節點
  • ε:Edges ,指的是節點之間的連結
  • A:Adjacent matrix ,用來紀錄每個節點與其他哪些節點相連

Overview

這個 GloRe 單元在運作時,可以分為以下 3 個步驟:

  1. 將 Coordinate space ( Ω ) 的特徵 ( X ) 投影至 Interaction space ( H ),形成對應的特徵 ( V )
  2. Interaction space ( H ) 建構全連接的 Graph ( A_g ),並以 Graph convolution 推論節點之間的關聯性
  3. 將這些依照關聯性強化過得特徵投影回 Coordinate space ( Ω )

透過這 3 步驟得出的結果,可幫助神經網路學出對特定任務更有幫助的特徵重現,示意圖如下:

Chen, Yunpeng, et al. “Graph-based global reasoning networks.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019. Figure 2.

而接下來就每一步驟進行說明:

Step 1 : From Coordinate Space to Interaction Space

若將輸入特徵以 X 表示,那在這個步驟就是希望讓模型學出一個將 X 投影到 Interaction space 的 Projection function f(·) :

由於初衷是希望對各區域推論它們之間的關聯性,所以在 Projection function 是用一個線性變換 ( a.k.a weighted global pooling )來構成:

其中會進行學習的 Weight 是:

這部分和過往的類似研究有些不同,過去的方法會利用物件偵測模型來對 B 進行過濾,如果像素位置落在物件範圍框之外,b 會直接設定為 0,反之則設定為 1 。

而該論文的作者們不希望額外花時間、標註成本訓練物件偵測模型,所以這部分直接改以 Convolution 生成 b 。

在實作上為了減少輸入資訊的維度,f(X) 設計成:

B 的部分則是:

φ(·) 和 θ(·) 都是可學習的 Convolution layer ,使該方法可做到 End-to-end 的訓練 。

Step 2 : Reasoning with Graph Convolution

經過前一步驟的投影後,會得到一組可描述原輸入的 Graph ,那其實捕捉這組 Graph 的節點互動關係就等同於捕捉不同區域之間的關聯性。

作者們不希望像過去作法耗費大量運算資源去做 Pair-wise 的運算,所以這部分是以全連接的 Graph 處理,再透過 Graph convolution 學習對應的 Edge weights:

在訓練的過程中,每個節點會透過鄰接矩陣的 Edge Weights 學習對 Global 做到有益於該任務的特徵抽取,算是個資訊擴散 ( Diffusion ) 的過程,最後再交由一個線性變換來做 State update:

Chen, Yunpeng, et al. “Graph-based global reasoning networks.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019. Figure 3 (a).

而實作上則是透過 2 組 1D Convolution 來做到這件事情:

Chen, Yunpeng, et al. “Graph-based global reasoning networks.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019. Figure 3 (b).

這 2 組 1D Convolution 會分別作用在 Channel 和 Node 的維度上,主要是用來聚合資訊。

Step 3 : From Interaction Space to Coordinate Space

為了讓這個作法能和現有的 CNN 架構相容,就需要把這些關聯性資訊再投影回原來的 Coordinate Space ,作法和第 1 步驟非常相似:

這個 g(·) 相似於第 1 步驟的 f(·) ,也是個 Projection function:

作者們在實做過程中發現,這部份的 D 其實可以直接重用第 1 步驟的 B 就好:

可以減少運算量,又不會影響最終的準確度。

在投影回 Coordinate Space 之後還有再接一層 Convolution layer ,讓特徵的維度可與輸入對齊,並構成一種 Residual path 。

Deploying the Global Reasoning Unit

由於這個 GloRe 單元有著 Residual 的特性,所以可輕易地被整合在現有的 CNN 架構上,在不同 Stage 推論全域的關聯性。

在後續實驗中,該論文會在現有的模型架構上嵌入單個或多的 GloRe 單元,並形成不同的實例,這邊統一稱為:Graph-Based Global Reasoning Networks 。

Experiments

該論文的實驗包含影像分類、語意分割和行為辨識等任務,對應的資料集依序是 ImageNet 、Cityscapes 、Kinetics 。

Results on ImageNet

影像分類的部份,模型架構採用 ResNet-50 ,並先嘗試在不同 Stage 嵌入單個或多個相關模組:

Chen, Yunpeng, et al. “Graph-based global reasoning networks.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019. Figure 4.

上圖的 X 軸是計算量,Y 軸是準確度,相關的代號說明如下:

  • R:Residual Networks
  • NL:Nonlocal Block
  • Ours:該論文提出的 GloRe 單元
  • SE:Squeeze-and-Excitation

在不同方法的標示後面會由 ( n , m ) 紀錄在 Res3 和 Res4 嵌入的數量。以 R50+Ours(1,3) 為例,就是在 Res3 的地方嵌入 1 個額外的 GloRe 單元,然後在 Res4 嵌入 3 個 GloRe 單元。

以灰色色塊來看,該論文提出的 GloRe 單元就在差不多的運算量下,表現得比 Nonlocal Block 好。另外是 (0,1) 的表現比 (1,0) 好,作者們推論是 Res4 的特徵比較具備語意資訊。

接著作者們就開始在 Res4 的地方嵌入更多 GloRe 單元,也就是上圖綠色色塊的部份,並發現這樣做確實會改善準確度,並能將 ResNet-50 的準確度提昇到超越 ResNet-200 ,而計算量只有 30% ,參數量 50% ,成效相當驚人。

這現象也表示, GloRe 單元可以捕捉到的特徵,並不是單純疊加 Convolution layer 就能得到的。

該論文也嘗試疊加 GloRe 單元的 Graph convolution layer 層數:

Chen, Yunpeng, et al. “Graph-based global reasoning networks.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019. Table 1.

但並沒有獲得顯著的改善,最終就選用 1 層的設定 。

接著是在不同架構上嘗試嵌入 GloRe 單元的成效:

Chen, Yunpeng, et al. “Graph-based global reasoning networks.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019. Table 2.

整體來看,和前面在 ResNet-50 架構上實驗的結果類似,但在較深架構的 Res3 使用 GloRe 單元的成效有比 ResNet-50 好,作者們推論是因為較深的模型在 Res3 就可取得比淺層模型更具備資訊量的特徵。

Results on Cityscapes

而語意分割的部份,首先嘗試的模型架構是 FCN ,但其中的 Backbone 也是 ResNet-50 ,並且有在 ImageNet 上 Pre-train 過。

實做上有結合 Multi-grid 的技巧,並再嵌入 GloRe 單元進行比較:

Chen, Yunpeng, et al. “Graph-based global reasoning networks.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019. Table 3.

上表是在 Validation set 的改善情況,而在 Testing set 的比較結果如下:

Chen, Yunpeng, et al. “Graph-based global reasoning networks.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019. Table 4.

這邊也很驚人的是,有加上 GloRe 單元的作法,在架構僅有 50 層的時候,就已經比過去某些採用 101 層的作法,有更準的結果。

該論文還將分割結果進行可視化的比較:

可以特別留意上圖的黃色框部份, GloRe 單元可以強化 CNN 的泛化能力,使模型能捕捉更多細節,避免混淆的情況發生。

Results on Kinetics

針對行為辨識的任務,該論文是想驗證 GloRe 單元除了處理 2D 影像外,是否也能泛用至 3D 的資料上。

模型的 Backbone 仍採用 ResNet ,並嵌入 GloRe 單元進行比較:

Chen, Yunpeng, et al. “Graph-based global reasoning networks.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019. Figure 6.

確認有效後,有與其他幾種不同方法做比較:

Chen, Yunpeng, et al. “Graph-based global reasoning networks.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019. Table 5.

這邊作者們是想說明,用單純的架構加入 GloRe 單元,就能比當時的 SOTA 得到更好的結果。

Visualizing the GloRe Unit

這部份是針對 GloRe 單元的 Projection weight 來做可視化:

Chen, Yunpeng, et al. “Graph-based global reasoning networks.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019. Figure 7.

上圖的紅色是正數,綠色是負數,而顏色的亮度越高就代表值越大。

這部份的結果也如同作者們的預期,不同的 Projection weight 會去關注不同類型的特徵。

Conclusion

該論文提出一個可以有效做到全域關聯性推論的方法,稱為 「 Global Reasoning unit ( GloRe ) 」

這方法會將一般 Coordinate space 的特徵投影至 Interaction space,並直接以全域的視野來推論特徵之間的關聯性。

GloRe 有著輕量、易於優化及整合的特性,可以在現有的 CNN 架構上嵌入此單元,並有效地學習互補的特徵,強化模型的效能。

--

--

Ken Huang
人工智慧,倒底有多智慧?

在網路上自學的過程中,體會到開放式資源的美好,希望藉由撰寫文章記錄研究所的學習過程,同時作為回饋網路世界的一種方式。Email : kenhuang2019iii@gmail.com ,如果有任何問題都歡迎與我聯繫。