Yolo 深圳
深セン
今すぐ参加
用語集

コントラスト学習

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アプリケーションの基盤となっている。

  1. ゼロショット画像分類: CLIP(対比的言語画像事前学習)のようなモデルは、対比学習を用いて画像とテキストを共通の特徴空間で整合させる。 数百万の画像-テキスト対で学習することで、 モデルは視覚的概念と自然言語記述を関連付けることを学びます。これにより ゼロショット学習が可能となり、モデルは 訓練中に見たことのないclassify 、画像とテキストプロンプトを照合するだけでカテゴリclassify 。
  2. 医療画像のための堅牢な事前学習:医療分野では、専門家によるラベル付け済みの医療スキャンを取得することは 費用と時間がかかる。 研究者は対比学習を用いて、ラベル付けされていない大量のX線やMRIスキャンデータでモデルを事前学習させる。この教師なし事前学習により強力な基盤モデルが構築され、少数のラベル付き例で微調整することで肺炎や腫瘍などのdetect を高精度でdetect 。この手法は転移学習を活用し、医療AIにおける診断ツールの精度向上を実現する。

関連概念の区別

対照学習を類似技術と区別することは、機械学習(ML)の分野におけるその独自の役割を理解する上で有益である。

  • 対比学習とオートエンコーダーの比較: どちらも教師なし手法ではあるが、 オートエンコーダーは入力データをピクセル単位で再構築し、 ボトルネック層へ圧縮することを目的とする 一方、対比学習は画像を再現しようとせず、 異なる概念を分離する識別的表現の学習に専念する。
  • 対 生成敵対ネットワーク(GAN): GANは、偽のデータを生成する生成器と、 detect とする識別器から構成される。対比学習はデータ生成ではなく表現学習に焦点を当てるため、 検索、検索、分類などのタスクに適している。
  • 従来のトリプレット損失は、アンカー、陽性サンプル、陰性サンプルを明示的に必要とする。一方、 SimCLRやMoCoなどの現代的な対比学習手法は、バッチ内でアンカーと多数の陰性サンプルを同時に比較することでこれを一般化しており、InfoNCEのような特定の損失関数を用いることが多い。

埋め込みを用いた実践例

対照モデルを一から訓練するにはリソースを大量に消費しますが、事前学習済みモデルを活用すれば容易に特徴量を抽出できます。以下の例では、モデルを読み込み、画像の特性ベクトル(埋め込み)を抽出する方法を示します。 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 デプロイとモニタリングのための合理化された環境を提供します。

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加