YOLO Vision Shenzhen
深セン
今すぐ参加
用語集

コントラスト学習

機械学習における対照学習を探ります。それが自己教師ありデータを使用して、Ultralytics YOLO26とコンピュータビジョンのための堅牢なAI機能を構築する方法を学びましょう。

対照学習は、類似したサンプルと非類似のサンプルを比較することで、モデルにデータを理解させる機械学習パラダイムです。手動でラベル付けされたデータセットに大きく依存する従来の教師あり学習とは異なり、対照学習は自己教師あり学習の文脈でよく使用されます。その核心となるアイデアはシンプルかつ強力です。モデルは、関連するアイテム(正のペア)の表現をベクトル空間内で互いに近づけ、関連しないアイテム(負のペア)を遠ざけるように学習します。このプロセスにより、アルゴリズムは大量のラベルなしデータから堅牢で汎用的な特徴を構築でき、これは人工知能 (AI)システムをスケールアップするために不可欠です。

対照学習のメカニズム

対照学習の核心は、比較による学習という概念です。特定の 画像が「猫」であることを記憶する代わりに、モデルは猫の2つの異なる写真が、どちらか一方が犬の写真であるよりも互いに似ていることを学習します。これは通常、 データ拡張によって実現されます。「アンカー」と呼ばれる入力画像は、クロッピング、反転、色ジッターなどの手法を使用して2つの異なるバージョンに変換されます。これら2つのバージョンがポジティブペアを形成します。その後、モデルはそれらの 埋め込み間の距離を最小化し、バッチ内の他のランダムな画像(ネガティブサンプル)との距離を最大化するように訓練されます。

このアプローチは、ニューラルネットワークが低レベルのピクセル詳細ではなく、高レベルのセマンティック特徴に焦点を当てるのに役立ちます。例えば、車が赤か青か、左向きか右向きかに関わらず、「車」という根底にある概念は同じです。これらの表面的なバリエーションを無視することで、モデルは視覚世界に対するより深い理解を深め、物体検出や分類などの下流タスクに大きく貢献します。

実際のアプリケーション

対照学習は、特にラベル付きデータが不足しているか、取得に費用がかかる多くの最先端AIアプリケーションの基礎となっています。

  1. ゼロショット画像分類: CLIP (Contrastive Language-Image Pre-training)のようなモデルは、対照学習を使用して共有特徴空間で画像とテキストをアラインします。数百万の画像-テキストペアでトレーニングすることにより、モデルは視覚的概念を自然言語記述と関連付けることを学習します。これにより、モデルが画像をテキストプロンプトに一致させるだけで、トレーニング中に一度も見たことのないカテゴリに画像をclassifyできるゼロショット学習が可能になります。
  2. 医療画像のためのロバストな事前学習: ヘルスケア分野では、専門家がラベル付けした医療スキャンを入手することは費用がかかり、時間もかかります。研究者は、コントラスト学習を使用して、ラベル付けされていないX線やMRIスキャンの大規模データベースでモデルを事前学習させます。この教師なし事前学習は、少数のラベル付きサンプルで微調整することで、肺炎や腫瘍などの疾患を高精度にdetectできる強力なバックボーンを生成します。この技術は、転移学習を活用して、ヘルスケアAIにおける診断ツールを改善します。

関連概念の区別

対照学習を類似の手法と区別することは、機械学習(ML)の分野におけるその独自の役割を理解する上で役立ちます。

  • vs. オートエンコーダ: どちらも教師なし手法ですが、オートエンコーダは入力データをピクセルごとに再構築し、ボトルネック層に圧縮することを目指します。対照的に、対照学習は画像を再作成しようとせず、異なる概念を分離する識別表現の学習にのみ焦点を当てます。
  • vs. 敵対的生成ネットワーク(GAN): GANは、偽のデータを生成するジェネレータと、それを検出しようとするディスクリミネータを伴います。対照学習はデータ生成ではなく表現学習に焦点を当てており、検索、情報取得、分類などのタスクにより適しています。
  • vs. Triplet Loss: 従来のTriplet Lossは、アンカー、ポジティブ、ネガティブサンプルを明示的に必要とします。SimCLRMoCoのような現代の対照学習手法は、バッチ内でアンカーを多数のネガティブサンプルと同時に比較することでこれを一般化し、しばしば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 Platformが、デプロイと監視のための合理化された環境を提供します。

共にAIの未来を築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。