- 「Vision Transformer」について学びたいけど理解できるか不安・・・
- 「Vision Transformer」についてどこから学んでいいか分からない?
- 「Vision Transformer」を体系的に教えて!
「Vision Transformer」は言語処理用に開発されたTransformerを分類タスクに応用したモデルですが、難しそうで何から学んだらよいか分からず、勉強のやる気を失うケースは非常に多いです。
私は過去に基本情報技術者試験(旧:第二種情報処理技術者試験)に合格し、2年程前に「一般社団法人 日本ディープラーニング協会」が主催の「G検定試験」に合格しました。現在、「E資格」にチャレンジ中ですが3回不合格になり、この経験から学習の要点について学ぶ機会がありました。
そこでこの記事では、「Vision Transformer」のポイントについて解説します。
この記事を参考に「Vision Transformer」のポイントを理解できれば、E資格に合格できるはずです。
<<「Vision Transformer」の学習のポイントを今すぐ知りたい方はこちら
目次
Vision Transformer(ViT)の概要
- 画像特徴量の入力方法・・・画像の“トークン”系列化
1.画像をパッチに分割し系列化・・・N個の画像パッチで構成される系列
2.パッチごとにFlatten化・・・”トークン(単語)”化→これを入力値に使用 - ViTの構造・・・Transformer Encoderを使用
Transformer Encoderへの入力値の準備
Transformer Encoder・・・言語処理向けのオリジナルと同等の構造
MLP Head・・・「CLS」Token系列値の出力特徴量から分類結果を出力 - 事前学習とファインチューニング
1.事前学習・・・大規模なデータセットでの事前学習
2.ファインチューニング・・・事前学習より高解像度な画像を入力
ViTの画像特徴量の処理
- 入力画像をパッチに分割する
- パッチごとにFlatten処理を行い、“トークン”系列を得る
- Embedding表現(埋込表現)に変換する
- CLS Tokenを系列データの最初に付加する
- Position Embedding(パッチの位置)を付加する
ViTの構造
【Vitの計算過程】
- 画像x∈RH×W×C(高さH、幅C、チャンネルC)を、縦幅がPのパッチで分割した画像
x∈RN×(P2・C) (N=HW/P2はパッチ数) - パッチ画像をD次元の特徴量Z0に変換しTransformer Encoderに入力
Z0=[Xclass;X1PE;X2PE;…;XNPE]+Epos - Transformer EncoderはL回(L層)重ね、ℓ層目について、
Layer NormをLN MultiーHead self attentionをMSAとし、
Z’ℓ=MSA(LN(Zℓー1))+Zℓ-1 (ℓ=1…L)
Zℓ=MLP(LN(Z’ℓ))+Z’ℓ (ℓ=1…L) - Transformer Encoderの最終層では[CLS]トークに当たる特徴量を出力
y=LN(Z0L) - このyをMLP Headに入力し、最終的な分類結果を得る。
事前学習とファインチューニング
【事前学習】
- Vitの事前学習は教師ラベル付きの大規模なデータセットで行われる
- 事前学習の手順
事前学習時にはMLP Headを出力層に使用
ファインチューニングにより低解像度の画像を使用
【ファインチューニング】
- 分類クラスの変更
Transformer EncoderはD次元の特徴量出力を行う
MLP HeadでD次元をKクラスへ変換する
ファインチューニング時にはMLP HeadをLinear層に取り換え - 入力解像度の変更
バッチサイズは変更せず、入力時のPosition Embeddingを付替え
事前学習よりファインチューニングでは高解像度の画像を使用Vitの事前学習は教師ラベル付きの大規模なデータセットで行われる
まとめ
最後まで読んで頂きありがとうございます。
皆様のキャリアアップを応援しています!!

コメント
コメント一覧 (2件)
Its such as you learn my thoughts! You seem to grasp so much about this, like you wrote
the ebook in it or something. I believe that you can do
with some p.c. to drive the message home a bit, however other than that, that is great blog.
A fantastic read. I’ll definitely be back.
コメント頂きありがとうございます。
投稿の励みになります。