モデル・技術

NT-Xent損失とは?正例だけを強く引く——温度で負例の影を薄める対照損失

読み:エヌティーエックスエント / 英:NT-Xent Loss(Normalized Temperature-scaled Cross Entropy Loss)

更新日: 読了目安:約7分

NT-Xent損失は、正例は近く・負例は遠く——Contrastive Lossの思想——を、正規化した類似度のソフトマックスとして書き下した対照学習用の損失関数です。MoCoがキューと慣性エンコーダで「負例を太くする」なら、NT-Xentは「どの負例をどれだけ押し返すか」を温度τで調整する——本記事は数式の暗記より、正規化・温度・交差エントロピーの三つ組に焦点を当てます。

類似度のソフトマックス

対照学習では、同じ画像の2つの拡張ビューから得た埋め込み正例ペアにします(G-384)。バッチ内の他画像は負例——G-163が示す「似ているペアは近く、似ていないペアは遠く」という距離学習の発想です。

NT-Xentは、この比較を「正例が正解クラスになる分類」に見立てます。Query埋め込みから見て、多数の候補(正例Key+負例Keys)のうち正例だけを当てる——損失はソフトマックス交差エントロピーの形——だから名前にCross Entropyが入ります。

三つの部品

NT-Xentの頭文字は、設計の三要素をそのまま表しています。

部品意味なぜ要るか
N(Normalized)埋め込みをL2正規化ベクトルの長さではなく向き(コサイン類似度)で比較する
T(Temperature-scaled)類似度を温度τでスケールτが小さいと正例・負例の差が強調され、大きいと分布がならす
Xent(Cross Entropy)ソフトマックス+交差エントロピー多数負例の中から正例を選ぶ確率的な当て推量として最適化

温度τはハイパーパラメータ——試験ではτの値より、「正規化+温度付きの対照交差エントロピー」という位置づけが要点です。

自己教師ありでの使われ方

NT-Xentはラベルなしデータで表現を学ぶ自己教師ありのレシピに組み込まれます(TF-0161)。

  • 1. 拡張 — 同じ画像にクロップ・色変換などを施し2ビュー作成
  • 2. エンコード — 各ビューをCNNなどで埋め込みへ
  • 3. NT-Xent — 正例ペアの類似度を上げ、負例との類似度を相対的に下げる
  • 4. 転移 — 学習したエンコーダを下流の分類・検出へ

MoCo v2やSimCLRなど、画像の対照学習ブームの背後にはこの損失がいます——手法(MoCo)と損失(NT-Xent)は別レイヤー、と切り分けて覚えましょう。

他の損失との違い

損失課題NT-Xentとの差
Contrastive Loss(総称)正例近・負例遠思想は同じ。NT-Xentは正規化+温度+ソフトマックスCEの具体形
分類の交差エントロピークラスラベル予測教師あり。NT-Xentは正例ペアが擬似ラベル
Huber損失回帰の外れ値耐性別タスクの回帰損失
Dice Lossセグメンテーション重複画素マスク向け。対照学習とは無関係

InfoNCEと呼ばれる系譜の損失とも近い——試験では細かい別名より、自己教師あり対照学習の損失と答えれば十分です。

試験で押さえるポイント

  • 定義 — Normalized Temperature-scaled Cross Entropy=対照学習用の損失
  • 三要素 — 正規化、温度スケール、交差エントロピー
  • 文脈 — 自己教師あり表現学習(SimCLR、MoCoなど)
  • 対比 — Contrastive Loss(総称)、MoCo(手法)、分類CE(教師あり)

演習で確認する

G検定:G-127G-163G-384G-443

生成AIパスポート:TF-0161

すり替えに注意

誤った説明正しい理解
NT-Xent=MoCo損失関数 vs 対照学習手法
NT-Xent=Contrastive Lossそのもの総称 vs 正規化温度付きの具体実装
NT-Xent=教師あり分類損失ラベルなし正例ペアの自己教師あり
NT-Xent=CLIP損失の一種 vs 画像―テキストモデル
温度=推論時のTemperature対照学習のハイパーパラメータτ(別文脈の同名語に注意)

よくある質問

NT-Xent損失は何をする損失関数ですか?

対照学習で、正例ペアの埋め込みは近く、負例の埋め込みは遠くなるように学習させる損失関数です。正規化した類似度を温度でスケールし、ソフトマックス交差エントロピーとして正例を当てはめる形で最適化します。自己教師ありの視覚表現学習で広く使われます。

NT-Xent損失とContrastive Lossは同じですか?

同じではありません。Contrastive Lossは正例を近づけ負例を遠ざける損失の総称です。NT-Xentはその一実装で、正規化・温度スケール・ソフトマックス交差エントロピーを組み合わせた具体形です。思想は共通ですが、名称と設計の詳細が異なります。

NT-Xent損失とMoCoは同じですか?

同じではありません。NT-Xentは損失関数の名称です。MoCoは動量エンコーダと負例キューを使う自己教師ありの対照学習手法の名称です。MoCo v2などではNT-Xentを損失として採用しますが、損失と手法は別物です。