機械学習における対照学習を探ります。それが自己教師ありデータを使用して、Ultralytics YOLO26とコンピュータビジョンのための堅牢なAI機能を構築する方法を学びましょう。
対照学習は、類似したサンプルと非類似のサンプルを比較することで、モデルにデータを理解させる機械学習パラダイムです。手動でラベル付けされたデータセットに大きく依存する従来の教師あり学習とは異なり、対照学習は自己教師あり学習の文脈でよく使用されます。その核心となるアイデアはシンプルかつ強力です。モデルは、関連するアイテム(正のペア)の表現をベクトル空間内で互いに近づけ、関連しないアイテム(負のペア)を遠ざけるように学習します。このプロセスにより、アルゴリズムは大量のラベルなしデータから堅牢で汎用的な特徴を構築でき、これは人工知能 (AI)システムをスケールアップするために不可欠です。
対照学習の核心は、比較による学習という概念です。特定の 画像が「猫」であることを記憶する代わりに、モデルは猫の2つの異なる写真が、どちらか一方が犬の写真であるよりも互いに似ていることを学習します。これは通常、 データ拡張によって実現されます。「アンカー」と呼ばれる入力画像は、クロッピング、反転、色ジッターなどの手法を使用して2つの異なるバージョンに変換されます。これら2つのバージョンがポジティブペアを形成します。その後、モデルはそれらの 埋め込み間の距離を最小化し、バッチ内の他のランダムな画像(ネガティブサンプル)との距離を最大化するように訓練されます。
このアプローチは、ニューラルネットワークが低レベルのピクセル詳細ではなく、高レベルのセマンティック特徴に焦点を当てるのに役立ちます。例えば、車が赤か青か、左向きか右向きかに関わらず、「車」という根底にある概念は同じです。これらの表面的なバリエーションを無視することで、モデルは視覚世界に対するより深い理解を深め、物体検出や分類などの下流タスクに大きく貢献します。
対照学習は、特にラベル付きデータが不足しているか、取得に費用がかかる多くの最先端AIアプリケーションの基礎となっています。
対照学習を類似の手法と区別することは、機械学習(ML)の分野におけるその独自の役割を理解する上で役立ちます。
対照学習モデルをゼロからトレーニングするのはリソースを大量に消費しますが、事前学習済みモデルを使用して特徴を簡単に抽出できます。次の例は、モデルをロードし、画像の特徴ベクトル(埋め込み)を抽出する方法を示しています。 ultralytics パッケージ。この埋め込みは、対照学習に似た手法で学習された意味内容を表します。
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Run inference on an image to get the results
# The 'embed' argument can be used in advanced workflows to extract feature layers
results = model("https://ultralytics.com/images/bus.jpg")
# Access the top predicted class probability
# This prediction is based on the learned feature representations
print(f"Top class: {results[0].names[results[0].probs.top1]}")
print(f"Confidence: {results[0].probs.top1conf:.4f}")
豊富で意味のある特徴を抽出するこの能力は、現代のコンピュータービジョン(CV)システムを構築するために、対照学習を不可欠なものにし、効率的な画像検索と高度な分析を可能にします。これらの高度なアーキテクチャの恩恵を受けるデータセットの管理とカスタムモデルのトレーニングには、Ultralytics Platformが、デプロイと監視のための合理化された環境を提供します。
未来の機械学習で、新たな一歩を踏み出しましょう。