論文閱讀 CVPR 2020 — Improving Convolutional Networks with Self-Calibrated Convolutions

該論文提出 Self-calibrated convolutions,巧妙地在單一層 Convolutional layer 之內異質地利用 Filters,使它在空間上有更強的適應性。該方法易於嵌入在其他架構,並可在不增加運算成本的情況下,提昇神經網路的表現能力。

Ken Huang
人工智慧,倒底有多智慧?
14 min readOct 20, 2021

--

論文連結:
《 Improving Convolutional Networks with Self-Calibrated Convolutions 》

作者:

Introduction

通常在大型影像分類資料集 ( ImageNet ) 訓練出的模型,會具備強大的特徵轉化能力,因此常被拿來當作下游任務的 Backbone,提供有效的特徵重現。

過去已有許多研究是藉由調整神經網路架構來取得更豐富的特徵,而該論文的出發點不同,作者們提出「 Self-calibrated convolution 」,可強化既有的 Convolutional transformation,幫助模型學習出更具鑑別度的特徵。

作法上與 Group convolution 有點相似,但在劃分 Filters 的時候並不均等,且進行的是「 異質 ( Heterogeneous ) 」的操作。

Self-calibrated convolutions 會先利用 Down-sampling 的作法將 Inputs 轉換成低維度的 Embeddings ,並用來對整個 Convolutional transformation 做一種引導,藉此增加空間上每個位置的視野域。

這種強化版的 Convolution 有以下 2 個優勢:

  1. 使空間上每個位置可具備適應性地對 Long-range region 進行編碼,並生成資訊量豐富的 Context
  2. Self-calibrated convolution 具備通用性,可輕易地被應用於標準的 Convolutional layers,且不會增加參數量、複雜度,也不需要改變 Hyper-parameters

針對第 1 點,該論文有利用 Grad-CAM 進行可視化分析:

Liu, Jiang-Jiang, et al. “Improving convolutional networks with self-calibrated convolutions.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020. Figure 1.

可看出 Self-calibrated convolution 可更精準的定位物件。

Method

一個傳統的 2D convolutional layer 通常會有一組 Filter sets:

而其處理的輸入可表示為:

對應的輸出則為:

這邊為了表示上更方便,省略 Filter 在空間上的 Kernel size 和 Bias term。

基於前述定義,第 i 個 Channel 所輸出的特徵圖可被表述為:

傳統作法中,特徵轉換的視野域會被「 預先定義的 Kernel size 」及「 堆疊 Convolutional layers 」兩個因素所控制,但仍不足以具備夠大的視野域來補捉 High-level 的語意特徵,導致輸出的特徵圖就不那麽具備鑑別度。

Self-Calibrated Convolutions

為避免前述問題發生,該論文提出「 Self-calibrated convolution 」:

這部份以輸入輸出 Channel 數相等的情況進行說明。

假設有一組 Filter sets K ,其 Shape 是:

k_h 和 k_w 分別是 Filter 的高與寬

第一步是將這組 K 均勻地分割成 4 份,並各自負責不同功能,這邊表述為:

而每一份的 Shape 則變為:

對 Input X 的處理則是分割成 2 份:

對應到上圖的 2 條路徑

針對圖中較上方的第一條路徑來看,使用了 3 組 Filter 來完成 Self-calibration operation:

並輸出 Y_1。

而較下方的第二條路徑則是簡單的 Convolution operation:

兩條路徑的輸出最終會被串接在一起,形成最終的輸出 Y 。

Self-Calibration

為了在每個空間位置上都能有效地聚合 Contextual information,該論文提出針對 2 種不同 Scale 的特徵進行卷機,分別是原尺寸的 Scale 以及 Downsampling 成較小尺寸的 Scale 。

由於小尺寸的特徵圖可擁有較大的視野域,因此其轉換結果可被用來引導原尺寸的特徵轉換過程。

Liu, Jiang-Jiang, et al. “Improving convolutional networks with self-calibrated convolutions.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020. Figure 2.

在計算上會將輸入 X_1 透過 Filter size 為 r 、Stride 也設定為 r 的Average pooling 來做 Downsampling:

接著進行特徵轉換的計算:

其中的 Up(·) 是 Bilinear interpolation operator

將尺寸還原後,進行的就是 Calibration operation:

σ 是 Sigmoid function;‘·’ 表示 Element-wise multiplication 。

其中的 F_3 是:

X’_1 是用一種類似 Residual 的形式在做 Calibration 。

而最終的輸出則為:

為了彰顯 Self-Calibration 的優勢,該論文有針對 ResNet-50 最後一個 Block 的 3 × 3 convolutional layer 進行可視化,並與 Self-Calibration 做比較:

Liu, Jiang-Jiang, et al. “Improving convolutional networks with self-calibrated convolutions.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020. Figure 3.

Self-Calibration 還有另一個優勢,它只會考量空間上每個位置的鄰近區域,可避免蒐集 Global context 過程會受到不相關區域干擾之情況。

為說明此優勢,有和 SE-ResNet-50 做可視化的比較:( 可留意最右邊的 2 個 Columns )

Liu, Jiang-Jiang, et al. “Improving convolutional networks with self-calibrated convolutions.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020. Figure 6.

Experiments

該論文的實驗是採用 ImageNet 、COCO 資料集,Baseline 的模型架構則是採用常見的 ResNet 、ResNeXt 、SE-ResNet,改使用 Self-calibrated convolutions 之後的架構稱為 SCNet 、SCNeXt 、SE-SCNet。

在 ImageNet 的比較結果如下:

Liu, Jiang-Jiang, et al. “Improving convolutional networks with self-calibrated convolutions.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020. Table 1.

基本上有改用 Self-calibrated convolutions 就會提昇準確度。

Self-Calibrated Convolution v.s. Vanilla Convolution

為了更進一步驗證 Self-calibrated convolutions 的有效性,該論文參考了 DSN 在 ResNet-50 和 SCNet-50 的 res3 Stage 之後加入 Side supervisions ( Auxiliary losses ):

Liu, Jiang-Jiang, et al. “Improving convolutional networks with self-calibrated convolutions.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020. Figure 5.

SCNet-50 很明顯地優於 ResNet-50 ,這現象間接表示 Self-calibrated convolutions 可以生成更豐富、更具鑑別度的特徵重現 。

另外該論文還對特徵圖進行可視化:

Liu, Jiang-Jiang, et al. “Improving convolutional networks with self-calibrated convolutions.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020. Figure 4.

Design Choices

這邊是為了釐清「 Down-sampling 要作到什麽程度? 」、「 AVG 和 MAX Pooling 要用哪個? 」,對整體來說才是最好的:

Liu, Jiang-Jiang, et al. “Improving convolutional networks with self-calibrated convolutions.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020. Table 2.

Comparisons with Attention-Based Approaches

這部份則是和其他 Attention-based 方法做比較:

Liu, Jiang-Jiang, et al. “Improving convolutional networks with self-calibrated convolutions.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020. Table 3.

相比於其他方法來說,Self-calibrated convolutions 可在不增加參數量的狀況下,提昇模型的準確度,並可與一些額外嵌入的方法 ( Ex : Gather-Excite (GE) framework ) 進行整合。

Object Detection & Instance Segmentation

在物件偵測與實例分割的任務上,Baseline 分別是 Faster R-CNN 和 Mask R-CNN,相關實驗成果如下:

Liu, Jiang-Jiang, et al. “Improving convolutional networks with self-calibrated convolutions.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020. Table 4.

基本上也和前面的實驗有類似的現象,都有比 Baseline 好的表現。也表示 Self-calibrated convolutions 對模型的定位功能是有幫助的。

Keypoint Detection

對人體關節點的偵測也有類似的結果:

Liu, Jiang-Jiang, et al. “Improving convolutional networks with self-calibrated convolutions.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020. Table 5.

Conclusions

該論文提出新穎的 Self-calibrated convolutions,可在單一 Convolutional layer 之內異質地利用 Filters ,可對特徵做出具備適應性的 Calibration operation。

大量實驗證明 Self-calibrated convolutions 的有效性,可視化成果也進一步驗證該方法的 Attention 有做得更精準,且可輕易地嵌入其他神經網路架構上,提昇模型的表現能力。

--

--

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

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