1. 概要

このチュートリアルでは、対照学習の領域を紹介します。最初に、この手法の背後にある直感と基本的な用語について説明します。 次に、最も一般的な対照トレーニングの目的とさまざまなタイプの対照学習を紹介します。

2. 直感

まず、対照学習の背後にある直感について話しましょう。 以下に、多くの子供たちがプレイする伝統的なゲームを示します。

このゲームの目的は、右側の写真を見て、左側の写真に似た動物を検索することです。この場合、子供は写真を検索する必要があります。右の4枚の写真の中の犬。 まず、子供は4匹の動物のそれぞれを犬と比較し、左下の画像が犬を描いていると結論付ける必要があります。

多くの調査によると、子供たちは動物についての本を読むよりも、この方法で新しい概念をより簡単に学ぶことができます。 しかし、なぜこの方法がうまく機能するのでしょうか?

子供のように事前の知識がない人は、似ているものと似ていないものを1つずつ認識するのではなく、対照的に新しいことを学ぶほうが簡単であることがわかります。最初は、子供犬を識別できない場合があります。 しかし、しばらくすると、子供は、鼻の形や体の姿勢など、犬に共通する特徴を区別することを学びます。

3. 用語

以前の観察に触発された対照学習は、類似サンプルと非類似サンプルを対比することにより、データの低次元表現を学習することを目的としています。具体的には、表現空間で類似サンプルを互いに近づけ、非類似をプッシュしようとします。ユークリッド距離を使用して遠く離れているもの。

、、の3つの画像があるとします。 最初の2つの画像は犬を表しており、3番目の画像は猫を表しています。各画像(、および)の低次元表現を学習したいと思います。

対照的な学習では、類似したサンプル間の距離を最小化し、異なるサンプル間の距離を最大化します。この例では、距離を最小化し、距離を最大化します。ここで、はユークリッドのような距離関数です。

アンカーサンプル()に類似しているサンプルは、正のサンプル()として定義され、非類似のサンプルは、負()として定義されます。

4. トレーニングの目的

対照学習の最も重要な部分は、モデルを対照表現の学習に導くトレーニング目標です。 最も一般的な目的を説明しましょう。

4.1. 対照的な損失

対照的喪失は、対照的学習に使用された最初のトレーニング目標の1つです。 類似または非類似のサンプルのペアを入力として受け取り、類似サンプルを近づけ、非類似サンプルを遠ざけます。

より正式には、サンプルが類似している場合は0に等しく、そうでない場合は1に等しいペアとラベルがあると想定します。 各サンプルの低次元表現を抽出するために、畳み込みニューラルネットワークを使用して、入力画像を埋め込みスペースにエンコードします。 対照的な損失は次のように定義されます:

ここで、はハイパーパラメータであり、異なるサンプル間の下限距離を定義します。

上記の方程式をより詳細に分析すると、2つの異なるケースがあります。

  • サンプルが類似している場合()、ユークリッド距離に対応する項を最小化します。
  • サンプルが異なる場合()、ある限界までユークリッド距離を最大化することに相当する項を最小化します。

4.2. トリプレットロス

対照的な損失の改善は、トリプレット損失であり、ペアの代わりにサンプルのトリプレットを使用することにより、前者よりも優れています。

具体的には、アンカーサンプル、正のサンプル、負のサンプルを入力として受け取ります。 トレーニング中、損失により、アンカーサンプルとポジティブサンプルの間の距離が、アンカーサンプルとネガティブサンプルの間の距離よりも短くなります。

トリプレット損失のあるモデルをトレーニングする場合、類似サンプルと非類似サンプルの両方を使用してネットワークを同時に更新するため、収束に必要なサンプルが少なくなります。 そのため、トリプレット損失はコントラスト損失よりも効果的です。

5. 学習の種類

対照学習の考え方は、教師なし学習タスクと教師なし学習タスクの両方で使用できます。

5.1. 監視対象

この場合、各サンプルのラベルはトレーニング中に利用できます。 したがって、ラベルを調べるだけで、正と負のペアまたはトリプレットを簡単に生成できます。

ただし、可能なすべてのペアまたはトリプレットを生成するには、多くの時間と計算リソースが必要です。 また、すべてのデータセットには、対照的なトレーニングの目的をすでに満たし、損失がゼロであるためにトレーニングの収束が遅くなる、多くの負のペアまたはトリプレットがあります。

この問題に対処するには、ハードペアとハードトリプレットを生成する必要があります。つまり、それらの損失値は高くなります。つまり、離れている類似ペアと非常に近い異なるペアです。多くのハードネガティブマイニング通常、高速検索アルゴリズムを使用してハードペアとトリプレットの表現空間を調べる方法が提案されています。 自然言語処理では、ハードネガティブな文のペアを生成する簡単な方法は、アンカーセンテンスに否定語を追加することです。

5.2. 監督されない

ラベル付けされたサンプルがない場合、自己監視学習が使用され、データの一部のプロパティを利用して疑似ラベルが生成されます。

教師なし対照学習のための有名な自己監視フレームワークはSimCLRです。 その主なアイデアは、クロップ、フリップ、カラージッターなどのアンカー画像にランダムな変換を適用してポジティブな画像ペアを生成することです。これらの変更により、画像のラベルが変更されないためです。

6. 結論

このチュートリアルでは、対照学習について話しました。 まず、対照学習の直感と用語を紹介し、次にトレーニングの目的とさまざまなタイプについて説明しました。