原論文
Coordinate Attention for Efficient Mobile Network Design
https://openaccess.thecvf.com/content/CVPR2021/papers/Hou_Coordinate_Attention_for_Efficient_Mobile_Network_Design_CVPR_2021_paper.pdf
結論
SENetは空間情報を取りこぼしてる可能性があるので,空間情報も考慮しました.
概要
画像認識モデルであるCNNに,動的なパラメータを導入したSENetがある.SENetを以下の図に示す.SENetは,特徴量のチャンネルの重要度を決定する役割を持つ(色の重要度).
しかし,SENetで採用されるチャンネルの重要度は,空間情報にGlobal Average Pooling(GAP)($H \times W$の平均値)をすることで($H \times W \times C$)の特徴量を($1 \times 1 \times C$)に圧縮する.
SENetでは,よりシンプルで計算量の小さくなるようにGAPを使用しているが,GAPでは空間($H \times W$)にある重要な情報を取りこぼしてしまう可能性がある.そこで,GAPで情報を($1 \times 1 \times C$)に圧縮するのではなく,空間情報も考慮した重み計算をする方法を提案する.
動的なパラメータ(重み):入力画像の持つ値を使用して重みを計算する.つまり,入力画像によって異なる重みを持つ.入力画像には,近い位置に重要な情報があるか,遠い位置に重要な情報があるかは異なる.これら情報を加味してパラメータ(重み)を決定する.
→SENetの解説
https://qiita.com/wakayama_90b/items/96527dfbbeb1e2ee06c5
モデル構造
モデル構造を以下の図(c)に示す.(a)はSENetである.SENetは右ルート(重要度を作成ルート)で($C \times 1 \times 1$)に圧縮するが,提案したCoordinate Attention(c)のモデルの右ルートは,($C \times H \times 1$)と($C \times 1 \times W$)に分かれて圧縮する.
〜〜〜
($C \times H \times 1$)は,W方向(横方向)の情報をAverage Pooling(平均値を求めて圧縮)
($C \times 1 \times W$)は,H方向(縦方向)の情報をAverage Pooling(平均値を求めて圧縮)
分けて圧縮する理由は,計算量が小さくなるからである.
〜〜〜
縦と横の空間情報を取り込むことにより,チャンネルの重要度だけでなく,空間の重要度も同時に計算することができる.また,縦方向の全ての値,横方向の全ての値,を考慮されているため,グローバルな情報を獲得できることも利点である.
(b)のモデル
(b)のモデルでは,空間情報も取り入れようとしたモデルであり,$7 \times 7$の畳み込み層(局所的な空間認識)を採用しているが,GAPを使用した(a)のSENetとほぼ同等な精度になる.→よりグローバルが空間を捉えることが重要である.(論文中の表2参照)
重要度計算
その後,Concatして($C \times 1 \times (W+W)$)から畳み込み層(Conv2d)を通す($C/\gamma \times 1 \times (W+W)$).$\gamma$は計算量削減のために圧縮されるため,16や32などが採用される.
最後にSigmoid関数で値を0~1にして,元の入力特徴量にかけて重要度を付与する.(右ルートのSigmoidで0になった位置は重要でないので,入力特徴量の同じ位置の値が0になる.反対に右ルートで1の場合は,入力特徴量の同じ位置が重要であることを示す.)
これらの,重要度付け(重み付け)は,入力特徴量の値から重要度を計算しているため,入力画像に柔軟に適応できる動的なパラメータ(重み)を持つ.
実験
SE(a),CBAM(b),CA(c)のモデルで,SEとCBAMはほとんど同等だが,論文が提案したCoordinate Attention(CA)は有効であることがわかる.CAのグローバルな空間認識が有効.
また,よりグローバルな情報収集と,空間の動的なパラメータにより,Attentionの可視化(どこを見て認識したか?)の結果,より認識対象を捉えるように学習に成功したと考える.(もし,左上のように認識対象を注目せずに認識成功したとしても,そのモデルは有効とは限らない.むしろ悪.)
まとめ
今回は,空間情報も考慮したSENet【Coordinate Attention】について解説した.SENetでは,空間にある大切な情報を取りこぼしている可能性があったので,Coordinate Attentionを用いて,空間情報も考慮して重要度計算をした.その際に計算量削減のために,縦と横を分割して計算している.