zawa's blog

読んだ本や論文のメモ

【論文】 Aggregated Residual Transformations for Deep Neural Networks (S. Xie et al., Facebook, 2017)

[1611.05431] Aggregated Residual Transformations for Deep Neural Networks

 

著者

Saining Xie (UC San Diego), Ross Girshick (Facebook), Piotr Dollar (Facebook), Zhuwoen Tu (UC San DIego), Kaiming He (Facebook)

 

概要

入力に対して様々な変換処理を施した上でそれらの結果を集約するというブロックを繰り返すことでハイパーパラメータを減らしたニューラルネットワークResNeXtを提案。各ブロックは全て同じトポロジを持つ。変換処理のサイズを新たな次元“cardinality(濃度)”と呼び、ネットワークの深さや幅と同じようにネットワークの性能に大きな影響を与えるファクタであるとしている。同一演算量で比較した場合、cardinalityを増やすことで画像分類の精度が向上し、また、ネットワークの深さや幅を増やすよりも効果が高いことを実験により確認している。ILSVRC2016の分類タスクでは2位の性能。

関連手法 

  • Multi-branch convolutional network:Inceptionモデルが代表。各ブランチはカスタマイズが必要。ResNetsは片方のブランチがidentity mappingである2つのブランチを持ったネットワークであると言える。
  • Grouped convolutions:マルチGPUを考慮してAlexNetで提案され、CaffeやTorchでもサポートされている。グループ数がチャネル数に等しければ、channel-wise convolutionとなる。
  • Compressing convolutional netrowks:空間、チャネルレベルでの分解は畳み込みニューラルネットワークの冗長性削減や高速化、圧縮のためによく用いられる。
  • Ensembling:独立にトレーニングしたネットワークを平均化することは精度向上に有効である。ただし、ResNeXtでは各グループは独立ではなく同時にトレーニングされるので厳密にはensemblingとは異なる。

提案手法

  • (i) 同じサイズのマップを出力するブロックでは、ハイパーパラメータ(幅とフィルタサイズ)を共通化する、(ii) マップが1/2にダウンサンプルされた場合、ブロック幅を2倍にする、という2つのルールに従って同じトポロジのブロックを積み重ねる。これにより、テンプレートを一つ設計するだけでネットワークを構築できる。
  • シンプルなニューロンでは、入力の各要素に対して重みをかけた上でそれらの集約を行うが、これを任意の変換に一般化。それぞれの変換はネットワークであってもよいが、ネットワークを深くするNetwork-in-Networkとは異なり、新たな次元への拡張を行うNetwork-in-Neuronである。
  • 集約する変換の数をcardinalityという新たな次元と定義する。cardinalityは幅や深さといった次元よりも重要である。
  • ResNeXtはInception-ResNetに近い形式に書き換えることができるが、Inception-ResNetとは異なり全てのパスが同じトポロジを共有している。
  • ResNeXtはgrouped convolutionを使ってより簡潔で実装しやすい形式に書き換えることができる。

実験

  • 同演算量のResNetと比べてエラー率を1.7%削減
  • 演算量を保ったままcardinalityを増やしていくとエラー率が減っていくことを確認
  • 深さや幅を増やすよりもcardinalityを増やした方が効果が高いことを確認