0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MLPとCNNを組み合わせるモデル【CgMLP】

Posted at

原論文
Convolutional Gated MLP: Combining Convolutions & gMLP
https://arxiv.org/pdf/2111.03940.pdf

結論

MLPとCNNを組み合わせたら良くなった.

概要

画像認識モデルとしてCNNやViTがあるが,それとは別にMLPのみを使用したMLP系の画像認識モデルが提案されている.MLP系モデルにゲートを組み込んだ「gMLP」がある.これは,MLPのみで構成されているがCNNやViTと同程度の性能を持つ.
また,CNNとViTを組み合わせることによる性能向上するモデル「CvT」は,CNNとViTの異なる認識特性で互いの弱点を補うように機能している.この論文では,CvTにならってMLPと畳み込みを組み合わせる手法「CgMLP」を提案している.下図の最下段がCgMLPである.

スクリーンショット 2023-12-31 13.26.07.png

モデル構造

最初の処理に2層の畳み込み層を使用する.これにより,特徴マップのダウンサンプリングによる計算量削減,その後のMLPに有効な認識を補助する役割がある.下図では,畳み込み後の特徴マップでは,車の輪郭や形状の特徴を強めており,認識対象の重要な特徴の理解を補助する.畳み込み後は,特徴マップをパッチ分割し,gMLP層の計算をする.また,gMLPはSA同様に位置の保存が不可能であり,位置埋め込みを使用しないため,CNNは位置の保存のような役割もある.

スクリーンショット 2023-12-31 13.52.09.png

ゲートの役割

このゲートを組み込んだ手法は様々あり,ConViTは,ViTにゲートを組み込み,畳み込みで認識させる?かSelf-Attention(SA)で認識させる?かの並列計算をゲートで制御することによって変化させて精度向上を目指している.これは,畳み込みの認識とSAの認識がお互いに異なる認識特性を持ち,それぞれの弱点を補完しあうように機能している.

スクリーンショット 2023-12-31 13.22.59.png

この論文が提案する手法では,下図の右のような構造をしている.CNNとMLPが分かりやすく並列になっているのではなく,CNN→gMLPの直列であるが,ConViTのような並列効果がある.
下図の黄色の枠で示す部分を説明する.特徴マップを半分に分割する.右片方にMLPの処理,左片方は何もしない.これは,右にCNN→MLPの処理をした特徴マップ,左にCNNの処理した特徴マップでそれぞれの特徴マップをゲート◉で連結させる.連結する際にどちらのルートの特徴マップを優先させるかを調整する.これは,上図のconvとTranの並列計算が,CNN→MLPとCNNの並列計算に置き換わっているとほぼ同義である.

スクリーンショット 2023-12-31 13.51.37.png

おわりに

今回は,MLPとCNNを組み合わせるモデル【CgMLP】について解説した.従来のCNN+ViTのようにCNN+MLPでやってもよくなった.ゲートを使用して並列計算を実現して,CNN→MLPとCNNのどちらのルートを優先させるかを学習して導く.今後の画像認識モデルにMLPが有効になるかもしれない.

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?