Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Masked Autoencoders Are Scalable Vision Learners #21

Closed
nogawanogawa opened this issue Nov 24, 2021 · 4 comments
Closed

Masked Autoencoders Are Scalable Vision Learners #21

nogawanogawa opened this issue Nov 24, 2021 · 4 comments

Comments

@nogawanogawa
Copy link
Owner

nogawanogawa commented Nov 24, 2021

論文URL

https://arxiv.org/abs/2111.06377

著者

Kaiming He, Xinlei Chen, Saining Xie, Yanghao Li, Piotr Dollár, Ross Girshick (Facebook AI Research (FAIR))

会議

  • (今の所Arxivのみ)

背景

NNのモデルは年々複雑かつ大容量になってきており、それに伴って巨大なデータセットで合っても過学習しやすくなっている。そのため、学習のためにこれまで以上に巨大なデータセットが必要になってきている。また、それに伴って学習時間の長時間化も問題になっている。

一般に、巨大なラベル付き画像データを用意・使用するのは簡単ではなく、汎用的な用途で使用できる自己教師あり学習が注目されている。

目的

  • 効果的な自己教師あり学習の手法の考案
    • データ量は少なく
    • 学習時間は短く

アプローチ

  • masked autoencoders (MAE) の新しい手法の提案
    • 75%にも及ぶ画像の部分をマスクして画像を再構築する事前学習
@nogawanogawa
Copy link
Owner Author

nogawanogawa commented Nov 24, 2021

背景

NNのモデルは年々複雑かつ大容量になってきており、それに伴って巨大なデータセットで合っても過学習しやすくなっている。そのため、学習のためにこれまで以上に巨大なデータセットが必要になってきている。また、それに伴って学習時間の長時間化も問題になっている。

一般に、巨大なラベル付き画像データを用意・使用するのは簡単ではなく、汎用的な用途で使用できる自己教師あり学習が注目されている。

NLPの世界では、BERTを始めとするMasked autoencodingの手法は上手くいっていたが、画像ではNLPほど上手くはいっていなかった。これは、

  1. 長年、CNNが主流になっていた事によるNLPとの主要なアーキテクチャの違い
    • ViTの登場によりこの問題は解決されたはず
  2. 言語と画像では情報の密度が異なる(言語のほうがより洗練されており、画像は多分にノイズを含んでいる)
  3. デコーダーの重要性が画像とNLPでは異なる
    • NLPより画像のほうが出力に対してデコーダーに複雑な役割が要求されている

などの理由で、画像では上手くいっていなかったと考えている。

@nogawanogawa
Copy link
Owner Author

問題意識

画像における精度の高いモデルを作る際の効果的な学習には大量のデータや時間・リソースがかかる

目的

  • 効果的な自己教師あり学習の手法の考案

アプローチ

  • masked autoencoders (MAE) の新しい手法の提案
    • 75%にも及ぶ画像の部分をマスクして画像を再構築する事前学習

@nogawanogawa
Copy link
Owner Author

nogawanogawa commented Nov 24, 2021

Masked autoencoders (MAE)

主な仕組みは下図のようになっている。

スクリーンショット 2021-11-25 9 01 03

Masking

入力の画像を規則的なパッチに分割し、一部のパッチをサンプリングしてそれ以外は削除します。
これにより、通常よりかなり困難なタスクになっています。

スクリーンショット 2021-11-25 9 05 31

MAE encoder

EncoderにはViTをベースにしており、マスクされていないパッチのみに適用される。
ポジションエンコーディングを追加して、パッチを埋め込み、Transformerに入力する。

MAE decoder

MAEデコーダへの入力は、エンコードされた可視パッチと、マスクトークンからなるトークンのフルセットを入力される。
マスクトークンは削除されたパッチの存在を表す共有ベクトルになっている。

Reconstruction target

MAEは、マスクされた各パッチのピクセル値を予測することで、入力を再構成する。

デコーダの出力の各要素は、パッチを表すピクセル値のベクトルになっている。
損失関数は,ピクセル空間における再構成画像と原画像の間の平均二乗誤差(MSE)を計算する.
この損失関数は,BERTと同様に,マスキングされたパッチでのみ計算される。

@nogawanogawa
Copy link
Owner Author

nogawanogawa commented Nov 25, 2021

評価

  • 比較対象
    • ViT-Largeを使用する。これは非常にモデルが大きく、オーバーフィットしやすい。
  • データセット
    • imagenet-1K

スクリーンショット 2021-11-25 15 35 55

なにもしないべ−スライン、先行研究の実装を適用した場合より、この手法で事前学習をしたほうがMAEは良かった。

マスキング比率

最適なマスキングの比率は、75%が最も良さそうという結果になっている

スクリーンショット 2021-11-25 15 38 52

デコーダー

デコーダーの深さ(block)と幅(channel)については、一応とっているが、値を変化させてもそこまで大きな差は出ていないように見える

スクリーンショット 2021-11-25 15 51 07

Mask

75%もの部分をマスクするので、計算時間が劇的に短くなる。(計算量自体が削減されるから)
計算時間としては、2.8〜4.1倍程度まで高速化することができた。

サンプリング

ランダムが良さそう

スクリーンショット 2021-11-25 15 56 56

先行研究との比較

選考小円級より良い値が出てる。

スクリーンショット 2021-11-25 15 58 11

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant