LoginSignup
2
1

ViTのFFNに畳み込みを導入したモデル【LocalViT】

Posted at

原論文
LocalViT: Bringing Locality to Vision Transformers
https://arxiv.org/pdf/2104.05707.pdf

結論

ViTのFFNに畳み込みを導入した.ViTが畳み込みの局所性も獲得して精度向上

概要

画像認識で局所性を持つモデルを作りたい.局所性は,画像の線,エッジ,形状のような物体の構造に関係する特徴を獲得して,画像には不可欠である.けど,最近のトレンドは,グローバル認識をするViTであり,ViTは局所的な認識が苦手.なので,局所性に優れたViTを提案する.そのために,ViTのFFNにDWConvを導入することで局所性を向上させる.

CNNは,局所性に優れているが,受容野を広げるためには層を深くする必要がある.受容野が制限されているCNNと浅い層からグローバル認識のViTを組み合わせて,互いの弱点を補うかのように認識させる.

モデル構造

(a)は通常のFFN.(b)は提案する手法で,3次元で動作する.この1x1convは各ピクセルごとのチャンネル方向認識が可能で,各ピクセルの情報を集約する(トークン間の近接性が回復).しかし,1x1Convだけでは,局所性を獲得しきれない.そこで,1x1convの間にDW3x3Convを導入する.

スクリーンショット 2024-03-09 13.26.07.png

(c)で,Seq(2次元),Img(3次元)を示し,変換してる.1x1convに挟まれて,3x3DWConvがある.

スクリーンショット 2024-03-09 13.26.51.png

クラストークンの行方

FFNの前に,クラストークンを切り離して,FFNに入力せず,FFNの計算後,特徴量にクラストークンを連結させる.

実験

1x1Convだけでも少し精度向上する.DWConvを入れるとさらに精度向上.

FFNで使用される活性化関数をReLU6からh-swishにすると精度向上

FFNにSENetを追加する精度向上

ViTの深い層にだけ畳み込みを導入した場合に精度低下,浅い層の畳み込みが有効.

FFNの拡張率は,でかい方がいい.

まとめ

今回は,ViTのFFNに畳み込みを導入したモデル【LocalViT】について解説した.ViT+CNNは互いの弱点を補て良い結果になる.

2
1
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
2
1