Triplet Lossとは
Triplet Lossとは、「基準(Anchor)」「正例(Positive)」「負例(Negative)」の3点を用いて、正例を近づけ負例を遠ざけるように学習する損失関数です。顔認識や類似検索で重要です。
この用語はG検定シラバスの「13. 誤差関数」に含まれます。 章全体の用語は用語解説③(全52語)にまとまっています。
一言でいうと
基準・正例・負例の3つを使い、正例は近く負例は遠くなるように学習する損失関数です。
定義
\( L_{triplet} = \max(0, g + d_p - d_n) \)
- \( d_p \):AnchorとPositiveの距離
- \( d_n \):AnchorとNegativeの距離
- \( g \):ギャップパラメータ(マージン)
式が意味していること
目指すのは \( d_n \) が \( d_p \) よりマージン \( g \) 以上大きい状態です。
その条件を満たしていれば括弧の中は負になり、\( \max \) によって損失は0になります。つまり十分に離れていれば学習しない——この考え方はContrastive Lossと共通です。
どこで使われるか
顔認識では「同じ人物の別の写真は近く、他人の写真は遠く」なるような特徴空間を作りたい場面で使われます。
クラス数が非常に多い、あるいは未知の人物が後から増えるような問題では、分類より距離を学習するほうが適しているのです。
学習を成功させる難しさ
Triplet Lossでは、3つ組の選び方が結果を大きく左右します。
簡単すぎる組み合わせ(明らかに違う負例)ばかりを選ぶと、損失がすぐ0になって学習が進みません。そのため、あえて間違えやすい難しい負例を選んで学習させる工夫が行われます。
混同しやすい用語との違い
| 用語 | ポイント |
|---|---|
| Triplet Loss | 3つ組で学習。正例を近づけ負例を遠ざける |
| Contrastive Loss | ペア(2つ)で学習 |
🎯 G検定での押さえどころ
- 3つ組(Anchor・Positive・Negative)で学習する
- マージン以上離れていれば損失は0になる
- 顔認識・類似検索で用いられる
⚠️ よくある誤りの選択肢
- 「Triplet Lossは2つのデータのペアで学習する」→ 誤り。3つ組を用います
- 「Triplet Lossにマージンの概念はない」→ 誤り。マージン(ギャップパラメータ \( g \))を用います
📘 もっと深く学ぶ
- 数式レベルまで踏み込んだ解説 → 医療AIナビ「距離学習(Metric Learning)」(E資格向け)
関連する用語
ご利用にあたって 本ページの内容は、JDLAが公開しているG検定シラバス2024や公式テキストなど、一般に公開されている情報をもとに独自に整理・解説したものです。実際の試験の出題内容を示すものではなく、また合格を保証するものでもありません。制度・法令・試験要項は変更されることがあるため、最新の情報は必ずJDLA公式サイトでご確認ください。