用語集

対照学習

最小限のラベル付きデータでロバストなデータ表現を実現する自己教師付き手法、コントラスト学習の威力をご覧ください。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

対照学習は機械学習(ML)の手法の一つで、主に自己教師あり学習(SSL)の中で使われ、明示的なラベルに頼らずに意味のあるデータ表現を学習するように設計されている。事前に定義されたカテゴリを予測する代わりに、データ点を比較することで学習する。核となる考え方は、データサンプルの類似(ポジティブ)と非類似(ネガティブ)のペアを区別するモデルを訓練することである。そうすることで、モデルは、学習された特徴空間において、類似アイテムをより近くにグループ化し、非類似アイテムをより遠くに押しやることを学習し、有用な埋め込みを作成する。

対照学習の仕組み

このプロセスには通常、「アンカー」データポイントが含まれる。多くの場合、アンカーに強力なデータ補強(切り抜き、回転、色の変更など)を適用することで、「ポジティブ」な例が作成される。「ネガティブ」な例とは、データセットに含まれる他のデータ点であり、アンカーとは類似していないと仮定される。エンコーダモデル(通常、画像用の畳み込みニューラルネットワーク(CNN)のようなニューラルネットワーク(NN))は、これらのサンプルを処理して、表現または埋め込みを生成する。そして(InfoNCEのような)対照的な損失関数が、アンカーと正の埋め込み間の距離を最小化し、アンカーと負の埋め込み間の距離を最大化することで、学習をガイドする。これによりモデルは、データ内の本質的な類似点と相違点を捉える特徴を学習するようになる。

主要コンポーネント

対照学習のフレームワークには、いくつかの基本的な要素がある:

  • データ増強戦略:効果的なポジティブ・ペアの作成は、データ補強に大きく依存する。テクニックはデータの種類(画像、テキスト、オーディオなど)によって異なります。様々なデータ補強戦略や Albumentationsのようなライブラリを調べることができます。
  • エンコーダー・ネットワーク:このネットワークは生の入力データを低次元の表現に変換する。アーキテクチャ(ResNetVision Transformerなど)の選択は、特定のタスクとデータモダリティに依存する。
  • 対比的損失関数:この関数は、学習された表現間の類似性を定量化し、学習プロセスを駆動する。InfoNCEの他に、他の損失関数も対照学習の文献で使われている。

対照学習と他のアプローチ

対照学習は他のMLパラダイムとは大きく異なる:

  • 教師あり学習手動でラベル付けされたデータに大きく依存する。対照学習は大規模なラベル付けを必要としないため、ラベル付けされていない大規模なデータセットに適している。
  • 教師なし学習SSL(対照学習を含む)は教師なし学習の一種であるが、クラスタリング(K-Means)のような伝統的な手法は、対照的アプローチに固有の明示的な正負比較メカニズムなしにデータをグループ化することに焦点を当てることが多い。
  • その他の自己教師あり手法:生成SSLモデル(オートエンコーダなど)は入力データを再構成することで学習するが、対照法はサンプルを比較することで識別特徴を学習する。

実世界での応用

対照学習は、さまざまな領域で目覚ましい成功を収めている:

  1. 視覚表現学習: 画像分類や 物体検出などの コンピュータ・ビジョン・タスクのために、ラベルのない大規模な画像データセット(ImageNetなど)で強力なモデルを事前学習すること。Google Researchや Meta AI (FAIR)などの研究ラボによるSimCLRや MoCoがその代表的な例です。CLIPのようなモデルは、画像とテキスト間のコントラスト技術も活用している。
  2. 画像検索と意味検索:学習した埋め込み画像を比較することで、膨大なデータベースの中から視覚的に類似した画像を探し出すシステムの構築。これはコンテンツベース画像検索(CBIR)システムにおいて有用である。
  3. 自然言語処理(NLP):テキスト分類、クラスタリング、意味検索などのタスクのための効果的な文や文書の埋め込みを学習する。

コンピュータビジョンとUltralytics関連性

ロバストなコンピュータビジョンモデルを開発するためには、対照的な事前学習が非常に重要である。学習された表現はしばしば特定のタスクにうまく移行し、微調整のためにラベル付けされたデータをあまり必要としないこともある(Few-Shot Learning)。これは、以下のようなモデルのトレーニングに大きく役立ちます。 Ultralytics YOLOのようなモデルの訓練に大きな利益をもたらすことができる。ディープラーニングフレームワーク PyTorchTensorFlowなどのディープラーニングフレームワークは、これらのテクニックを実装するために必要なツールを提供する。より深く掘り下げるには、自己教師あり学習と 表現学習の概要を調べることを検討してください。

すべて読む