2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

基礎編 ― 深層学習における代表的計量学習手法5選

Last updated at Posted at 2025-07-26

基礎編 ― 深層学習における代表的計量学習手法5選

深層学習の発展に伴い,単純な「分類(Classification)」ではなく,「埋め込み空間(Feature Space)でのクラス分離」を学習する 計量学習(Metric Learning) が注目を集めています.本記事では,代表的なメトリック学習手法を5つピックアップし,数式や図解を交えながら基礎から解説します.


1. はじめに

  • 背景
    • 画像検索や顔認証,類似画像検索などでは,「同じクラスの特徴を近づけ,異なるクラスを遠ざける」学習が鍵となります.
  • 目的
    • 各手法のアーキテクチャ・損失関数・特徴を比較し,自分のタスクに合った計量学習手法を選べるようになること.

2. 計量学習とは何か

  • Metric Learning の定義
    • 与えられたデータ点の 距離(あるいは類似度) を学習し,同クラスは小距離に,異クラスは大距離になるよう埋め込み関数 $f_\theta(x)$ を最適化する手法群.
  • 分類モデルとの違い
    • 分類:最後に全結合+Softmax でクラスを予測
    • 計量学習:出力は特徴ベクトル $(\mathbf{z} = f_\theta(x)$).距離関数で評価.

3. ペア/トリプレットベースの手法

3.1 Siamese Network(Contrastive Loss)

model_siamese.png

  • 構成
    • 2つの入力 を同一ネットワーク(Encoder)で埋め込み
    • 埋め込み間距離 $ d = \lVert \mathbf{z}_1 - \mathbf{z}_2 \rVert$ を計算
  • Contrastive Loss
    $$
    L = y, d^2 + (1 - y),\max\bigl(0,,m - d\bigr)^2
    $$
    • $y=1$(同クラス)なら距離を小さく
    • $y=0$(異クラス)なら距離がマージン $m$ を超えるよう罰則
  • Pros / Cons
    • ◎ シンプル,ペア構成が直感的
    • △ ペア数が二乗で増えやすい

3.2 Triplet Loss

model_triplet.png

  • 構成
    • アンカー, ポジティブ, ネガティブ の3点を同時に入力
      $$
      L = \max\bigl(0,\ |\mathbf{z}_a - \mathbf{z}_p| ;-;|\mathbf{z}_a - \mathbf{z}_n| ;+; m \bigr)
      $$
    • アンカー $z_a$ と正例 $z_p$ を近づけ,負例 $z_n$ はマージン $m$ 以上離す
  • Hard-Mining
    • バッチ内で「最も近い負例/最も遠い正例」を選んで損失を計算

4. Margin-Softmax 系手法

model_softmax.png

分類器+マージン付きクロスエントロピーで,間接的に埋め込みを分離します.

4.1 ArcFace

  • 数式
    $$
    \ell = -\log \frac{\exp\bigl(s,\cos(\theta_{y}+m)\bigr)}
    {\exp\bigl(s,\cos(\theta_{y}+m)\bigr)
    + \sum_{j \neq y} \exp\bigl(s,\cos(\theta_j)\bigr)}.
    $$
    • $s$:スケール,$m$:角度マージン
  • 特徴
    • 角度にマージンを加え,クラス境界を明確に

4.2 CosFace

  • 数式
    $$
    \ell = -\log \frac{\exp\bigl(s,(\cos\theta_{y} - m)\bigr)}
    {\exp\bigl(s,(\cos\theta_{y} - m)\bigr)
    + \sum_{j \neq y} \exp\bigl(s,\cos(\theta_j)\bigr)}.
    $$
    • 余弦類似度にマージンを引くスタイル
  • 特徴
    • ArcFace より実装が簡単,計算コストが低い

4.3 SphereFace

  • 数式
    $$
    \ell = -\log \frac{\exp\bigl(s,\cos(m,\theta_{y})\bigr)}
    {\exp\bigl(s,\cos(m,\theta_{y})\bigr)
    + \sum_{j \neq y} \exp\bigl(s,\cos(\theta_j)\bigr)}.
    $$
    • 角度を乗算マージン $m$ で変形
  • 特徴
    • 強いマージン効果だが学習の安定化が課題

5. 手法比較まとめ

手法 損失 入力形式 ハイパラ感度 特徴
Siamese Network Contrastive Loss 2点ペア シンプル,初期収束が速い
Triplet Loss Triplet Loss 3点トリプレット 汎化性高い,Hard-Mining が鍵
ArcFace Angular Margin Softmax 1点+FC+ヘッド 顔認証発祥,角度分離に特化
CosFace Cosine Margin Softmax 1点+FC+ヘッド 中高 実装が簡単,余弦マージン
SphereFace Multiplicative Angular Margin Softmax 1点+FC+ヘッド 非常に高 強いマージン効果,学習安定化要注意

6. おわりに

第1回では「計量学習の背景」と「代表的5手法の基礎理論」を解説しました.
次回「実装編」では,PyTorch コードの構造,設定ファイル例,実験結果のプロット方法などを詳しくご紹介します.
お楽しみに!


参考文献・関連リンク

  • Hadsell et al., Dimensionality Reduction by Learning an Invariant Mapping (2006)
  • Schroff et al., FaceNet: A Unified Embedding for Face Recognition and Clustering (2015)
  • Deng et al., ArcFace: Additive Angular Margin Loss for Deep Face Recognition (2019)
  • Wang et al., CosFace: Large Margin Cosine Loss for Deep Face Recognition (2018)
  • Liu et al., SphereFace: Deep Hypersphere Embedding for Face Recognition (2017)
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?