数学がわからない

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

論文を読む「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との比較
結果

結果のサマリ。

  • 高性能を維持しながら平均10倍、パラメータを低精度側に倒せば20倍近く、困難な課題でも5倍の高速化が達成できる。
  • 課題
    • オブジェクトの大小による得意不得意
    • 教師の推論結果すら信用できない場合
    • オンラインモデル蒸留という仕組み自体が苦手とするもの

論文

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

5.3. Comparison with Offline Oracle Specialization

前節では、COCOについてのみ事前トレーニングされたJITNetモデルは、わずかなオンライントレーニングコストで、新しいビデオストリームに継続的に適応できることを示しました。

我々はまた、ジャストインタイム適応の精度を、完全にオフラインの各ストリームの内容にJITNetを特化し、オンライントレーニングを実施しなかったものの結果と比較します。

ニアベストケースのオフライン事前トレーニングの効果をシミュレートするために、20分間のテストビデオシーケンス全体の5番目のフレームごと(6,000トレーニングフレーム)を持ち智恵JITNetモデルをトレーニングします。

我々はこれらのモデルを「オフラインモデル」と呼ぶ、なぜなら、テストセットの事前トレーニングによって構築されているためである、そして強力なベースラインとして機能します、オフライン特化を介して達成可能な精度の。

すべてのオフラインオラクルモデルはCOCOで事前訓練されており、従来のランダムバッチSGDを使用して4つのGPUで1時間の事前訓練を受けています。(詳細はappendicを参照。)

対照的に、オンライン適応は事前トレーニングのコストは無く、ストリーミング方式でトレーニングすることに注意してください

前節は学生モデルと教師モデルとの比較。本節は、同じ学生モデルで、オフラインとオンラインとの比較を行う。

表2に示すように、JITNet 0.9はオフラインオラクルよりも平均的に正確です。

JITNet 0.9は教師あり学習のために平均で8.4%のフレームしか使用していないことに注意してください、一方オラクルは20%を使用して訓練されています。

この傾向はサブカテゴリの平均にも当てはまります。

以上のことは、コンパクトなJITNetモデルが、20分のストリーム中に存在する多様性を完全に捉えるための、十分な容量を持っていないことを示唆しています。

JITNetは充分に訓練しても、要求を満たすような推論器になり得る容量を持っていない。従って、本論文の提案するオンライントレーニングを組み合わせることによって、入力される画像に適応しつつ性能を高めることができる。

容量と性能のトレードオフを訓練方法によって実現することができており、本論文の目的を達することができたという証左だと理解する。

図5は、3つのビデオについて、経時的なJITNet 0.8とオフラインオラクルの平均IoUを示しています。

  • 一番上のプロットは両方の方法の平均IoUを示す(データ点は30秒間隔の平均である)。
  • 下のプロットは、各間隔におけるJITNetモデルの更新数を示しています。
  • プロットの上の画像は、最もJITNetの更新が必要な時間間隔からの代表的なフレームです。
    • Birdsビデオ(左)では、これらの間隔は新しい鳥が出現したときのイベントに対応しています。
    • 対照的に、象のビデオ(中央)は、異なる視点とカメラアングルからの、単体の象を含みます。
      • オフラインのオラクルモデルでは、ゾウが水に浸かると精度が大幅に低下します。(この稀な場面はオフライントレーニングセットのごくわずかにしか発生しません。)それに比較すると小さな精度低下をJITNet 0.8は示しています。すぐに新しいシーンの特性に特化しているからです。
    • Driving video(右)は、視覚的な多様性と継続的な変化を特徴とするため、オフラインのオラクルとオンラインのJITNetの両方にとって挑戦的です。
      • ただし、この2つの方法の平均IOUは低くなりますが、この場合もオンライン適応の方が常にオフラインオラクルよりも優れています。

実際のビデオを用いた結果の例を紹介。

簡単なビデオで、オフラインオラクルで十分に対応可能なものはオフラインオラクルが安定した結果を出し、オンラインは多少のばらつきを生じる。

ただ、難しいビデオではオフラインオラクルが大きく精度を下げるところでもオンラインはリカバリすることができる。

まとめ

今回読んだ5.3は評価をオンラインとオフラインの違いに重点をおいて考察。本論文の提案手法の特徴が良く分かる内容だったと思う。