Semi-Supervised Learning
半教師あり学習がラベル付きデータとラベルなしデータを組み合わせ、モデルの精度を高める仕組みを解説します。Ultralytics YOLO26を使用したSSLワークフローの実装方法を学びます。
半教師あり学習(SSL)は、2つの従来のトレーニング手法の橋渡しとなる、戦略的なパラダイムです。機械学習(ML)では、教師あり学習が完全にアノテーションされたデータセットに全面的に依存し、教師なし学習がタグなしでデータ内のパターンを見つけようとするのに対し、SSLは少量のラベル付きデータと、はるかに大規模なラベルなしデータのプールを組み合わせて機能します。このアプローチは、実世界のコンピュータービジョン(CV)のシナリオで特に有用です。たとえば、防犯カメラや衛星からの動画など、生の画像を収集するコストは比較的低い一方、人間の専門家によるデータラベリングには高いコストと時間、労力がかかります。ラベルなしの例に隠れている構造を効果的に活用することで、SSLは徹底的なアノテーション予算を必要とせずに、モデルの精度と汎化性能を大幅に向上させることができます。
半教師あり学習の中核メカニズム#
SSLの主な目的は、少数のラベル付き例に含まれる情報を、より大規模なラベルなしデータセットへ伝播させることです。これにより、ニューラルネットワークはデータの低密度領域を通過する決定境界を学習でき、より堅牢な分類や検出が可能になります。
半教師ありワークフローの大半を支える代表的な手法は、次の2つです。
- 疑似ラベリング: この手法では、まず限られたラベル付きデータでモデルをトレーニングします。次に、そのモデルを使用してラベルなしデータに対して推論を実行します。特定の信頼度しきい値を超えた予測は、「疑似ラベル」またはグラウンドトゥルースとして扱われます。これらの信頼度の高い予測をトレーニングデータに追加し、モデルを再トレーニングすることで、性能を反復的に向上させます。
- 一貫性正則化: この手法はデータ拡張に依存します。画像と、その画像をわずかに変更した(拡張した)バージョンに対して、モデルが類似した予測を出力するべきだという考え方です。元の画像と拡張後の画像の予測差を最小化することで、モデルはノイズではなく物体の中核的な特徴に注目するようになり、過学習への対応能力が向上します。
YOLOを使用した実践的な実装#
次のPythonの例では、ultralyticsパッケージを使用した、シンプルな疑似ラベリングワークフローを示します。ここでは、少量のデータセットでYOLO26モデルをトレーニングし、そのモデルを使用してラベルなし画像のディレクトリにラベルを生成します。
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Train initially on a small available labeled dataset
model.train(data="coco8.yaml", epochs=10)
# Run inference on unlabeled data to generate pseudo-labels
# Setting save_txt=True saves the detections as text files for future training
results = model.predict(source="./unlabeled_images", save_txt=True, conf=0.85)実世界での利用例#
半教師あり学習は、データが豊富で専門知識が不足している業界を変革しています。
- 医用画像: ヘルスケアAIでは、スキャン(X線、MRI)の取得は標準的な手順ですが、すべてのピクセルに対して、認定放射線科医に腫瘍検出用のアノテーションを付けてもらうことは、非常に高コストです。SSLを使用すると、研究者は専門家がアノテーションした症例の一部だけで高性能なモデルをトレーニングし、保存された数千件のスキャンを活用して、生体構造に関するモデルの理解を洗練できます。
- 自動運転: 自動運転車の企業は、車両のフリートから毎日ペタバイト規模の動画データを収集します。すべてのフレームに対して物体検出とセマンティックセグメンテーション用のラベルを付けることは不可能です。SSLを通じて、システムはラベルなしの膨大な走行時間のデータから学習し、複雑な道路環境、気象条件、まれなエッジケースをより適切に理解できます。
関連する概念との違い#
AIソリューションを効果的にデプロイするには、SSLが類似する戦略とどのように異なるかを理解することが重要です。
- 対アクティブラーニング: どちらもラベルなしデータを扱いますが、ラベリングへのアプローチが異なります。SSLは、モデルの予測に基づいて自動的にラベルを割り当てます。一方、アクティブラーニングは、最も「判断が難しい」、または不確実なデータポイントを特定し、human-in-the-loopに明示的にラベル付けを依頼します。これにより、人間を完全に排除するのではなく、人間の時間を最適化します。
- 対転移学習: 転移学習では、大規模な外部データセット(ImageNetなど)で事前トレーニングされたモデルを取得し、特定のタスク向けにファインチューニングします。一方SSLは、トレーニングプロセス自体で、特定のデータセットのデータ分布に含まれるラベルなし部分を活用することに重点を置きます。
- 対自己教師あり学習: 名前は似ていますが、自己教師あり学習は、多くの場合、外部ラベルなしでデータ自体が教師信号を生成する「プレテキストタスク」(画像パッチのジグソーパズルを解くなど)を指します。SSLは、プロセスを導くために、検証済みラベルのより小規模なセットを使用することを明確に意味します。
ツールと今後の展望#
ディープラーニング(DL)モデルの規模が拡大するにつれて、データ利用の効率性が極めて重要になります。PyTorchやTensorFlowなどの最新フレームワークは、こうした高度なトレーニングループの計算バックエンドを提供します。さらに、Ultralytics Platformなどのツールは、データセット管理のライフサイクルを簡素化します。自動アノテーションなどの機能を活用することで、チームは半教師ありワークフローをより容易に実装し、生データを本番環境対応のモデルウェイトへ迅速に変換できます。このMLOpsの進化により、高精度なビジョンシステムを作成するための参入障壁は継続的に低下しています。









