1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

軸別にSelf-Attentionするモデル【Axial-ResNet】

Posted at

原論文
Axial-deeplab: Standalone axial-attention for panoptic segmentation.
https://arxiv.org/pdf/2003.07853.pdf

結論

軸別にSelf-Attentionすることで計算量を削減できた.

概要

画像認識モデルのCNNは,カーネルの範囲の情報を用いて計算するため,受容野が小さく,遠くにある画素の情報を考慮できない.ViTは,CNNの受容野を解決するように,画像全体の情報を考慮して計算が可能になった.しかし,ViTの構造上,CNNと比較して膨大な計算コストが必要になる.ViTの派生モデルで,Swinは,画像全体の受容野を制限して計算量を抑えた.けど,これは根本的な解決になっていない.
グローバルな認識ができて,さらに計算量を抑えたい.そこで,2次元で動作するViTを2つの1次元SAに因数分解することで,計算効率が良いViTを提案する.また,これに付随して,位置に敏感な構造も提案する.

モデル構造

axial-attention block

axial-attention blockを下図に示す.入力された($H \times W \times 256$)の3次元の特徴量を1x1Convでチャンネル数を圧縮し($H \times W \times 128$)の特徴量を得る.これは,その後に処理されるAttentionの計算量を削減するためにやる.その後,縦方向のAttentionと横方向のAttentionをして,1x1Convでチャンネル数を$256$に戻して,入力された特徴量に要素和する.
例えば,ResNetの畳み込みblockとこのaxial-attention blockを入れ替えることで,いい精度が達成する.

スクリーンショット 2024-03-08 8.40.06.png

Multi-Head Attention (Height-Axis,Width-Axis)

下図に1headのAttention構造を示す.
$H$が特徴量の縦の長さ,$W$が横の長さ,$8$や$16$はチャンネル数を示す.
出力が($H \times W \times 16$)なので,この出力が8種類(8head)あって,上図の($H \times W \times 16$)$ \times 8$でConcatして($H \times W \times 128$)に戻ってくる.

つまり,1headに($H \times W \times 16$)が入力され,QとKは1x1Convで($H \times W \times 8$),Vは($H \times W \times 16$)の特徴量を得る.

軸のAttention

下図の左に示す.QKの特徴量をから,Hを引き離して($W \times 8$)の部分で内積計算する.$8$の部分が相殺されて,($W \times W$)になる.これとVの($W \times 16$)で$W$が相殺して,($W \times 16$)になる.
※Hの部分を外して考えてみるとわかりやすい.

Height-Axisの場合は,Hを外して考える.
Width-Axisの場合は,Wを外して考える.

スクリーンショット 2024-03-08 8.34.59.png

軸+位置情報を考慮したAttention

下図の右に示す.
主に,$r$で示される位置情報をかけることで位置を考慮した計算ができるようになる.Swinでも位置情報を考慮した構造を提案しているが,SwinはQのみに位置情報を付与しており,それは十分でない.なので,たくさんつけました.

QKの内積と,Qの位置情報,Kの位置情報の要素和して,Vと内積して,Vの位置情報を足して出力って感じ.

スクリーンショット 2024-03-08 8.34.59.png

実験

1x1convで計算量が減って,軸別でAttentionをしたので,計算量が小さくなったのに,精度は向上した.

スクリーンショット 2024-03-08 9.36.28.png

まとめ

今回は,軸別にSelf-Attentionするモデル【Axial-ResNet】について解説した.ViTのSAの計算量が大きいので,削減したいけど,Swinのようにローカルになるのは違うよね.グローバルで削減できたのは良い.

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?