Semi-Supervised Learning
半教師あり学習がラベル付きデータとラベルなしデータを組み合わせて、モデルの精度をいかに向上させるかを解説します。Ultralytics YOLO26を使用してSSLワークフローを実装する方法を学びましょう。
半教師あり学習 (SSL) は、machine learning (ML) における戦略的なパラダイムであり、2つの従来型の学習方法の間をつなぐ役割を果たします。supervised learning が完全に注釈付きのデータセットに完全に依存し、unsupervised learning がタグなしのデータからパターンを見つけ出そうとするのに対し、SSL は少量の labeled data と、それよりもはるかに大規模な unlabeled data のプールを組み合わせて動作します。このアプローチは、セキュリティカメラや衛星からのビデオ映像などの生画像の収集は比較的安価である一方、専門家による data labeling のプロセスにはコストがかかり、時間がかかり、労力を要する現実世界の computer vision (CV) のシナリオにおいて特に価値があります。ラベルなしの例に隠された構造を効果的に活用することで、SSL は、網羅的なアノテーション予算を必要とせずに、model accuracy と汎化性能を大幅に向上させることができます。
半教師あり学習の中核メカニズム#
SSL の主な目的は、少数のラベル付きの例に見られる情報を、より大規模なラベルなしのセットに伝播させることです。これにより、neural network はデータの低密度領域を通過する決定境界を学習でき、よりロバストな分類や検出が可能になります。
大半の半教師あり学習ワークフローでは、以下の2つの一般的な手法が用いられます。
- 疑似ラベル付け: この方法では、まず限られたラベル付きデータでモデルをトレーニングします。次に、それを使用してラベルなしデータに対する推論を実行します。特定の confidence 閾値を超える予測は、「疑似ラベル」または ground truth として扱われます。これらの確信度の高い予測が training data に追加され、モデルが再トレーニングされることで、パフォーマンスが反復的に向上します。
- 一貫性正則化: このテクニックは data augmentation に依存しています。このアイデアは、モデルが画像と、その画像のわずかに変更された(拡張された)バージョンの両方に対して類似した予測を出力すべきであるというものです。オリジナルと拡張されたバージョンの間の予測の差を最小限に抑えることで、モデルはノイズではなくオブジェクトのコア機能に焦点を当てることを学習し、overfitting を処理する能力が向上します。
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)実社会での応用#
半教師あり学習は、データは豊富であるものの専門知識が不足している業界を変革しています。
- 医療画像処理: healthcare AI では、スキャン(X線、MRI)の取得は標準的な手順ですが、ボード認定の放射線科医に tumor detection のためにすべてのピクセルにアノテーションを付けさせることは法外な費用がかかります。SSL を使用すると、研究者は専門家がアノテーションを付けたケースのほんの一部を使用して高性能モデルをトレーニングでき、何千ものアーカイブされたスキャンを活用して、生物学的構造に対するモデルの理解を洗練させることができます。
- 自動運転: 自動運転車企業は、フリート車両から毎日ペタバイト単位のビデオデータを収集しています。object detection と semantic segmentation のためにすべてのフレームにアノテーションを付けることは不可能です。SSL を通じて、システムはラベルなしの膨大な運転時間の大半から学習し、複雑な道路環境、気象条件、およびまれなエッジケースをよりよく理解することができます。
関連概念の区別#
AIソリューションを効果的に展開するには、SSLが類似した戦略とどのように異なるのかを理解することが不可欠です。
- vs. Active Learning: どちらもラベルなしデータを扱う点は共通していますが、ラベル付けに対するアプローチは異なります。SSL は、モデルの予測に基づいて自動的にラベルを割り当てます。対照的に、アクティブラーニングは最も「混乱している」または不確実なデータポイントを特定し、human-in-the-loop に明示的にラベル付けを要求するため、人間を完全に排除するのではなく、人間の時間を最適化します。
- vs. Transfer Learning: 転移学習には、大規模な外部データセット(ImageNet など)で事前トレーニングされたモデルを取得し、それを特定のタスクに合わせて微調整することが含まれます。一方、SSL は、トレーニングプロセス自体の中で、特定のデータセット分布のラベルなし部分を活用することに重点を置いています。
- vs. Self-Supervised Learning: 名前は似ていますが、自己教師あり学習は、外部のラベルなしでデータ自体が独自の教師信号を生成する「プレテキストタスク」(画像パッチのジグソーパズルを解くなど)を指すことがよくあります。SSL は、プロセスをガイドするための検証済みのラベルの小さなセットの使用を具体的に意味します。
ツールと今後の展望#
deep learning (DL) モデルが拡大するにつれて、データ使用の効率が最重要になります。PyTorch や TensorFlow などの最新のフレームワークは、これらの高度なトレーニングループに計算バックエンドを提供します。さらに、Ultralytics Platform などのツールは、データセット管理のライフサイクルを簡素化しています。auto-annotation などの機能を活用することで、チームは半教師ありワークフローをより簡単に実装し、生データをプロダクションレディな model weights に迅速に変えることができます。MLOps におけるこの進化により、高精度なビジョンシステムを作成するための参入障壁が下がり続けることが保証されます。






