最小限のラベル付きデータでロバストなデータ表現を実現する自己教師付き手法、コントラスト学習の威力をご覧ください。
対照学習は機械学習(ML)の手法の一つで、主に自己教師あり学習(SSL)の中で使われ、明示的なラベルに頼らずに意味のあるデータ表現を学習するように設計されている。事前に定義されたカテゴリを予測する代わりに、データ点を比較することで学習する。核となる考え方は、データサンプルの類似(ポジティブ)と非類似(ネガティブ)のペアを区別するモデルを訓練することである。そうすることで、モデルは、学習された特徴空間において、類似アイテムをより近くにグループ化し、非類似アイテムをより遠くに押しやることを学習し、有用な埋め込みを作成する。
このプロセスには通常、「アンカー」データポイントが含まれる。多くの場合、アンカーに強力なデータ補強(切り抜き、回転、色の変更など)を適用することで、「ポジティブ」な例が作成される。「ネガティブ」な例とは、データセットに含まれる他のデータ点であり、アンカーとは類似していないと仮定される。エンコーダモデル(通常、画像用の畳み込みニューラルネットワーク(CNN)のようなニューラルネットワーク(NN))は、これらのサンプルを処理して、表現または埋め込みを生成する。そして(InfoNCEのような)対照的な損失関数が、アンカーと正の埋め込み間の距離を最小化し、アンカーと負の埋め込み間の距離を最大化することで、学習をガイドする。これによりモデルは、データ内の本質的な類似点と相違点を捉える特徴を学習するようになる。
対照学習のフレームワークには、いくつかの基本的な要素がある:
対照学習は他のMLパラダイムとは大きく異なる:
対照学習は、さまざまな領域で目覚ましい成功を収めている:
ロバストなコンピュータビジョンモデルを開発するためには、対照的な事前学習が非常に重要である。学習された表現はしばしば特定のタスクにうまく移行し、微調整のためにラベル付けされたデータをあまり必要としないこともある(Few-Shot Learning)。これは、以下のようなモデルのトレーニングに大きく役立ちます。 Ultralytics YOLOのようなモデルの訓練に大きな利益をもたらすことができる。ディープラーニングフレームワーク PyTorchや TensorFlowなどのディープラーニングフレームワークは、これらのテクニックを実装するために必要なツールを提供する。より深く掘り下げるには、自己教師あり学習と 表現学習の概要を調べることを検討してください。