ホームへ戻る

GitHub Repo

Transformersコミュニティ、RT-DETRの訓練損失の不整合を再提起 旧版ではデノイジングクエリが正例を奪う可能性

10月21日のTransformersコミュニティからの報告によると、5.14.1のRT-DETRシリーズでは、デノイジングクエリが主損失に混入し、通常クエリへの正例監督が弱まる可能性がある。関連修正は9月にメインブランチへマージ済みだが、今回の実測は独立した再現検証を待っており、利用者はインストール済みのバージョンを確認する必要がある。

Unknown authorUnknown author · Public domain · Image source
zh-Hant

Hugging Face Transformersでは10月21日、RT-DETR/RT-DETRv2の訓練異常が報告された。5.14.1でデノイジング訓練を有効にすると、主損失がデノイジングクエリと通常の物体クエリの両方を受け取り、推論時に使われる通常クエリへの正例監督が失われる可能性がある。同日、別の参加者はメインブランチに関連修正がすでにあると指摘した。今回の報告の要点は旧版での訓練結果とバージョンの確認であり、最新バージョンで新たな回帰が起きたと断定できるものではない。コミュニティ報告

RT-DETRはリアルタイム物体検出Transformerだ。公式ドキュメントによると、デフォルトの物体クエリ数は300で、対照的デノイジング訓練はnum_denoisingで制御する。デフォルト値は100で、ラベルとバウンディングボックスにノイズを加えて、追加の訓練信号を作る。そのため、訓練時のクエリ集合には用途の異なる2種類が含まれ、損失関数で正しく区別する必要がある。公式ドキュメント

マージ済みの修正説明によると、旧ロジックでは補助損失などの経路でしかデノイジングクエリを切り分けておらず、主損失ではすべてのクエリに対してハンガリアンマッチングを行っていた。デノイジングの正例クエリは実際のアノテーションに近いためマッチングされやすく、その結果、通常クエリが正例を得にくくなっていた。修正では、デノイジングのメタデータに基づいて先にクエリを分割してから主損失を計算するよう変更し、回帰テストも追加した。この変更は9月11日にマージされ、D-FINEも対象に含まれる。修正記録

新たな報告では、単一クラスのRT-DETRv2 R50を使った実測が示された。20枚の画像タイルによる過学習テストで、分割前後のmAPが0.04から0.987に変化したという。これは報告者による特定の実験結果であり、一般的な性能向上を示すものではなく、独立した再現検証もまだ行われていない。実測の説明

モデルをファインチューニング中のエンジニアは、この仕組みを踏まえ、データと乱数シードを固定したうえで、インストール済みバージョンと修正を含むバージョンの通常クエリに対する主損失およびマッチングインデックスを比較するとよい。今後は、報告者が最新のメインブランチで再現できるか、また補助損失の有効・無効を切り替えた場合のRT-DETRv2のテスト網羅性に注目したい。現時点では、修正が初めて含まれる正式リリースのバージョンは確認できていない。

出典

  1. RT-DETR / RT-DETRv2: main loss is computed on the denoising queries too
  2. Fix D-FINE / RT-DETR main loss being computed over the denoising queries
  3. RT-DETR — Transformers documentation