数学がわからない

日々の勉強をアウトプットする。

論文を読む「Online Model Distillation for Efficient Video Inference」⑭

背景

「蒸留(Distillation)」に関して、論文"Ravi Teja Mullapudi, Online Model Distillation for Efficient Video Inference."を読む。

蒸留とは

蒸留とは、「何でも理解できるが重いネットワークよりも、実運用を考慮して特定の対象に特化させることで軽いネットワークを作る手法」。

問題

「特定の対象」を明確にして予め準備して訓練するのが難しい。

提案手法

そこで本論文は「オンライン」で訓練する方法を提案。
本論文の提案する手法で作るビデオの毎フレームを処理する学生モデル「JITNet」は、高解像度入力からの推論、高学習率更新での安定性が求められ、エンコーダ・デコーダに類似した、内部に修正ResNetブロックを持つアーキテクチャで目的を達成する。この学生モデルは教師モデルとして使う「MRCNN」の91倍の推論速度で実行できる。

提案手法の課題

この「JITNet」をトレーニングするには以下の課題がある。

レーニン

訓練に用いるターゲットラベルは教師モデル(MRCNN)から生成する。
また、学生モデル(JITNet)はランダム初期化ではなく事前トレーニングしておく。
オンライントレーニングにおいて、momentumを0.9と学習率を0.01とオフラインより高めに設定する。

オンライントレーニングは、"stride"フレームおきに教師モデルの生成するデータを用いて行う。その際の教師モデルと学生モデルとの比較結果に応じて、"stride"の値を調整するというもの。唯一ユーザーが設定できるパラメータ精度閾値が大きければトレーニングされやすくなり、小さければトレーニングされにくくなる。

Long Video Streams dataset(LVS)データセット

  • 評価用に作成
  • 900分(160万フレーム)

評価

  • MRCNNとの比較で効率と精度の両方を評価
  • 精度測定基準はmean IoU
  • 速度の評価はMRCNNとの比較

論文

Google翻訳した上で、自分の理解しやすいように修正する。
>>

5.2. Accuracy vs. Efficiency of Online Distillation

表2に、JITNetを3つの異なる精度しきい値(JITNet 0.7、0.8、および0.9)で使用したオンライン蒸留の精度とパフォーマンスを示します。

パフォーマンスはMRCNN実行時間と比較した平均の速度向上である。教員評価およびオンラインJITNetトレーニングのコストも含める。
さまざまなタイプのビデオで可能なスピードアップを直感的に理解するために、LVSを類似のビデオのカテゴリに分類し、各カテゴリの平均を表示します(例:Sports(Moving))。

異なるタイプのビデオにおけるスピードアップの可能性を分かりやすく示すために、LVSを類似のビデオカテゴリに分類し、各カテゴリの平均を示し(例えばスポーツ(動的)は動的カメラで撮影された7つのスポーツビデオの結果の平均を示す)、選択した10本のビデオに関するビデオごとの結果も同様に。

また、MRCNN推論に用いられるフレームの割合も示します。たとえば、Kabaddiビデオストリームでは、JITNet 0.8はMRCNNより23.5倍高速で、平均IoUは84.5で、教師あり訓練には3万のうち510フレーム(1.7%)を使用します。