[論文メモ] Visual Attention Network
画像系タスクに合わせたAttentionとしてLarge Kernel Attention(LKA)を提案
空間的に離れた情報同士を扱う方法として大きく2つの方法がある。
1爪がNLPで使われていたSelf-Attention(SA)を使う方法で、画像をパッチに分割しトークン列として処理するが
- 画像を1Dとして扱うため元の2D構造が無視される
- 解像度が大きいと計算量が膨大になる
- 空間方向を考慮したAttentionなので、画像にとって大切なチャンネル方向が考慮されていない
といった問題がある。
2つ目に画像全体をカバーする大きいカーネルサイズのConvolutionを使う方法がある。これは計算量が大きく、パラメータも多くなってしまう。
手法
提案するLKAは図2のように大きいカーネルサイズのConvolutionをDepth-wise Dilation Conv(DW-D-Conv)とDepth-wise Conv(DW-Conv)と Point-wise Conv(PW-Conv)に分解する。
カーネルサイズのConvolutionはカーネルサイズでdilationのDW-D-ConvとカーネルサイズのDW-ConvとのPW-Convとなる。
これによりSAと同じように離れた点同士の関係を低コストで計算できる。あとはこれをAttention Mapとして計算する(下記の式1, 2)。
は入力特徴量。
LKAは表1のようなConvolutionとAttentionの両方のアドバンテージを持つ
LKAを使ったネットワーク、Visual Attention Network(VAN)について。
VANはピラミッド構造で解像度が異なる4ステージからなる。
各ステージは図3(d)の構造。
各ステージ毎のチャンネル数や解像度は表2を参照
パラメータ数とFLOPs
実験・結果
ImageNet-1Kのクラス分類、COCOのObject Detection、ADE20KのSemantic Segmentation。
Grad-CAMで可視化
Ablation study