Skip to the content.

最終更新日:2026年8月26日

G検定トップ > Contrastive LossとTriplet Lossの違い【G検定対策】

まず結論

Contrastive LossとTriplet Lossは、どちらも埋め込み空間で距離関係を学ぶ損失関数です。

最大の違いは入力の組です。

  • Contrastive Loss:類似・非類似のペア
  • Triplet Loss:Anchor・Positive・Negativeの三つ組

G検定では、ペアか三つ組かを最初に見ると切り分けやすくなります。

直感的な説明

Contrastive Lossは、

「この2つは近づける? 離す?」

と判断するイメージです。

Triplet Lossは、

「AnchorはNegativeよりPositiveに近くあるべき」

という相対関係を学びます。

Contrastive
A ↔ B

Triplet
Positive ← Anchor → Negative
   近く        遠く

定義・仕組み

Contrastive Loss

主に2つのデータをペアとして扱います。

  • 類似ペア → 距離を小さくする
  • 非類似ペア → 距離が近すぎるとペナルティ

標準的な形では、非類似ペアにmarginを設けることがあります。

Triplet Loss

3つのデータを使います。

  • Anchor:基準
  • Positive:Anchorと近づけたいデータ
  • Negative:Anchorから遠ざけたいデータ

目標は、概念的には次の関係です。

距離(Anchor, Positive) + margin
<
距離(Anchor, Negative)

つまり、絶対的な距離だけではなく、PositiveとNegativeの相対的な位置関係を学びます。

いつ使う?(得意・不得意)

観点 Contrastive Loss Triplet Loss
入力 2点のペア 3点の三つ組
代表語 類似・非類似 Anchor / Positive / Negative
学習の中心 ペア間距離 相対距離
共通点 埋め込み・距離学習 埋め込み・距離学習

どちらも、顔認識・類似検索などで使われます。

性能は損失の名前だけで決まらず、どのペア・三つ組を学習に選ぶかも重要です。

G検定ひっかけポイント

  • ❌「Triplet Lossは2点のペアだけで学習する」
    • Anchor・Positive・Negativeの三つ組が基本です。
  • ❌「Contrastive LossとTriplet Lossは分類クラス確率を直接最大化する」
    • 中心は埋め込み空間の距離関係です。
  • ❌「Contrastive Lossは必ず絶対距離そのものを最小化するだけ」
    • 類似・非類似とmarginを使って距離関係を調整します。
  • ❌「Triplet Lossならデータの選び方は重要ではない」
    • 三つ組の作り方は学習に大きく影響します。
  • ⭕「Anchor / Positive / Negative」→ Triplet Loss
  • ⭕「類似ペア / 非類似ペア」→ Contrastive Loss

Cross Entropyとの違い

  • 正解クラスの確率を高くする → Cross Entropy
  • ペア・三つ組の距離関係を学ぶ → Contrastive / Triplet Loss

ただし実際のモデルでは、距離学習の損失と分類損失を組み合わせて使う場合もあります

まとめ(試験直前用)

  • Contrastive Loss=ペア
  • Triplet Loss=Anchor・Positive・Negative
  • どちらも埋め込み・距離学習
  • Tripletは相対距離が中心
  • 「Anchor」が出たらTripletを疑う

© 2024-2026 stemtazoo. All rights reserved.