概要
これまで、顔認証における様々な損失関数が提案された。最適化手法における損失関数としては現在、Softmax,Contrastive Loss,Triplet Loss,Center Loss,Norm Face,Large-Margin Loss,A-Softmax Lossなどの手法がある。近年の手法の遷移は下記となる。その中、2017以降の主流となっているのはマージンベースな手法である。
前提知識
- softmax loss
定義:Softmax Loss = FC + Softmax + Cross-Entropy
「Large-Margin Softmax Loss for Convolutional Neural Networks」は初めて、softmax lossをcross entropy、softmax関数、最後の全結合層の組み合わせとして定義した。それ以後の論文はこの式を利用して、様々な亜種を提案した。
マージンベースな手法
下記、いくつかのロスを簡単に整理した。
-
Large-Margin Softmax(L-Softmax)
論文:Large-Margin Softmax Loss for Convolutional Neural Networks
定義:
ここでは、
この図は、softmax loss(m=1)またはL-Softmax loss(m=2,3,4)で学習した特徴を可視化した結果である。クラス内のコンパクトさとクラス間の分離性を高める。直接マージンを求める訳ではなく、あるクラスに属するデータが分離平面上でできるだけ狭い角度に収まるようにする。 -
Sphereface(A-Softmax)
論文:SphereFace: Deep Hypersphere Embedding for Face Recognition
定義:
ここでは、
これはL-softmaxで出てくる重み$W$を正規化する。$m=1$のとき、A-Softmax lossはmodified softmax lossになる。
-
Additive Margin Softmax(AM-Softmax)
論文:Additive Margin Softmax for Face Verification
定義:
SphereFaceをベースにして、マージンの取り方は掛け算から足し算へ変更して、重み$W$と特徴ベクトルの両方を正規化し、スケーリング係数$s=30$を設定することによって、トレーニングが容易にできるようになった。 -
CosFace(Large Margin Cosine Loss)
論文:CosFace: Large Margin Cosine Loss for Deep Face Recognition
定義:
ここでは、
AM-Softmaxと完全に同じで、重み$W$と特徴ベクトルを正規化している。 -
InsightFace(ArcFace)
論文:ArcFace: Additive Angular Margin Loss for Deep Face Recognition
定義:
特徴量を l2-normalize してそれと列ごとに l2-normalize した重み$W$を掛けて、それぞれの要素が $cosθ_i$ として表せる特徴量を作る。この要素数は最終的な予測クラス数と同じになっていて、GroundTruth のラベルに対応する要素には $cos(θ + m)$ とマージンを入れることでクラス間をより分離するようにして、この特徴量を softmax につなぐということをする。
まとめ
Softmax、SphereFace、CosFace、ArcFaceが違いを比較する。
ここで、m1 が SphereFace で m2 が ArcFace で m3 が CosFace の寄与となっている。
マージンがどのように取られるかは手法によって振る舞いが異なり、ArcFace は角度そのものにマージンを加えているので、下図のように線形にマージンが確保されている。