MLP-Mixerの論文の概要を把握する
MLP-MixerなどのMLPを用いたとされる論文が話題のようなので、MLP-Mixer論文の概要を把握できればということで当記事にまとめます。
[2105.01601] MLP-Mixer: An all-MLP Architecture for Vision
以下、目次になります。
1. MLP-Mixerの概要(Abstract、Introductionの確認)
1-1 Abstractの確認
1-2 Introductionの確認(Section1)
2. 論文の重要なポイントの抜粋
2-1. Mixer Architecture(Section2)
2-2. Experiments(Section3)
2-3. Related Work(Section4)
2-4. Conclusions(Section5)
3. まとめ
1. MLP-Mixerの概要(Abstract、Introductionの確認)
1-1 Abstractの確認
1-1節では論文のAbstractを確認します。
上記がMLP-Mixerの論文のAbstractです。以下、簡単に内容についてまとめます。
・コンピュータビジョンの分野においてCNNやViT(Vision Transformer)は様々な研究で用いられている
・この研究ではMLP(Multi-Layer Perceptron)に基づくMLP-Mixerを導入し、CNNやViTと同様のパフォーマンスを実現できることを示す
・MLP-Mixerのモジュールは「1. パッチ(tokenと同義)毎の局所特徴量の計算」と「2. パッチ間の大域的な特徴量の計算」の二つのモジュールからなる
・大規模に学習した際にMLP-Mixerは画像分類(image classification)においてSotAと同様の成果を示した
・この結果がCNNやTransformerの更なる研究に対して指針になるかもしれない
Abstractについて概ね把握できたので1-1節はここまでとします。
1-2 Introductionの確認(Section1)
1-2節ではIntroductionの記載を確認します。
第一パラグラフでは、先行研究の紹介にあたってCNN(Convolutional Neural Network)やViT(Vision Transformer)が挙げられています。ViTについては下記の記事などで取り扱いましたのでここでは流します。
第二パラグラフではこの論文で提唱するMLP-Mixerの構成について簡単に記載されています。ここで"either spatial locations or feature channels"と表現されているのがこの論文での主題となります(CNNを元に考えるならMobile Netなどに発想は近いと思います)。
第三パラグラフでは第二パラグラフの内容が少し詳しく記載されています。基本的にpatchesとchannelsが元で、channel-mixing MLP(同じtoken内の計算)とtoken-mixing MLP(違うtokenとの計算)の二つのモジュールが紹介されています。何度か同様の内容を表現を変えて記載されているので、それに気づけばスムーズに把握できるのではないかと思います。また、Figure.1にMLP-Mixerの全体の構成を図示したとされているので、Figure.1も確認します。
上記のFigure.1の上の図ではMixer layersの詳細の確認にあたって、token-mixing MLP(左)とchannel-mixing MLP(右)の二つが主に図示されています。全体構成は左下ですが、基本的にMixer layer以外はViTとそれほど変わらない構成と理解しておけば概ね問題なさそうです。
第四パラグラフでは、depth-wise convolutionsに関する記載があり、Mobile Netなどを思い浮かべながら確認すると良いのではと思います。また、第五パラグラフではMLP-Mixerがシンプルな構成であるにも関わらずSotAと同等のパフォーマンスを示したことについて記載されています。
2. 論文の重要なポイントの抜粋
2-1. Mixer Architecture(Section2)
冒頭部の記載では「(i)特定の空間的位置(spatial location)における計算」と「(ⅱ)異なる空間的位置間での計算」の二つをどのように取り扱うかについて記載されています。CNNやViTでは処理における(i)と(ⅱ)の区別が曖昧になりがちな一方でMLPでは明確に区別した(clearly separate)と記載されています。
この話はなかなか興味深く、CNNではMobileNetの畳み込みの分解、TransformerではFFNの計算のところは確かに明確な役割があると思われますが、MLP-Mixerの計算ほど明確に切り分けていないので非常にシンプルな処理と見ることができると思います。
2-2. Experiments(Section3)
2-3. Related Work(Section4)
2-4. Conclusions(Section5)
この記事では省略します。
3. まとめ
当記事ではMLP-Mixerについて取り扱いました。確認した記載のようにCNNやTransformerと比較した際にさらにシンプルになったと考えて良いと思います。
一方で、Transformerにおいてはtoken間の類似度に基づいてtoken間の参照構造のInductive biasについて取り扱っていたのが、MLP-Mixerではパラメータによってtoken間の参照構造を取り扱っていることは抑えておくと良いと思います。どちらが良いかを判断するというよりはそれぞれの処理の前提に何が置かれているかを正確に把握することが重要なのではないかと思います。
Inductive biasについては下記にまとめましたので、詳しく確認したい方は下記も合わせてご確認いただけたらと思います。