0
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.

お題は不問!Qiita Engineer Festa 2023で記事投稿!

ViTにCNNをたくさん組み込んだモデル【CMT】

Last updated at Posted at 2023-06-15

原論文
CMT: Convolutional Neural Networks Meet Vision Transformers
https://arxiv.org/abs/2107.06263

日本語解説
ViTとCNNを組み合わて精度と速度を向上させたCMTを詳細解説!
https://deepsquare.jp/2021/07/cmt/

関連研究

Vison Transformerの解説
https://qiita.com/wakanomi/items/55bba80338615c7cce73

CNN+ViTモデルの傾向【サーベイ】
https://qiita.com/wakayama_90b/items/96bf5d32b09cb0041c39

結論

ViTにCNNアーキテクチャをたくさん組み込んで,局所的な認識と計算量の削減の補助をする.

概要

ViTの問題点として,局所的な認識が苦手である問題点がある.物体検出やセグメンテーションタスクでは,物体の細かな認識を必要としているため,ViTをそれらのタスクに応用するには,局所的な認識を補助する構造を組み込む必要がある.そこで,局所的な認識が得意な畳み込み(LPU)を組み込んで,畳み込みとSAを交互に行い精度向上を期待する.また,FNNを畳み込みに置き換える.さらに,計算量削減のために,キーとバリューをダウンサンプリングする.また,FNNを畳み込みに置き換える.

モデル構造

CMTは4ステージの階層型モデル構造を採用する.初めの処理として,パッチ特徴量変換で畳み込み層を採用し,畳み込み層の出力をViTの入力としている.これにより,ViTの苦手な局所的な認識の補助をする.また,ここの畳み込み層で特徴量をダウンサンプリングすることでViTの計算量を削減する.
CMT Block内の処理には以下の3つの処理が組み込まれており,特徴抽出を行う.

  • 局所的な空間認識(Local Perception Unit)
  • 大局的な空間認識(Lightweight Multi-head Self-attention)
  • チャンネル方向の認識(Inverted Residual Feed-forward Network)

スクリーンショット 2023-06-15 17.34.31.png

Local Perception Unit(LPU)

ViTの問題点として,局所的な認識が苦手である.それは,パッチに分割してパッチ間の類似度計算(SA)を行うので,パッチ内の認識ができないことにある.局所的な認識を補助するために,畳み込み層をSAの前に追加する.これによって,局所的な認識の畳み込みと,大局的な認識のSAを交互に処理することによって性能向上を目指す.Local Perception UnitにはDWConv(Depthwise Separable Convolution)とスキップ接続で構成されている.DWConvは空間方向の畳み込み.

LPU(x) = DWConv(x) + x

Lightweight Multi-head Self-attention(LMSA)

ViTの問題点として,計算量が膨大なことがある.これを解決するために,キーとバリューをダウンサンプリングする.ダウンサンプリング方法にDWConvを採用する.(他モデルでも同じようにダウンサンプリングする手法がある.畳み込みの他に線形射影や,プーリングを使用している場合もある.)また,位置情報を保存する,相対的位置バイアス(B)を追加する.

クエリ,キー,バリューの変換(キー,バリューはダウンサンプリング)


Q = xW_q \\
K=DWConv(x)W_k \\
V=DWConv(x)W_v 

ダウンサンプリングされたSA(LMS)の計算


LMSA(Q,K,V) = softmax(\frac{QK^T}{\sqrt{d}}+B)V

Inverted Residual Feed-forward Network(IRFFN)

ViTは通常,FNNにMLPが採用されていた.


MLP(x) = GELU(XW_1 + b_1)XW_2 + b_2

IRFFNは3x3DWConvを1x1Convに挟まれるような構造である.また,スキップ接続の位置を変更している.


IRFFN(x) = Conv(F(Conv(x))) \\
F(x) = DWConv(x) + x

スクリーンショット 2023-06-15 17.34.54.png

実験結果

画像分類,物体検出,セグメンテーションで良い結果.

スクリーンショット 2023-06-15 17.34.40.png

考察

ViTにCNNアーキテクチャを組み込む派生モデルは多くあり,CMTは組み込める場所のほぼ全てに組み込んでいる.畳み込みとSAを交互に特徴抽出することは良い傾向である.
ViTの構造に畳み込みを入れすぎても大丈夫なんだなと感じました.

まとめ

今回は,ViTにCNNをたくさん組み込んだモデル【CMT】について解説した.ViTにたくさん畳み込みを組み込むと性能が向上することが分かった.

0
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
0
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?