Explore how contrastive learning enables AI to understand data by comparing samples. Learn about self-supervised features and train models on the Ultralytics Platform.
対照学習は、類似したサンプルと非類似なサンプルを比較することでモデルにデータを理解させる機械学習パラダイムである。手動でラベル付けされたデータセットに大きく依存する従来の教師あり学習とは異なり、対照学習は自己教師あり学習の文脈で頻繁に用いられる。その中核となる考え方は単純でありながら強力である:モデルは関連する項目(正のペア)の表現をベクトル空間内で互いに近づけ、無関係な項目(負のペア)を互いに遠ざけることを学習する。このプロセスにより、アルゴリズムは膨大な量の未ラベルデータから頑健で汎化可能な特徴を構築でき、人工知能の拡張に不可欠である。 ベクトル空間内で関連性のある項目(正のペア)の表現を互いに近づけ、無関係な項目(負のペア)の表現を互いに遠ざけることを学習する。このプロセスにより、アルゴリズムは膨大な量の未ラベルデータから頑健で汎用性の高い特徴を構築でき、人工知能(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 デプロイとモニタリングのための合理化された環境を提供します。