AI用語集・ディープラーニングの概要

Contrastive Lossとは

コントラスティブロス

別名:コントラスティブロス、対照損失

  • シラバス 技術13
  • ◯×チェック3問
  • 練習問題2問

最終更新日:作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合)人による確認:未出典

1行定義

Contrastive Lossとは、2つのデータの組について、似た組は埋め込みの距離を縮め、似ていない組はマージン以上に離すよう学習させる損失関数のことです。

くわしく

Contrastive Lossは、「この2つは似ているか」という情報だけを手がかりに、データを特徴ベクトル(埋め込み)に変換する方法を学ばせる損失関数です。2006年にハドセル、チョプラ、ルカンが次元削減の研究で示した形がよく知られています。

計算の仕組み

2つのデータを、重みを共有する同じネットワークに通し、出てきた2つのベクトルの距離Dを測ります。同じ形のネットワークを双子のように並べるので、この構成をシャムネットワーク(Siamese Network)と呼びます。損失は、組の種類によって変わります。

  • 似た組:D²に比例した損失です。距離を0に近づけます。
  • 似ていない組:max(0, m − D)²に比例した損失です。距離がマージンmより近いときだけ損失が生じ、m以上離れていれば損失は0です。

元の論文では、似た組をY=0、似ていない組をY=1として、L = (1 − Y)·½D² + Y·½{max(0, m − D)}²と書きます。

2つの項が必要な理由

似た組を近づけるだけなら、すべてのデータを同じ点に写せば損失は0になります。これでは何も区別できません。似ていない組を引き離す項が、この崩壊を防ぎます。一方で、十分に離れた組をさらに押し離す必要はありません。そこで、マージンm以上離れた組の損失は0とし、まだ近すぎる組の学習に集中します。

使われ方と周辺の概念

学習した埋め込みは、分類のクラスを固定しません。そのため、学習に含まれていない人物の顔でも、登録画像との距離で同じ人かどうかを判定できます。アンカー・正例・負例の3つ組を使うTriplet Lossも、同じ発想にもとづく損失です。なお、自己教師ありの対照学習で使う、多数の負例の中から正例を見分ける形の損失も、英語でcontrastive lossと呼ばれます。文脈で見分けます。

覚え方

「似ていれば引き寄せ、似ていなければマージンまで押し返す」と覚えます。

G検定での出題

出題のされ方

Triplet Lossと並ぶ、データ間の距離を学ぶ距離学習の誤差関数として登場します。2つのデータの組と「似ているか」のラベルを使うこと、マージンの役割、学習時にない対象も距離で照合できる用途が問われます。

混同しやすい用語

用語意味
Contrastive Lossこのページの用語2つのデータの組について、似た組は埋め込みの距離を縮め、似ていない組はマージン以上に離すよう学習させる損失関数
Triplet Lossアンカー、同じクラスの正例、異なるクラスの負例の3つ組を使い、正例が負例より近くなるよう埋め込みを学ばせる損失関数
対照学習似たデータどうしの表現を近づけ、似ていないデータどうしの表現を遠ざけるように学習して、有用な特徴表現を得る手法

◯×チェック

3問

次の文が正しいか、誤りかを選んでください。

  1. Contrastive Lossでは、似ていない組の距離がマージン以上に離れていれば、その組の損失は0になる。

    答えを見る

    答え ◯ 正しい

    似ていない組の損失はmax(0, m − D)²に比例するため、距離Dがマージンm以上なら0です。十分に離れた組は学習に影響せず、近すぎる組だけが引き離されます。

  2. Contrastive Lossは、1つのデータとその正解クラスのラベルさえあれば計算でき、データを組にする必要はない。

    答えを見る

    答え × 誤り

    2つのデータの組と、その組が似ているかどうかを表すラベルから計算します。組を単位に損失を求める点が、1件ずつ計算する交差エントロピーなどと異なります。

  3. Contrastive Lossは、2つの入力を、重みを共有する同じ形のネットワークに通して出力の距離を比べる、シャムネットワークの学習に使われてきた。

    答えを見る

    答え ◯ 正しい

    同じネットワークを2つ並べた形が結合した双子(Siamese twins)に似ていることから、この名が付いています。重みを共有するので、2つの入力は同じ規則で埋め込みに変換されます。

この用語の練習問題

2問
  1. #0039顔照合に使う距離学習の損失難易度 応用・単一選択未回答
  2. #0355Triplet Lossの値の計算難易度 標準・単一選択未回答

出典

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合)人による確認:未 最終確認日: 対応シラバス:シラバス第1.4版 技術13

誤りを報告

表示設定

テーマ
文字の大きさ
問題演習