ResNeXt 論文閱讀

李謦伊
謦伊的閱讀筆記
6 min readMar 15, 2021

ResNet 結合了 Inception 的結構 (split-transform-merge) 提出了 ResNeXt 並發表在 CVPR2017上,能夠在不增加參數量的情況下提高準確率。此外,模型結構更加簡單與模組化,還減少了超參數數量,比起 Inception 可擴展性較強。

📝 Paper: https://arxiv.org/abs/1611.05431

📚 Inception 的結構 (split-transform-merge) 就是先透過 1x1 卷積層降維,再進行 3x3 卷積運算,最後以通道軸融合其他不同大小的卷積層,詳細部分可參考我之前的文章

來看一下 ResNeXt 與 ResNet 的結果比較圖,由下圖可以看出在相同參數量下 ResNeXt 獲得更低的 top-1 error

ResNeXt 的作法是先將高維度的卷積層分組為多個相同的卷積層 (Inception 是各個不同的卷積層),然後進行卷積運算,最後再將這些卷積層融合。論文中提到的 “cardinality” (the size of the set of transformations),是指分組的數量。ResNeXt 與 ResNet 的模型結構差異如下圖1,這兩個模型的模型複雜度差不多,但 ResNeXt 的準確率更高,因此作者表明增加 cardinality 比增加寬度與深度更有助於提升模型準確率。

下表2 表示在相同參數量下,cardinality 與模型寬度的關係,其中 width of bottleneck d 為分割模塊的通道數,width of group conv 為整個 block 的寬度,其值是由 cardinality 乘以 width of bottleneck d 所得到的值

Model Architecture

下表1 為 ResNeXt50 與 ResNet50 的模型結構,可以看到兩者模型複雜度相近,其中 C 為 cardinality

Aggregated Transformations

作者分析了 ResNeXt 結構的公式,首先從全連接層的公式來舉例,全連接層可以看作是一個 splitting, transforming, aggregating 的過程

  • Splitting: 將輸入 X 分割成多個低維度的 xi
  • Transforming: 將低維度的 xi 做轉換,即 wixi
  • Aggregating: 把這些低維度向量進行融合

公式可表示如下

由下圖2 可以看出 splitting, transforming, aggregating

接著將上式的 wixi 替換為函數 T,就變成了下面公式,其中 C 為 cardinality

然後加入 ResNet 的 shortcut connection

Equivalent building blocks of ResNeXt

下圖3 為三種等價的 ResNeXt block 結構,並且得到的結果也是相同的:

  • (a) 是上面圖1 右邊的 ResNeXt 結構 Aggregated residual transformations
  • (b) 相似於 Inception-ResNet 結構,先使用 1x1 降維再接 3x3 卷積,不同的是這邊是使用相同的卷積層
  • (c) 採用 group convolution,將 128 個通道數拆分成 32 組,再進行 3x3 卷積運算,最後再將其融合

因為 (c) 結構更簡單且速度更快,因此作者最後採用這個結構

另外,作者指出模型深度應大於 2,因為當深度為 2 時,模型結構僅只是變寬了,就沒有分組的價值

實驗結果

作者在 ImageNet-1K、ImageNet-5K、CIFAR-10、CIFAR-100、COCO object detection 資料集上都進行了測試,ResNeXt 均獲得了比 ResNet 更好的準確率。本文僅討論其中一些,更詳細的結果可查閱論文。

🔖 Cardinality vs. Width, Deep

作者比較在相同的參數量下,設置不同的 cardinality, width 所得到的 top-1 error,從下表 3 中可以看出隨著分組數量增加,error 也下降了,其結果圖為本文開頭的 Fig.5。

此外,作者表明增加 cardinality 比增加 width, deep 更有效,其結果顯示於下表 4。

  • ResNet-101 (1x64d) 為 baseline,藉由增加深度與寬度的 ResNet-200 和 ResNet-101 wider 分別可降低 0.3%, 0.7% error,但增加分組數量的 ResNeXt-101 (2x64d) 則可降低 1.3% error,由此可知增加分組數量能夠得到更好的結果。
  • ResNeXt-101 (32x4d) 除了比 ResNet-200, ResNet-101 表現更好之外,模型複雜度也只有一半。
  • 將分組數量提高至 64,ResNeXt-101 (64x4d) 的 top-1 error 達到了 20.4%

🔖 Residual connections

下表比較了有無 Residual shortcut connection 的結果

🔖 Comparisons with state-of-the-art results

作者將 ResNeXt 與 SOTA 模型做比較,得到了最佳的結果

--

--