オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【深層学習】ResNeXt

yhayato1320.hatenablog.com

ResNeXt とは

ResNet のような、Single Brach を Multi Brach のアーキテクチャに改善.



yhayato1320.hatenablog.com

分岐数 / cardinality を重要なパラメータと考え、
(深さ、幅に加え、)
ネットワークアーキテクチャのハイパーパラメータの一つとして精度を確かめる.

基本の形

VGG に ResNet を適用したネットワークアーキテクチャを基本 (ResNet-50) とする.

yhayato1320.hatenablog.com



ResNeXt は、基本のアーキテクチャ同様、Residual Block の繰り返しである.

ResNeXt は以下の 2 つルールに従って、ResNet を
踏襲したネットワークアーキテクチャを作成する.

  1. あるブロックが同じサイズを出力するとき、
    それらのブロックのハイパーパラメータは、同じ数値にする.




ここでいう、ハイパーパラメータは 幅 / Width (フィルターの数)と Filter Size (フィルターの高さと幅)である.

CNN の計算を 3 次元のキューブで考えると、以下のようになる.



今回着目しているハイパーパラメータは、Width と Filter Size である.



より具体的には、以下のように、ハイパーパラメータを設定した.



  1. 空間マップが、2倍にダウンサンプリングされるたびに、ブロックの幅を 2 倍にする.





これらのルールにより、ResNet-50 を踏襲した、アーキテクチャを完成させた.

計算の分割

まず、入力数が  D 、出力数が 1 のニューロンの計算を考える.

入力を  x\ =\ (x_1,\ \cdots,\ x_D) \ in\ R^{D} 、全結合層の重みを  w\ =\ (w_1,\ \cdots,\ w_D)\ \in\ R^{D} としたとき、
全結合層の計算は、

 \displaystyle \sum_{i=1}^{D} w_{i} x_{i}\ =\ w \cdot\ x



となる.



この処理を分割すると以下のように解釈できる.

  1.  x x_1,\ \cdots,\ x_D という低い次元に分割する.
  2. それぞれ  x_i \ \times\ w_i のように線形変換を行う.
  3. すべての変換結果を足し合わせ、集計する.

分割の拡大

上の単純な分割-変換-集計の規模を大きくなっても、考えられるように一般化する.

 F(x)\ =\ \displaystyle \sum_{i=1}^{C} T_{i} (x)


 T_i は任意の関数で、必要に応じて低い次元に次元削減した後に、変換を行う.
 C は、 F を構成する変換の数で、Cardinality (基数・分岐数) と呼んでいる.

参考

  • Aggregated Residual Transformations for Deep Neural Networks
    • [2016]
    • Abstract
    • 3 Method
      • 3.1 Template
      • 3.2 Revisiting Simple Neurons
      • 3.3 Aggregated Transformations
    • arxiv.org

Web サイト

  • ResNeXtの論文を初心者向けに図解する