GT 信号と蒸留目標の間の最適化目標の不一致が、予測シミュレーションの失敗の主な理由ですか? この問題を軽減するために、本論文では、MSCOCO データセットに基づいたシンプルで効果的な蒸留メカニズム CrossKD を提案します。CrossKD は、シミュレーション損失を予測するだけでよく、GFL-ResNet50-1x のインデックスを 40.2 から 43.7 に改善し、上回ります。既存のすべての知識 蒸留スキーム。
arXiv:https://arxiv.org/abs/2306.11369
コード:https://github.com/jbwang1997/CrossKD
効果的なモデル圧縮手法として、知識蒸留は複数の CV 分野で優れた結果を達成しています。現在、検出の分野では、予測シミュレーション(Prediction Mimicking)方式よりも特徴模倣(Feature Imitation)方式の方が性能が高いことが多い。
この論文で、著者らは次のことを発見しました。GT 信号と蒸留目標の間の最適化目標の不一致が、予測シミュレーションが失敗する主な理由です。この問題を軽減するために、本論文では、生徒検出ヘッドの中間特徴を教師検出ヘッドに直接供給するシンプルで効果的な蒸留機構 CrossKD を提案し、得られたクロスヘッド (Cross-Head) 予測を使用して最小化します。教師との関係 モデル予測の違い このような蒸留メカニズムにより、生徒検出ヘッドが GT と教師の予測から正反対の監視情報を受け取ることから解放され、それによって生徒モデルの検出パフォーマンスが大幅に向上します。MSCOCO データセットに基づいて、シミュレーション損失を予測するだけで、CrossKD は GFL-ResNet50-1x のインデックスを 40.2 から 43.7 に改善し、既存の知識蒸留スキームをすべて上回りました。
CrossKD の導入を確認する前に、機能模倣と予測エミュレーションという 2 つの主要な KD パラダイムを簡単に紹介します。
出発点
著者らは、予測シミュレーションでは、既存の蒸留手法では無視されてきた、真の値と蒸留目標との間の矛盾に直面する必要があることを発見しました(上図を参照)。予測シミュレーションによってトレーニングされる場合、スチューデント モデルの予測は 2 つの差を同時に最小化するように強制され、これがスチューデント モデルのパフォーマンスに影響を与えます。上図は一例ですが、教師モデルが不正確なカテゴリ確率を出力すると、間違いなく生徒モデルのパフォーマンス向上に影響を及ぼします。この問題を軽減するために、著者らは、学生モデルの中間特徴を教師検出ヘッドに直接組み込み、クロスヘッド予測蒸留を構築することを提案しています。
この記事のスキーム
前述の問題を軽減するために、本論文では上図に示すように CrossKD スキームを構築します。既存の予測モデルと同様に、CrossKD は予測出力を直接抽出しますが、異なる点は、CrossKD が生徒モデルの中間特徴を教師モデルの検出ヘッドに直接送信して、クロスヘッド予測抽出を実現することです。
CrossKD では、検出損失と蒸留損失が異なるブランチで独立して動作します。上の図から、検出損失の勾配は完全な生徒検出ヘッドを通って流れる一方、蒸留損失の勾配は教師モデルの検出層をフリーズした後、生徒モデルの隠れ層フィーチャに流れ込むことがわかります。これにより、生徒モデルと生徒モデルの関係をある程度改善できます 教師モデルの一貫性。出力予測の差を直接減らすのと比較して、CrossKD は検出損失のみに関連するスチューデント モデルの検出ヘッド部分を作成し、グラウンド トゥルースの目標に向かってより適切に最適化します。
ターゲットを最適化する
全体的な最適化損失関数は、次のように検出損失と蒸留損失の重み付けされた組み合わせとして定義されます。
-
分類ブランチは、教師モデルによって予測された分類スコアをソフト ラベルとみなし、QFL を直接使用して、生徒モデルの予測結果と教師モデルの間の距離を制約します。
-
回帰分岐については、RetinaNet、ATSS、FCOS などの直接回帰ヘッドでは GioU が直接使用されますが、GFL などの回帰ヘッドでは、位置情報を効果的に抽出するために、著者は知識伝達に KL 発散を使用します。
主要な実験結果
上の表は、さまざまな蒸留スキームのパフォーマンスを比較しています。ResNet101 は教師モデルのバックボーンであり、ResNet50 は学生モデルのバックボーンです。ここから次のことがわかります。
-
スキルなしで、CrossKD は 43.7mAP 指数を達成し、指数は 3.5mAP も増加しました。
-
特徴的な模造蒸留スキーム PKD と比較して、CrossKD 指数は 0.4mAP 増加します。
-
予測された模擬蒸留スキーム LD と比較して、CrossKD 指数は 0.7mAP 増加しました。
-
PDK と組み合わせると、CrossKD+PKD は 43.9mAP インジケーターも取得しました。
GFL に加えて、上の表は RetinaNet、FCOS、ATSS、およびその他の検出フレームワークの下でも引き続き比較および検証されており、そこから次のことがわかります。
-
CrossKD は 3 種類の検出器 (RetinaNet、FCOS、ATSS) のパフォーマンスを大幅に向上させることができ、品質保証はそれぞれ 2.3mAP、2.8mAP、2.4mAP 増加します。
-
CrossKD によってトレーニングされた学生モデルの指標が教師モデルをも上回ったことは注目に値します。!!
前述の同種バックボーンに加えて、著者はさらに、次のように異種バックボーンの下での Cross のパフォーマンスを検証しました。
-
SwinT を ResNet50 に蒸留すると、CrossKD は 38.0mAP (+1.5mAP) を達成し、PKD より 0.8mAP 高くなりました。
-
ResNet50 を MobileNetV2 に蒸留すると、CrossKD は 34.1mAP (+3.2mAP) となり、PKD より 0.9mAP 高くなりました。
アブレーション実験結果
上の表 1 は、CrossKD の実装位置に関するアブレーション分析を行っていることがわかります: whaosoft aiot http://143ai.com
-
すべての蒸留位置で、CrossKD はモデルのパフォーマンスを向上させます。
-
3 番目の位置で 38.7mAP の最高のパフォーマンスが達成され、これは既存の予測シミュレーション スキーム LD のパフォーマンスよりも 0.9mAP 高いです。
上の表 2 は、CrossKD および特徴模倣スキーム PKD のアブレーション分析を実行しており、次のことがわかります。
-
PKD が FPN 機能に作用すると 38.0mAP を達成できますが、検出ヘッドに作用するとモデルのパフォーマンスが大幅に低下します。
-
CrossKD は、PKD スキームより 0.7mAP 高い 38.7mAP を達成しました。
上の図は、PKD と CrossKD を視覚的な観点から比較したもので、PKD によって生成された勾配が完全な特徴マップに大きく広範囲に影響を与えるのに対し、CrossKD によって生成された勾配は潜在的な意味情報を持つ領域のみに焦点を当てていることがわかります。
上の表 3+4 は、CrossKD および予測シミュレーション スキーム LD でアブレーション分析を実行しています。
-
LD を CrossKD に置き換えると、安定したパフォーマンスの向上が達成できます。
-
CrossKD+LD の組み合わせのパフォーマンスは、CrossKD の 38.7 から 38.1 に低下しました。
上の表は、不均一蒸留および軽量検出器の寸法からアブレーション分析を実行します。全体として、CrossKD は満足のいくパフォーマンスを実現できます。