数学がわからない

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

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

背景

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

蒸留とは

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

論文"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との比較
結果

JITNetとMRCNNとの比較

  • 結果のサマリ。
    • 高性能を維持しながら平均10倍、パラメータを低精度側に倒せば20倍近く、困難な課題でも5倍の高速化が達成できる。
  • 課題
    • オブジェクトの大小による得意不得意
    • 教師の推論結果すら信用できない場合
    • オンラインモデル蒸留という仕組み自体が苦手とするもの
  • JITNetのオンラインとオフラインの比較
    • JITNetはオフラインで十分な精度を実現できる容量がないことを確認
    • 少ない容量でも本論文のトレーニング方式により様々な場面に対応することが可能
  • JITNetの従来手法との比較
  • 教師モデルの結果を補間する手法
  • Video Object Segmentation(VOS)

Appendix

  • パラメータに関する研究
  • DAVIS Evaluation

論文読解

Google翻訳した上で、自分の理解しやすいように修正しながら読んでいく。

7.3. Offline Training Details

JITNet COCO事前トレーニング:私たちの実験で使用されたすべてのJITNetモデルはCOCOデータセットで事前トレーニングされています。

我々は、各画像について各クラスのすべてのインスタンスマスクを組み合わせることによって、COCOインスタンスマスクラベルをセマンティックセグメンテーションラベルに変換します。

私たちは80のクラスすべてについてセマンティックセグメンテーションのモデルを訓練します。

モデルは、30エポックで、開始学習率0.1、ステップ減衰スケジュール(学習率を10エポックごとにの1/10に元帥)のAdamオプティマイザを使用して、バッチサイズ24(GPUあたり6)の4 GPUでトレーニングされます。 。

JITNet COCO事前トレーニングの詳細。

  • セマンティックセグメンテーションラベルの作り方。
  • 学習に用いるパラメータ

JITNetオフラインオラクルトレーニング:すべてのオフラインオラクルモデルは、COCOの事前トレーニングモデルを使用して初期化され、特殊データセットでトレーニングされます。特殊データセットは、各ビデオがCOCOと同じトレーニング設定を使っています。すなわち、GPU数、バッチサイズ、オプティマイザ、および学習率のスケジュールが同じです。

ただし、それぞれの特殊なデータセットは約6000イメージであり、COCOデータセットよりも20倍小さくなっています。

JITNetオフラインオラクルトレーニングの詳細。
用いる学習データセットが小さくなっている以外は事前トレーニングの設定と同じ。

7.4. Standalone Semantic Segmentation

JITNetアーキテクチャは、高速トレーニングと推論の両方をサポートできるように、特に小容量で設計されています。

MobileNetV2[38, 46]のような他のアーキテクチャと比較した精度と効率のトレードオフを理解するために、我々は各畳み込み層に文献で用いられているものの2倍の数のフィルタと2倍の数のエンコーダ/デコーダブロックでJITNetモデルを訓練しました。

この変更されたアーキテクチャは、MobileNetV2に基づくセマンティックセグメンテーションアーキテクチャよりも1.5倍高速です。

より大きなJITNetは都市景観[8]検証セットで平均IoU67.34を与え、MobileNetV2ベースのモデル[46]の平均IoU70.71と有利に比較されます。

オンライン蒸留実験では、より大きなJITNetアーキテクチャから始めましたが、容量を更に削減し、各畳み込み層およびエンコーダ/デコーダブロックのフィルタ数を半分にしました。オンライン蒸留のコストと精度のトレードオフが優れているためです。

MobileNetV2[38, 46]のような他のアーキテクチャと比較した精度と効率のトレードオフを調査。

まとめ

Appendix7.3,7.4まで終了。本論文はこれでおしまい。