・Siamese Net (contrastive loss)
- 2種類のInput
- 同じラベルの時は近く、
違うラベルの時は遠く学習
- ユークリッド距離
(参考)
Siamese Neural Networks for One-shot Image Recognition
Dimensionality Reduction by Learning an Invariant Mapping
Trains a Siamese MLP on pairs of digits from the MNIST dataset.
(引用)
A Deep Siamese Neural Network Learns the Human-Perceived Similarity Structure of Facial Expressions Without Explicit Categories
Slide 10
Slide 10 text
・Triplet Network
- 3種類のInput
- 同じラベルとは近く、違うラベルとは遠くなる
ように同時に学習
- ユークリッド距離
良い感じにペア選ぶの難しい!
(引用)
DEEP METRIC LEARNING USING TRIPLET NETWORK
(参考)
Deep Metric Learning の定番⁈ Triplet Lossを徹底解説
Slide 11
Slide 11 text
・Center Loss
- 2種類のloss
- 同じクラスのデータがコンパクトにな
るように学習
- ユークリッド距離
(引用)
A Discriminative Feature Learning Approach for Deep Face Recognition
(参考)
Center lossを読んでみた_20170618@abeja
Slide 12
Slide 12 text
・Center Loss
- 2種類のloss
- 同じクラスのデータがコンパクトにな
るように学習
(引用)
A Discriminative Feature Learning Approach for Deep Face Recognition
(参考)
Center lossを読んでみた_20170618@abeja
ユークリッド距離で考えるの、本当
に適しているのか?
Slide 13
Slide 13 text
・SphereFace:角度による距離学習
- Softmax Lossによって学習された特徴量は、本質的には角度に
よって分布している。 Center Lossのようにユークリッド距離を元に
した方法は適さない。
(引用)
SphereFace: Deep Hypersphere Embedding for Face Recognition
Slide 14
Slide 14 text
・SphereFace
(引用)
SphereFace: Deep Hypersphere Embedding for Face Recognition
それぞれのクラスの確率 Decision boundary (決定境界)
(p1 = p2 となるところ)
決定境界
この決定境界よりも自分のクラスの方に近
づくように学習は進んでいく。
Slide 15
Slide 15 text
・SphereFace
(引用)
SphereFace: Deep Hypersphere Embedding for Face Recognition
このように置くと...
θはxとWの間の角度!!!
Slide 16
Slide 16 text
・SphereFace
(引用)
SphereFace: Deep Hypersphere Embedding for Face Recognition
角度によって決定境界が決まる!
θはxとWの間の角度!!!
Slide 17
Slide 17 text
・SphereFace
(引用)
SphereFace: Deep Hypersphere Embedding for Face Recognition
決定境界はW1とW2の二等分線
角度によって決定境界が決まる!
Slide 18
Slide 18 text
・SphereFace
(引用)
SphereFace: Deep Hypersphere Embedding for Face Recognition
Slide 19
Slide 19 text
・SphereFace
(引用)
SphereFace: Deep Hypersphere Embedding for Face Recognition
良い感じにMarginを与える!!!
・SphereFace
(引用)
SphereFace: Deep Hypersphere Embedding for Face Recognition
その結果、同じクラス内の角度の幅が狭くなり、クラ
ス間の角度が大きくなる。
Slide 27
Slide 27 text
・SphereFace
(引用)
SphereFace: Deep Hypersphere Embedding for Face Recognition
Slide 28
Slide 28 text
・SphereFaceの推論
(引用)
SphereFace: Deep Hypersphere Embedding for Face Recognition
推論するときは、各クラスの訓練データから抽出した特徴量ベクトルの重心と、テ
ストデータの特徴量ベクトルを Cosine類似度で測る。値が 1に近ければ、そのクラ
スとなす角が小さい、すなわち距離が近いということになる。
黄緑クラスの訓練
データから抽出した
特徴量ベクトルの重
心
テストデータの特
徴量ベクトル
この2つのベクトルがな
す角がどれくらい小さい
かを、Cosine類似度で
求める!
Slide 29
Slide 29 text
・SphereFaceのまとめ
(引用)
SphereFace: Deep Hypersphere Embedding for Face Recognition
Slide 30
Slide 30 text
・CosFace
(引用)
CosFace: Large Margin Cosine Loss for Deep Face Recognition
L2-normalizationすることで、xも
Wも同じ超球面上にくる。(2次元
だったら単位円上のベクトルにな
る。)
Slide 31
Slide 31 text
・CosFace
(引用)
CosFace: Large Margin Cosine Loss for Deep Face Recognition
s:softmaxの温度パラメータ
本来は少しでも決定境界よ
り自分のクラス側にきたら、
cosθ1はcosθ2より大きくな
る。
cosθ1からmarginを引くことで
(cosθ1 - m)、xはよりW1に近づか
ないとcosθ2より大きくならな
い!!