テクニカルガイド

テスト時の拡張

テスト時拡張 (TTA) は、同じ入力のいくつかの変更されたバージョンでトレーニングされたモデルを実行し、予測を平均します。

このガイドを聴くAIによるナレーション · ~2 min

このページでは2分の読書
  1. 概要
  2. ディープダイブ
  3. 現実世界の実装
  4. テスト時拡張の将来
  5. 実践する
  6. 探検を続けましょう
  7. よくある質問

概要

これはシンプルでトレーニング不要のトリックであり、多くの場合、精度をさらに 2 ~ 3 ポイント絞り出し、予測をより堅牢にします。

ディープダイブ

テスト時の拡張では、単一の入力を受け取り、複数の変換されたコピー (反転、クロップ、回転、カラー シフト、またはスケーリングされたバージョン) を作成し、それぞれを同じ固定モデルで実行してから、通常は確率またはロジットを平均することによって出力を結合します。直感: 各拡張によりモデルはわずかに異なるビューに公開され、個々のビューのエラーは、1 つのネットワークから構築された小さなアンサンブルのように、プールされるとキャンセルされる傾向があります。重要なのは、TTA には再トレーニングや追加のラベルが必要ないことです。モデルはサンプルごとに N 回実行されるため、推論時の計算コストが増えるだけです。これはコンピュータ ビジョン (特に Kaggle コンペティションと医療画像) で最も人気がありますが、オーディオやテキストでも使用されます。拡張ではラベルを保持する必要があります。胸部 X 線写真を反転するのは問題ありませんが、数字の「6」を「9」に反転するのは問題です。

現実世界の実装

画像の水平方向の反転と複数のクロップにわたる予測を平均化し、推論時の ImageNet 分類精度を向上させます。

医療画像のセグメンテーション (腫瘍や臓器の境界など) で回転/反転を反転し、マスクを平均化して、より安定した描写を実現します。

Kaggle の競合他社は、10 クロップまたはマルチスケール TTA を適用して、再トレーニングせずにリーダーボードで何パーセントかの順位を獲得しています。

わずかにタイムシフトまたはピッチが乱れたクリップに対して音声またはオーディオ分類子を実行し、より安定したラベルを得るために出力をプールします。

テスト時拡張の将来

研究は学習された適応型 TTA に向かって進んでいます。この TTA では、固定セットを適用するのではなく、特定の入力ごとにどの拡張が役立つかを小さなポリシーで選択します。 「貪欲な」微分可能な TTA ポリシー検索と、自信のあるビューをより信頼する不確実性加重平均がアクティブな領域です。 TTA がテスト時のトレーニングと自己教師あり適応と融合し、魅力的な再トレーニングなしの特性を維持しながら、デプロイされたモデルをその場で分散シフトに調整できることが期待されます。

実践する

なぜそれが重要なのか

  • 費用と予算. アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。
  • より明確な判決. 技術教育は、チームが最新のスタックだけでなく、適切なスタックを選択するのに役立ちます。
  • 品質管理. より良いエンジニアリングの選択により、本番環境での信頼性に関するインシデントが減少します。

気をつけてください

  • 1 つのベンチマークを最適化すると、より広範なシステムの弱点が隠れる可能性があります。
  • インフラストラクチャとメンテナンスのコストは過小評価されがちです。
  • システムが複雑になるにつれて、セキュリティと可観測性のギャップが拡大する可能性があります。

次のステップ

  1. 実装前にレイテンシ、品質、コストの目標を定義します。
  2. 現実的な負荷とデータ条件でのベンチマーク。
  3. エラー、ドリフト、ユーザーへの影響を計測器で監視します。
  4. スケーリングの前に、ロールバックとインシデント対応のパスを準備します。

探検を続けましょう

無料ニュースレター

毎日のAIブリーフィングを受け取る

毎週平日の朝に英語で書かれた3つの検証済みAIストーリー。無料で永続的、広告なし。

毎週平日に1通のメール。ワンクリックで購読解除。住所を販売または共有しません。

自分自身をテストしてください

Take the Test-Time Augmentation quiz

すべての回答に即時フィードバック、合格後は検証可能なID付きの共有可能な証明書を取得。

クイズを開始する

無料AI教育をサポート。AI Understandingは501(c)(3)の非営利団体です — 広告なし、課金壁なし、常に。 寄付をする

よくある質問

テスト時の拡張とは何ですか?

テスト時拡張 (TTA) は、同じ入力のいくつかの変更されたバージョンでトレーニングされたモデルを実行し、予測を平均します。これはシンプルでトレーニング不要のトリックであり、多くの場合、精度をさらに 2、3 ポイント絞り出し、予測をより堅牢にします。

推論時、テスト時の拡張は 1 つの入力に対して何を行うのでしょうか?

TTA は、再トレーニングを必要とせずに、同じトレーニング済みモデルを通じて 1 つの入力の複数の拡張バージョンをフィードし、予測を集約します。

When can pooling predictions from transformed views reduce prediction variance?

The ensemble intuition depends on useful, label-preserving views whose errors are not perfectly correlated.

TTA の使用にかかる主な費用はいくらですか?

各入力がネットワークを N 回通過するため、推論のコストはおよそ N 倍になります。

実際に数字分類子を傷つける可能性がある拡張選択肢はどれですか?

拡張では真のラベルを保持する必要があります。特定の数字を反転すると、その数字のアイデンティティが変更され、バイアスが注入されます。

セグメンテーションでは、TTA 出力を平均化する前にどのような追加の手順が必要ですか?

幾何学的拡張ではピクセルが移動するため、プールする前に各出力マスクを元の座標フレームに変換し直す必要があります。