Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Data Drift

データドリフトとは、本番環境の入力データが学習時の分布から変化し、精度が低下する現象です。ドリフトの種類、統計的検定、再学習を解説します。

データドリフトとは、デプロイ済みモデルが受け取る入力データの統計的分布が、学習に使われたデータと比べて変化することです。モデルは本番環境の入力が学習データと同じ分布に従うと仮定します。この仮定が崩れると、エラーメッセージもモデルのコードや重みの変更もないまま、精度が低下することがあります。ビジョンシステムでよくある原因には、新しいカメラやレンズ、照明や季節の変化、カメラアングルの移動、新しい製品パッケージ、画像圧縮設定の変更などの上流パイプラインの変更があります。ドリフトの検出と対応は、モデル監視と機械学習運用(MLOps)の中核的なタスクです。

分布シフトの種類#

分類器は入力に対するラベルの確率をモデル化します。シフトは入力、ラベル、またはそれらの関係に生じます。

  • 共変量シフト: 入力分布が変化しても、特定の入力に対する正しいラベルは変わりません。昼間の画像で学習した検出器が夕暮れの映像を受け取り始めても、車が車であることに変わりはないため、これは共変量シフトにあたります。狭義のデータドリフトはこのケースを指します。
  • ラベルシフト: 事前確率シフトとも呼ばれ、クラスの出現頻度が変化します。生産ラインの不良率が1%から5%に上昇すると、検出器のアラートに占める実際の不良の割合も上昇するため、モデルや各不良の見た目が変わらなくても、適合率は変化します。
  • 概念ドリフト: 入力とラベルの関係が変化し、同じ入力に対して異なるラベルが必要になります。不正行為者の適応に伴って不正のパターンが変化したり、品質基準の厳格化によって以前は合格していた部品が不合格になったりします。

ドリフトは、カメラの交換のように突然起こることも、レンズの汚れが蓄積するように徐々に起こることも、季節ごとの葉や積雪のように繰り返し発生することもあります。

データドリフトの検出#

ドリフト検出では、通常は学習データまたは検証データを基準サンプルとして、最近の本番データのウィンドウと比較します。ラベルがない場合は、2標本コルモゴロフ–スミルノフ(KS)検定で連続特徴量を、カイ二乗検定でカテゴリ特徴量を比較するか、信用スコアリングで一般的な母集団安定性指標(PSI)を使用し、2つの入力分布に差があるかを検定します。生のピクセルは高次元すぎて直接比較できないため、画像監視では明るさや鮮明度などの要約統計量、または事前学習済みネットワークの埋め込みを検定します。シフト検出手法の研究では、事前学習済み分類器の表現に対する2標本検定が最も効果的であることが分かりました。モデル自体の出力も2つ目のシグナルになります。予測クラスの頻度、画像あたりのボックス数、信頼度スコアの変化は、誰かが精度を測定する前に現れることがよくあります。

import numpy as np
from scipy.stats import ks_2samp

rng = np.random.default_rng(0)

# Mean brightness (0-255) of 500 training images and two batches of 200 production images
reference = rng.normal(130, 25, 500)
same_light = rng.normal(130, 25, 200)
dusk = rng.normal(110, 25, 200)

# Two-sample Kolmogorov-Smirnov test: a small p-value means the distributions differ
for name, batch in (("same light", same_light), ("dusk", dusk)):
    result = ks_2samp(reference, batch)
    drifted = result.pvalue < 0.01
    print(f"{name}: KS statistic {result.statistic:.3f}, p-value {result.pvalue:.2g}, drift {drifted}")

学習分布から抽出したバッチのKS統計量は0.046、p値は0.91です。一方、平均輝度が20レベル低下したバッチのKS統計量は0.346、p値は1.1e-15となり、ドリフトとして検出されます。KS統計量は2つの累積分布間の最大の差を表します。非常に大きなサンプルでは、問題のない小さなシフトでもp値が極めて小さくなるため、ドリフトアラートはp値だけではなく、シフトの大きさを測るKS統計量自体に設定されることがよくあります。

ドリフトへの対応#

検出されたシフトによって精度が低下したかどうかは、新しいラベルがあって初めて確認できます。標準的な対応は、直近の本番データをサンプリングしてラベルを付け、そのデータで平均適合率(mAP)やその他のタスク指標を測定し、性能が低下していれば新しいデータと元のデータを混ぜて再学習またはファインチューニングすることです。破滅的忘却を防ぐため、古いサンプルも混合データに残します。明るさ、ぼかし、色を変更するデータ拡張は予測可能な変動に備えてモデルを学習させ、教師なしドメイン適応はラベルなしのターゲットデータを使ってモデルを新しいドメインに適応させます。Ultralytics Platformでは、専用エンドポイントのMonitoringタブに、配信した画像の予測信頼度の平均値、クラス数、ボックスのサイズと位置が時系列で表示されます。また、最近のサンプルをデータセットに保存して、レビューや再学習に利用できます。

  • モデルドリフト: データドリフトや概念ドリフトによって引き起こされる、時間の経過に伴うモデル性能の低下です。モデル劣化とも呼ばれます。
  • 学習・サービング間のずれ: 別のリサイズ方法を使うなど、学習用と本番用の2つのパイプラインで処理が異なることによって生じる、学習データと本番データの不一致です。時間の経過とともに発生するのではなく、デプロイ初日から存在します。
  • 異常検知: 破損したフレームが1つある場合など、基準から外れる個々の入力を検出します。ドリフト検出では分布全体を比較し、画像が一様に暗くなった1週間分のデータなどを検出します。
  • 分布外(OOD)検出: 各入力が学習データとどの程度異なるかをスコア化します。通常は、その入力に対する予測をモデルが差し控えるか、人に判断を委ねられるようにします。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう