Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convolution
スポンサーリンク
論文URL
https://arxiv.org/pdf/1904.05049.pdf
2019年4月公開
ポイント
- 畳み込み層に代わるOctave Convolution (OctConv)層をFacebook AIが提案
- 特徴量マップを空間上の高周波成分と低周波成分に分け、低周波成分を低解像度化しておくことで、メモリ使用量と計算コストを削減
- パラメータ数は通常の畳み込み層と変わらないことに注意
- 畳み込み層をOctConv層に入れ替えるだけで、どんなモデルでも1%程度精度が改善
- 特徴量マップを空間上の高周波成分と低周波成分に分け、低周波成分を低解像度化しておくことで、メモリ使用量と計算コストを削減
OctConv
- 特徴量マップのチャンネルを空間上の高周波成分の特徴を持つチャンネルと低周波成分の特徴を持つチャンネルに分ける。(Fig1(b))
- 低周波成分チャンネルの空間解像度をaverage poolingで半分に落とす(Fig1(c))
- 低周波成分割合はハイパーパラメータ
- 最初のOctConv層:、
- とは、入力特徴マップの全チャンネルに高周波成分が混ざっていることを意味する
- 中間層:
- 本論文では、は全層共通
- 最後のOctConv層:、
- とすることで、解像度半分の低周波成分保持成分が無くなり、全特徴が通常の畳み込み層と同じ形式で出力される
- 高周波&低周波チャンネルに以下の演算を行う(Fig2)
- 高周波成分から高周波成分への畳み込み (Fig2. 上の緑線)
- 低周波成分から低周波成分への畳み込み (Fig2. 下の緑線)
- 高周波成分から低周波成分への畳み込み (Fig2. 上の赤線)
- average poolingで空間解像度をそろえる
- 低周波成分から高周波成分への畳み込み (Fig2. 下の赤線)
- 最近隣内挿でアップサンプリング
- 高周波成分(1と4)と低周波成分(2と3)をそれぞれsum
通常の畳み込み層に対する低周波成分毎のFLOP数とメモリ使用量割合
低周波成分および各種モデルでのImageNet Top1 accuracy
- いずれのモデルも0.125もしくは0.25で最高性能となっている