Open mei28 opened 2 years ago
コンピュータビジョンでは,大規模モデルが猛威を奮っている.
大規模モデルを活用できない問題を解決するために,性能を維持したままモデルの軽量化について考える.
一方で,KDだとこの制約を克服できる.
KDにおいて2つの大事な要素を見つけた
実験では,教師モデル(BiT-ResNet-152x2, 21Kデータセット使用),生徒モデルResNet-50のアーキテクチャを利用. ただし,BNをGNで使う.
大規模モデルを教師,評価指標を精度に設定.目標は,性能を落とさずに,モデルの軽量化を行う.
データセットは5種類用意
教師モデルはBiTから事前学習モデルを用意, 生徒モデルはResNet-50
蒸留誤差(Distillation Loss)としてKLダイバージェンスを用いる.
最適化手法はAdamを採用,パラメータは初期値.くわしくはTraining setup.
データ拡張としてmix upを使う
リサーチクエスチョンとして2つ設定
ロバスト性を検証するために,データセットが小中規模のものを使う.
一貫性が重要であることを検証する.4つの教師パターンを用意
緑,水色の教師と生徒が同じ入力の条件設定の時に,生徒の分類精度が高いことがわかる.また黒(入力に対して,出力が同じ)赤(教師と生徒で異なる入力)は訓練誤差が,緑,水色より少ないが,検証誤差が高い.つまり,訓練データに対して過学習を起こすことがわかる.
忍耐(patient)強い教師について検証する
一般的な教師あり学習の場合,データ拡張は,ラベルに対して,画像が大きく歪んてしまう可能性がある.本研究では,知識蒸留=教師・生徒モデルの関数マッチングだと解釈しているため,一貫して同じ入力を与えるならば,入力が歪んでもい,マッチング自体は有効であると考える.
データ拡張を行うことで,過学習を回避しながら,大きなエポック数での最適化を行うことについて検証.
横軸が訓練エポック数,縦軸がテストデータの分類精度. 赤い線が教師モデルの分類精度,つまり目標となる上限. 青い線が提案手法によるデータ拡張を行なったときのもの.エポック数を十分増やすと教師モデルと同等の性能を獲得できる.
緑の線が転移学習のテストの分類精度.オレンジがR50のスクラッチ. 小さなエポック数では緑,オレンジに精度では負けるが,最終的には上回ることができる.
これまでは,小中規模のデータセットで実験していたが,ImageNet(大規模データセット)で実験を行なってみる.
consistent teachingでは過学習せずに学習を行えていることがわかる. またデータ拡張をすると,少ないエポック数で高い精度を達成 -> ほんとに??
これまでの実験は,生徒・教師に入力する画像サイズを224x224にしてたけど,もう少し小さくなってもいける?そうすれば高速に処理できるんじゃない?
生徒と教師の解像度が異なる場合でも知識蒸留は有効だった.また教師は高い解像度,生徒は小さな解像度でやる方が,同一の解像度よりは精度が高くなりがち.
データ拡張によって性能を向上させることができたけど,その分学習時間が伸びてしまった.そこで,より協力はOptimizeをつかった.Adam-> Shampoo
転移学習を使った時,生徒モデルの性能が高かったから,転移学習の知識蒸留をやってみる.転移学習の方がはやめに高い精度が達成できたが,最終的には0からの方がはやい.
解像度が違うときでも知識蒸留が成功したから,異なるモデル族でも知識蒸留が可能かを検証する.
これまで生徒モデルをResNetを使っていたが,これをMobileNetにしてみる.この状況でも知識蒸留での生徒モデルの学習ができた.
また2つのモデルのアンサンブル(224x224のデフォルト+384x384のロジット平均)を教師としても知識蒸留による精度向上が可能だった
最後に,mixupによるデータ拡張+学習時間の増加が知識蒸留において大事な要素であることを示す.
蒸留損失を消去して普通の教師あり学習と比較を行う.
エポック数が増えると,過学習をしてしまう.ここから知識蒸留にはデータ拡張と長い訓練時間が必要と結論づける
一言で言うと
知識蒸留において,効果的な教師となる条件について研究を行う.効果的な教師の条件として,一貫して(consisitent), 忍耐強い(patient)な教師が重要であることを見つけた.また知識蒸留においては,エポック数を増やして時間を長めにとるといいことを見つけた.
論文リンク
https://openaccess.thecvf.com/content/CVPR2022/html/Beyer_Knowledge_Distillation_A_Good_Teacher_Is_Patient_and_Consistent_CVPR_2022_paper.html http://arxiv.org/abs/2106.05237 https://openaccess.thecvf.com/content/CVPR2022/papers/Beyer_Knowledge_Distillation_A_Good_Teacher_Is_Patient_and_Consistent_CVPR_2022_paper.pdf
著者/所属機関
投稿日付(yyyy/MM/dd)
CVPR2022
先行研究と比べてどこがすごい?
知識蒸留において,どの要素が大事であるかを突き止めた
技術・手法のキモはどこ?
積極的なデータ拡張(Mix up),長い学習時間,学習方法の一致が重要
どうやって有効だと検証した?
比較実験
コメント
次はなに読む?