Global Second-order Pooling Convolutional Networks
スポンサーリンク
論文URL
ポイント
- SE Blockのような自己注意ブロックGSoP Block(Global Second order Pooling Block)を提案
- cSE Block(spatial squeeze and channel excitation)では空間成分をGlobal Average Pooling(平均)でつぶしているのに対し、GSoPでは共分散を利用する
- ブロック名のSecond orderは、共分散=2次のモーメントであることから命名されている
- sSE Block(channel squeeze and spatial excitation)のようにチャンネル成分をつぶすブロックも提案されている
- 論文では、オリジナルのSE block(=cSE)との比較のみ行っている。
channel-wise pool GSoP Block
空間成分をつぶすGSoP Block (Fig1(b)
- 1x1の畳み込みで入力特徴量のチャンネルをc'からc(=128)に変換
- c' > cとするボトルネック構造
- チャンネル間の共分散行列(サイズはc×c)を計算
- 1×c×1で入力グループ数がcのGroup convolutionにより、1×1x4c次元の特徴量を計算
- 1x1の畳み込み+sigmoidによりc'チャンネル分の重みを計算
- 各チャンネルの重みを入力特徴量にかけ合わせ、出力特徴量を得る
position-wise pool GSoP Block
チャンネル成分をつぶすGSoP Block。channel-wise版との違いを以下に示す。
- チャンネル間の共分散行列の代わりに、画素間の共分散行列を計算する
- 共分散を計算する前に8x8にdown-sampling(手法は不明)している
- 画素毎に計算される重みを元の解像度にup-sampling(手法は不明)し、入力特徴量と画素単位でかけ合わせる
GSoP-Net
- GSoP-NetはResNetがベースになっている
- ablation studyではResNet-26、ImageNetでの評価はResNet-50を使用
- conv2_x ~ conv5_xの各ステージの最後にGSoP Blockを追加
- ablation studyでchannel-wizeとposition-wiseのGSoP Blockをconcatした結果が最良となっていたため、最終的なImageNetでの評価もconcat版で行ったものと思われるが明記はされていない。なお、ablation study結果の考察として、後述のGSoP-Net1ではconcat版を使用するとchannel-wise結果より性能低下し、GSoP-Net2でもconcat版の結果は少ししか改善しないとの記述があることから、channel-wise版を採用した可能性も有る。
- conv5_xの後の構造により2パターンのモデルを評価
- GSoP-Net1 : GSoP Block + Global Average Pooling
- GSoP-Net2 : iSQRT-COV
- 2018年のCVPRで本論文の著者グループが提案したブロック。このブロックも共分散を利用している。
ImageNetでの評価結果