820 Views
October 17, 24
スライド概要
AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!
物体検知輪読#3 Vision transformer Max vision transformer 工学部情報学科2回 野村隆晃 0
アジェンダ ◼ Vision transformer (transformerの復習も兼ねて) ◼ Max vision transformer 1
アジェンダ ◼ Vision transformer (transformerの復習も兼ねて) ◼ Max vision transformer 2
1. Vision transformer Vision transformerとは、transformerのencoderに画像をパッチ化して入力したものである。 以下、transformerのアーキテクチャの復習がてら、vision transformerの構造を述べる。 画像の分類問題について 1. 画像をパッチとして分割 2. 各パッチを直列化してトークン化 3. Position embeddingを足す 4. Transformerのencodeに入力 5. Encoderの出力のうちclassトークンを MLPで分類 出典: https://arxiv.org/abs/2010.11929 3
1.1 vision transformerの入力 画像をパッチごとのトークンに変換 𝑁𝑝 個のバッチに 分割 多くの場合で, 𝐻 = 𝑊 埋め込み ベクトル 各パッチがp × 𝑝 の画像 埋め込みの線形写像Eより 𝐷 次元のベクトルに変換して、 classトークンを追加 出典: https://arxiv.org/abs/2010.11929 4
1.2 Transformerのencoder TransformerのEncoderに𝐷次元の埋め込みベクトルを 𝑁𝑝 + 1 本入力する。 MSA: Multi-head self attention MLP: Multi layer perceptron LN : Layer normalization 出典: https://arxiv.org/abs/2010.11929 5
1.3 Multi-head self attention (大規模言語モデルの復習) https://www.docswell.com/s/k_fujita /K8GWD9-2023-08-01-220755#p22 より引用 6
1.4 ViTの性能 ViTは https://www.docswell.com/s /k_fujita/K8GWD9-2023-08-01-220755#p22`3 より引用 7
1.2 Transformerのencoder [CLASS] トークンについて 学習可能なパラメータで、0番目のパッチ化された画像の埋め込みベクトルx0 とし て、挿入される。 画像分類問題では、CLASSトークンの埋め込みベクトルがMLPに入力され、予測 クラスが決定される。最初は乱数で初期化されている。 8
1.3 vision transformerの初期化 Vision transformerの訓練可能なパラメータは以下である。 1. CLASSトークン 2. 位置エンコーディング(1次元) 3. 埋め込みで用いる線形写像E 4. MSAでのQ,K,Vへの埋め込みの線形写像 2については、 EをCNNの特徴量マップへ置き換えるHybridモデルが提案されており、 その場合は、EをResNetの特徴量マップに置き換えて、そのパラメータで初期化している。 3はBERTモデルのパラメータをそのまま用いている。(base, large) 9
1.4 ViTの能力 ViTは画像分類タスクでSOTAを達成した。 JFTはGoogleが保有する3億枚の画像の非公開データセット 10
1.5 ViTのinductive biasの影響 ViTはinductive biasの欠如により、大規模なデータセットでの訓練が必要であることが、示されている。 Inductive biasとは? CNNは局所的に、2次元の近傍構造および並進移動に対しての等価性があるため、物体の特徴 を捉えることができる。ただし、ViTは空間的な関係を一から学習しなければならない。 そのため、小規模なデータセットではCNNより劣る 11
1.5 ViTのinductive biasの影響 計算機資源についても、データセットと同様に、低計算機資源でのViTのパフォーマンスの低さが みられる。しかし、Convとのhybridモデルは低予算でも十分な性能を発揮している 12
1.6 もろもろの学習結果 学習した結果の図 パッチ間の距離を正しく認識し ていることが分かる。 浅い層でも、高いattention distance をもつヘッドが存在している。 13
アジェンダ ◼ Vision transformer (transformerの復習も兼ねて) ◼ Max vision transformer 14
2.1 Max Vision Transformer ViTからの主な改善点は以下の3つ 1. Position embeddingがrelative attentionに代替 2. Multi Axis vision transformer 3. 画像がfeature mapとして入力 4. MBConvの導入 15
2.2 Relative attention Relative attentionについて、MaxViTはposition embeddingが加算されていない 縦横それぞれに対して、ある要素の前後を決 定する。長さNだと、-N+1からN-1 -3 -2 -1 0 1 2 3 高さHの画像について、相対位置は(-H+1)から(H-1)であり、幅も同様にして、各要素に 学習可能なパラメータが格納された行列𝐵 ∈ 𝑅2𝐻−1×2𝑤−1 を参照して、𝐵を決定 16
2.3 Multi Axes Attention 局所的な特徴と大域的な特徴のそれぞれに焦点を当てた、2種類のAttention 1. Block Attention 2. Grid Attention 17
2.4 パッチ化の処理 バニラのViTは、画像をパッチ化していたが、畳み込みによる特徴量に変化 18
2.5 MBConv 各MaxViTブロックの中で、MBConvブロックを使用 先週のEfficeintNetでの 宮本さんのスライド 19