Multiple Instance Learning
マルチインスタンス学習が、医療画像処理、検査、分類のために、バッグレベルのラベル、インスタンス集約、弱教師あり学習をどのように活用しているかを学びます。
マルチプルインスタンスラーニング(MIL)は、トレーニングデータがバッグと呼ばれるグループに整理され、各バッグ内の要素がインスタンスと呼ばれる機械学習の手法です。モデルは各インスタンスではなく、バッグ全体に対するラベルを受け取ります。例えば、病理スライドは、どの画像領域にがん細胞が含まれているかを特定せずに「がんあり」とラベル付けされることがあります。MILは、詳細なアノテーションが高価であるか、曖昧であるか、利用できない場合に便利です。
マルチプルインスタンスラーニングの仕組み#
従来の教師あり学習では、すべてのトレーニング例に独自のラベルが付いています。MILは監督の単位を変更し、ラベルは関連する例のセットに属します。
バッグは、多くのフレームを含むビデオ、多くのパッセージを含むドキュメント、またはパッチに分割された大きな画像である場合があります。各フレーム、パッセージ、またはパッチはインスタンスです。一般的なMILモデルには3つのコンポーネントがあります。
- インスタンスエンコーダーは、各インスタンスを数値特徴表現に変換します。
- 集約関数は、インスタンス表現を1つのバッグ表現に結合します。
- バッグ分類器は、その結合された表現からバッグのラベルを予測します。
二値分類の場合、従来のMILの仮定では、ポジティブなバッグには少なくとも1つのポジティブなインスタンスが含まれ、ネガティブなバッグ内のすべてのインスタンスはネガティブであるとされています。この仮定は、1つの小さな領域が全体の結果を決定できるタスクに適合します。他の問題では、複数のインスタンスが裏付けとなる証拠を示した場合にのみポジティブなラベルを予測するなど、集合的な仮定が必要になります。
MILはバッグのラベルから学習するため、弱教師あり学習の一種と見なされます。通常の画像分類とは異なり、完全な画像またはすべての領域が割り当てられたクラスを表現しているとは仮定しません。これにより、バッグのラベルがすべてのインスタンスに誤ってコピーされるのを防ぎます。
集約とインスタンスの重要性#
集約は異なるバッグサイズを処理する必要があり、通常はインスタンスの順序に依存しないようにする必要があります。一般的な戦略には次のようなものがあります。
- マックスプーリング: 最も強いインスタンスシグナルを使用します。「少なくとも1つのポジティブなインスタンス」という仮定に一致しますが、外れ値の影響を受けやすい場合があります。
- 平均プーリング: バッグ全体の証拠を平均化します。多くのインスタンスが寄与する場合にうまく機能しますが、まれなポジティブな証拠を希釈する可能性があります。
- アテンションプーリング: 各インスタンスが結果にどの程度強く影響すべきかを学習します。結果として得られる重みは重要な領域を示すことができますが、保証された説明ではありません。
プーリングされた出力は、Softmaxなどの確率関数を使用してバッグスコアに変換されます。トレーニングでは、このスコアをバッグのラベルと比較し、バックプロパゲーションを使用してエンコーダーとアグリゲーターを一緒に更新します。
MILは主にバッグレベルの予測を最適化します。モデルが特定のインスタンスに高い重要性を割り当てる場合でも、それらのスコアは自動的に信頼できるインスタンスラベルや正確なローカライゼーションになるとは限りません。
実社会での応用#
-
医療画像分析: デジタル化された組織スライドには数千のパッチが含まれる場合がありますが、利用可能な診断は患者またはスライドのみに適用されます。MILはパッチをインスタンスとして処理し、完全なスライドに疾患の証拠が含まれているかどうかを予測できます。すべての異常領域のまわりに詳細な境界線を描くには専門家の時間が必要になるため、これは医療画像分析において価値があります。NCI Genomic Data Commons AI resourcesでは、がん分類、特徴検出、結果予測のための入力として全スライド画像について説明しています。(gdc.cancer.gov)
-
産業用視覚検査: 製造された部品は、いくつかの角度から撮影されるか、短いシーケンスとして記録される場合があります。品質検査官は、ひび割れや欠品を含む正確なビューを特定することなく、完全な検査に「欠陥あり」とラベル付けする場合があります。MILはビューを1つのバッグとして扱い、どの視覚的証拠が故障を予測するかを学習できます。後で正確な欠陥位置が必要になった場合は、選択したインスタンスにオブジェクト検出またはインスタンスセグメンテーションのアノテーションを付けることができます。
関連する学習設定#
MILは、密接に関連するいくつかのアプローチとは異なります。
- 弱教師あり学習は、不完全、ノイズのある、または間接的なラベルをカバーするより広いカテゴリです。MILは、インスタンスのバッグに付随するラベルを具体的に使用します。
- 半教師あり学習は、ラベル付きの例とラベルなしの例を組み合わせます。MILのバッグにはラベルが付いていますが、個々のインスタンスには通常ラベルがありません。
- マルチラベル学習は、1つの例に対して複数のクラスを予測します。MILは例がどのようにグループ化されるかを記述するため、システムはマルチインスタンスとマルチラベルの両方になることができます。
- アテンションメカニズムは、情報に重み付けをする方法や組み合わせる方法を決定します。これらはMIL集約を実装できますが、それ自体でMILを定義するわけではありません。
- オブジェクト検出には、バウンディングボックスなどのローカライズされたアノテーションが必要です。MILは、可能性のある領域をハイライト表示できる場合がありますが、バッグレベルのトレーニングだけでは、検証済みのオブジェクトの位置は提供されません。
実践的なワークフローと評価#
次の推論のスケッチでは、Ultralytics YOLO26 classification modelを使用して2つの画像インスタンスのスコアを出し、マックス集約を適用します。これは、共同でトレーニングされたMILモデルではなく、バッグ決定の概念を示しています。
from ultralytics import YOLO
# Treat related images as instances within one bag
sources = [
"https://ultralytics.com/images/bus.jpg",
"https://ultralytics.com/images/zidane.jpg",
]
model = YOLO("yolo26n-cls.pt")
results = model(sources)
# Aggregate evidence for one target class across the bag
target_name = "minibus"
target_id = next(i for i, name in results[0].names.items() if name == target_name)
instance_scores = [float(result.probs.data[target_id]) for result in results]
bag_score = max(instance_scores)
print(f"{target_name} bag probability: {bag_score:.3f}")完全なMIL実装では、バッグラベルを使用してバッグアウェアなアグリゲーターをトレーニングします。Ultralytics YOLOは標準の分類ワークフローをサポートしますが、インスタンスをグループ化してバッグレベルの損失を最適化するにはカスタムのMILロジックが必要です。
実務者は、バッチ処理中にバッグの境界を維持し、複数の集約ルールをテストし、関連するインスタンスがデータセットの分割をまたがないようにする必要があります。GroupKFold cross-validationなどのツールを使用すると、同じ患者、ビデオ、または製品からのパッチを一緒に保持できます。バッグレベルの適合率と再現率を評価し、ローカライゼーションが重要な場合はインスタンスレベルの評価を追加します。Ultralytics Platformは、MILパイプラインが検出、セグメンテーション、または分類コンポーネントと組み合わされたときに、データセットの管理、アノテーション、標準モデルのトレーニング、およびデプロイメントをサポートできます。






