論文を読む「Online Model Distillation for Efficient Video Inference」⑩
背景
「蒸留(Distillation)」に関して、論文"Ravi Teja Mullapudi, Online Model Distillation for Efficient Video Inference."を読む。
蒸留とは
蒸留とは、「何でも理解できるが重いネットワークよりも、実運用を考慮して特定の対象に特化させることで軽いネットワークを作る手法」。しかし「特定の対象」を明確にして予め準備して訓練するのが難しい。そこで本論文は「オンライン」で訓練する方法を提案している。
3.3. Adaptive Online Distillation-1
Google翻訳した上で、自分の理解しやすいように修正する。
分布変化の割合は、ビデオストリームの性質に依存します。
分布が定常に近い場合、適応はほとんど必要ありません。ビデオの分布が急速に変化する場合は、JITNetを頻繁に更新して歩調を合わせる必要があります。
これは、高い精度を維持するために必要な場合にのみJITNetを適応させることによって効率を最大化する機会を示唆しています。
いつJITNetを適応させるべきか(いつ教師を動かすべきか)を決定するためのアルゴリズムはそれ自身効率的でなければなりません。そうでなければ、いつ適応するかを決定するためのコストは、まれなトレーニングのパフォーマンス上の利点を減少させるでしょう。
用いるビデオストリームの性質によって、学習モデルJITNetをいつ訓練させればよいかが変わる。ただ、そのいつ訓練させるかのアルゴリズムは複雑だと困る、とのこと。
我々は指数的バックオフ(exponential back-off )[13]を採用した直接的な適応戦略を開発しました。
完全な適応型オンライン蒸留アルゴリズムを図3に示します。
このアルゴリズムへの入力は、ビデオストリーム、所望の精度しきい値、およびJITNetと教師(MRCNN)モデルです。
適応に対する構成パラメータは、単一フレーム上で実行される学習ステップの最大数であり、最小/最大フレームは、教師呼出しの間をまたがる。
コードで示されている図3をフローチャートにしたものを記載する。
"stride"フレームおきに教師モデルの出力を用いて学生モデルをトレーニングするが、"stride"の値を教師モデルの出力と学生モデルの出力との比較結果に応じて2倍にしたり半分にしたりする、というアルゴリズム。