概要
Vision Transformeer(ViT)の問題点としてハイパーパラメータの影響を受けやすく学習が難しいことやCNNを超える精度を発揮するためには3億枚を超える大規模なデータセットでの事前学習が必要であることなどがあげられる.
この問題点に対して,Data-efficient image Transformers(DeiT)は知識蒸留を導入することで小さなデータセットでの事前学習でも高精度化を達成している.また,DeiTはData Augmentationや正則化,ハイパーパラメータなどの設定方法に関しても言及している.
アプローチ
DeiTは小さなデータセットでの事前学習でViTを高精度化するために学習済みのCNNを教師(Teacher),未学習のViTを生徒(Student)としてStudentの予測確率をTeacherの予測確率に近づけるように学習する.
モデル構造
DeiTではViTに対してDistillation Tokenを追加している.TeacherとStudentには同じ画像を入力し,Class TokenとDistillation Tokenに抽出した特徴を集約する.
Distillation Tokenに集約された特徴量をMLP Headに入力し予測確率を出力する.
Distillation Tokenに集約された特徴量から得られた予測確率とCNNの予測確率の損失を計算する.これにより,Teacherの知識をStudentに伝達している.
Class Tokenに集約された特徴量は,MLP Headに入力し予測確率を出力する.出力されたStudentの予測確率と教師ラベルとの損失を計算する.
実験
いくつかの実験を抜粋して結果を記載する.
ImageNet-1kに対する画像分類精度の比較
TeacherにDeiTを用いた時よりもCNN(RegNet)を用いた時の方が高精度.
ImageNet-1kで事前学習した各モデルを転移学習した際の画像分類精度の比較
DeiTはImageNet-1kのみでCNNと同等の画像分類精度を発揮している.
Ablation
Ablation StudyとしてData Augmentationや正則化,ハイパーパラメータなどの違いによって小規模なデータセットでの高精度を図っている.
ハイパーパラメータ
学習率のスケーリングやWarmUp Epochs,Weight decayはViTから継続して採用している.
Data Augmentation
Data Augmentationとしては,データセットに応じてData Augmentationを探索するRand Augment,2枚の画像を混合するMixup,画像の一部を切り取りその部分を別の画像を置き換えるCutMix,画像の一部を削除するRandom Erasing,同じData Augmentationを繰り返すRepeated Augmentを採用している.
正則化
正則化としては,正解クラス以外にも微小な値を与えるLabel Smoothing,与えた確率に応じて残差ブロックをスキップするStochastic Depthを採用している.
各設定は下記のようになっている.
まとめ
小規模なデータセットでの学習でViTを高精度化する手法であるDeiTを紹介した.
モデルの持つ知識を小さなモデルに伝達し小規模化する知識蒸留を用いることで小さなデータセットでの学習でViTを高精度化している.
また,Data Augmentationや正則化,ハイパーパラメータなどの設定方法にも言及しており,ViTベースの研究における基本となっており,以降の研究においてもDeiTで提示されたパラメータが踏襲されている.
参考文献
論文:Training data-efficient image transformers & distillation through attention
LINK:https://arxiv.org/abs/2012.12877