Uncertainty Quantification
AIと機械学習における不確実性定量化について、偶然的不確実性と認識論的不確実性、キャリブレーション、評価手法、Ultralytics YOLOワークフローを含めて学びます。
不確実性の定量化(UQ)とは、AIまたは機械学習モデルが予測についてどの程度不確実であるかを推定、評価、伝達するプロセスです。ラベル、値、またはバウンディングボックスだけを返すのではなく、UQワークフローでは、確率分布、予測区間、信頼度スコア、予測セットなどの追加情報を提供します。これにより、ユーザーはモデルが 何を予測するかだけでなく、その予測をどの程度信頼すべきかも理解できます。
不確実性の定量化が重要な理由#
モデルは限られたデータからパターンを学習するため、その出力が完全に確実になることはありません。入力にはノイズが含まれる場合があり、ラベルが曖昧な場合もあります。また、本番データがトレーニングデータの分布と異なることもあります。UQによって、こうした制約を測定可能にし、より安全な意思決定、人によるレビュー、より適切なデータ収集を支援できます。
この考え方は、NISTの仮想測定プログラムで説明されている、モデル品質を特性評価するという、より広範な目標を拡張するものです。AIシステムでは、不確実性の推定によって、チームは次のことが可能になります。
- 不確実性が許容可能なレベルを超えた場合に、予測を拒否またはレビューします。
- 単一の回答に依存するのではなく、代替予測を比較します。
- 不慣れな入力と、起こり得るデータドリフトを特定します。
- アクティブラーニングを通じて、ラベリング対象として不確実性の高いサンプルを優先します。
- Department of Energyによる計算モデルにおける不確実性の概要で示されているように、不確実性を下流の計算や意思決定に伝播させます。
UQは、予測誤差による影響が一様でない場合に特に重要です。歩行者を見落とすことは、道路脇の標識を誤検出することより重大であるため、許容できる不確実性のしきい値は用途によって異なります。
偶然的不確実性と認識論的不確実性#
予測の不確実性がどこから生じるかは、次の2つのカテゴリで説明できます。
- 偶然的不確実性(aleatory uncertaintyとも呼ばれます)は、データに内在するランダム性または曖昧さに起因します。モーションブラー、センサーノイズ、部分的な遮蔽、一貫性のないラベルなどにより、十分にトレーニングされたモデルでも画像の解釈が難しくなることがあります。トレーニングデータを増やすことでこの不確実性の推定に役立つ場合がありますが、根本的な曖昧さを完全に取り除くことはできません。
- 認識論的不確実性は、モデルの知識が不完全であることに起因します。トレーニングデータが不足している、代表性に欠けている、または重要な状況が含まれていない場合に現れることが多くあります。関連する例を収集し、アノテーションを改善し、またはモデルを変更することで、頻繁に低減できます。
UQは、これらの要因に関する情報を有用な出力に統合します。TensorFlow Probabilityなどの確率モデリングツールは予測を分布として表現できる一方、アンサンブル手法は複数のモデルまたはトレーニング実行結果を比較することで不確実性を推定します。大きな不一致は、一般に、より大きな認識論的不確実性を示します。
不確実性は信頼度スコアに関連しますが、それよりも広い概念です。信頼度は1つの予測の強さを表すのに対し、UQはそのスコアが信頼できるかどうか、またどの不確実性の要因が影響しているかを評価します。同様に、コンフォーマル予測は、定義された前提条件の下で、目標カバレッジを持つ予測セットまたは予測区間を生成するための特定の手法です。
手法と評価#
一般的なUQアプローチには、確率的出力、アンサンブル、反復サンプリング、ベイズモデリング、予測区間などがあります。ブートストラップ信頼区間は、観測データを繰り返し再サンプリングすることで変動性を推定します。分類では、キャリブレーションによって、約80%の確率が割り当てられた予測が約80%の割合で正しいかどうかを確認します。
モデルは正確であってもキャリブレーションが不十分な場合があるため、チームはタスクの性能と不確実性の品質の両方を評価する必要があります。確率キャリブレーションツールは、信頼性ダイアグラムとキャリブレーション手法を使用して、予測確率と観測結果を比較します。GoogleのRules of Machine Learningでも、解釈可能で監視された確率的予測の重要性が強調されています。
有用な評価基準には、カバレッジ、区間幅、キャリブレーション誤差、難しいデータスライスに対する性能などがあります。コンピュータービジョンでは、Ultralyticsの検証モードとYOLO性能指標ガイドにより、クラスやしきい値全体で適合率、再現率、混同行列、信頼度の挙動を確認できます。
実世界での利用例#
- **医用画像解析:**複数の妥当な所見のスコアが近い場合や、画像がトレーニングデータと異なる場合、診断モデルは専門医によるレビューのためにスキャン画像へフラグを付けることができます。このエスカレーションがなければ、過信した誤予測によって治療が遅れる可能性があります。
- **製造業における外観検査:**欠陥検出器は、グレア、新しい素材、またはこれまでに見たことのない損傷に遭遇する可能性があります。不確実性を考慮したルーティングにより、曖昧な製品を自動的に合格または不合格にするのではなく、手動検査に回すことができます。これにより、流出欠陥と不要な廃棄の両方を削減できます。
これらのポリシーは、モデルの不確実性を運用上のリスクに結び付けます。NIST AIリスクマネジメントフレームワーク コアでは、不確実性の測定、汎化の限界の文書化、デプロイ後のシステム全体にわたる監視が推奨されています。
Ultralytics YOLOワークフローにおける不確実性#
Ultralytics YOLO26は、文書化されたPredictモードを通じて、検出の信頼度スコアを公開します。
from ultralytics import YOLO
# Load an official detection model
model = YOLO("yolo26n.pt")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Inspect each detection's confidence
for box in result.boxes:
class_id = int(box.cls.item())
class_name = result.names[class_id]
confidence = box.conf.item()
print(f"{class_name}: {confidence:.3f}")このワークフローは不確実性に関連する有用なシグナルを提供しますが、信頼度だけでは完全なUQとはならず、キャリブレーションされた確率として自動的に解釈すべきではありません。代表性のあるホールドアウトデータでスコアを検証し、エラーコストに基づいてしきい値を選択し、デプロイ後の信頼度分布を監視してください。
チームはUltralytics Platformを使用して、データセットへのアノテーション付与、モデルのトレーニングとデプロイ、エンドポイントの監視を行えます。継続的なモデルの監視とメンテナンスと組み合わせることで、不確実性のシグナルは不慣れな条件を明らかにし、人によるレビューを導き、新しいデータや再トレーニングが必要なタイミングを特定できます。









