基礎編 ― 深層学習における代表的計量学習手法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)
-
構成
- 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
-
構成
-
アンカー, ポジティブ, ネガティブ の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$ 以上離す
-
アンカー, ポジティブ, ネガティブ の3点を同時に入力
-
Hard-Mining
- バッチ内で「最も近い負例/最も遠い正例」を選んで損失を計算
4. Margin-Softmax 系手法
分類器+マージン付きクロスエントロピーで,間接的に埋め込みを分離します.
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)