[論文メモ] ConvMLP: Hierarchical Convolutional MLPs for Vision

arxiv.org
個人的なメモレベル

概要

最近流行り始めているMLP-basedなアーキテクチャは固定サイズの入力とFC層による高計算コストでobject detection等にしても使いにくい。
提案するConvMLPは軽量でステージに分割(ダウンサンプリングをする)といった畳み込みに近いMLPアーキテクチャ
f:id:Ninhydrin:20210917100945p:plain

導入

画像といえばCNNという感じだったが最近ではNLP系のTransformerが画像タスクに参入(ViT)。
MLPMLP-Mixer、gMLP、ResMLPなどCNNやViTに肉薄する精度を出し始めた。
しかし、MLP-basedな手法は固定長の入力という制約がありobject detectionなどの多様な画像サイズを受け取るタスクには利用できない。
またobject detection等のマルチスケールな特徴が有効なタスクでは(ViTなどもそうだが)シングルステージモデル(計算途中でも解像度が変化しないモデル)は有効ではないし、MLP-basedな手法はパラメータ数・計算コストともに大きく、Transformer系と同等以上のパフォーマンスを出すにはより多くのパラメータと計算コストを必要とする。

本論文では
1) 固定長入力の制約を取り除く
2) 軽量化
を目的としている。

手法

アーキテクチャ全体図は図2を参照
f:id:Ninhydrin:20210917093043p:plain
大まかに、Tokenizer、convolution stage、Conv-MLP stageの3つに分かれる。

Tokenizer

多様な入力サイズに対応するためにconvolutionで設計。
3x3のconv、BN、ReLUとmax poolingから成る。

Convolution Stage

空間方向での接続を強くするためにfully convolutionを挟む。
1x1と3x3のconvから成る。

Conv-MLP Stage

固定長入力の制約をなくすため全てのspatial MLP(空間方向のMLP)をchannle MLP(チャンネル方向のMLP)に。
重みの共有はチャンネル方向のみで空間方向の相互作用がなくなるのでそこは初期のステージでconvolution layerを挟むことで解決。

Swin-Transformerに倣いダウンサンプリングを導入。ただし、Swinのpatch mergingではなく3x3convをstride2で適用することでダウンサンプリングする。
少しパラメータが増えるがaccuracyが向上。

また3x3のDepth-Wise Convをchannel MLP とchannel MLPの間に挿入。
これによりspatial MLPがなくても空間方向の相互作用ができパフォーマンスも大幅に向上。

実験

詳しくは省略するので論文を参照。
スケール違いで3つのConvMLPを使ったアーキテクチャを作成(表1)。
f:id:Ninhydrin:20210917094729p:plain

まずはablation study。各モジュールの有効性をチェック。結果は表2を参照。epoch数が異なるのが気にはなる。
f:id:Ninhydrin:20210917094842p:plain

ImageNet-1k、CIFAR、Flowers-102、MS COCO、ADE20Kなども実験。
表3がImageNet-1k。モデルサイズごとに分けて比較。軽量でSOTAレベルとは言えそう(だが少し届かない)。
f:id:Ninhydrin:20210917095057p:plain


表4がImageNet-1kで事前学習してから各タスクでファインチューニング。
図3はConvMLPをバックボーンとして利用してMS COCOでのobject detectionとADE30Kでのsemantic segmentationの実験結果。
f:id:Ninhydrin:20210917095146p:plain

所感

純粋なMLPのみではなくconvolutionとの併用でMLP-basedといって良いのかちょっと微妙。MLPで達成したいのか、軽量なモデルを目指しているのか等目的がわからなくなってくる。結果としては軽量さとaccuracyのトレードオフといった感じで場合によってはありという感じ。
個人的にはMLPにこだわりはなく軽量で計算コストも低く、学習しやすい(過学習しない・データ数少)なら何でもあり。別にconvolutionやattentionを駆逐する必要はないと思っている。