用于人脸识别的损失函数,有Softmax,Contrastive Loss,Triplet Loss,Center Loss,Norm Face,Large-Margin Loss,A-Softmax Loss,InsightFace等等,这篇文章简单聊聊近年的margin损失函数。
margin损失函数:
- Large-margin Softmax(L-Softmax)
- Sphereface(A-Softmax)
- Additive Margin Softmax(AM-Softmax)
- CosFace(Large Margin Cosine Loss)
- InsightFace(ArcFace)
1.Large-margin Softmax(L-Softmax)
论文:Large-Margin Softmax Loss for Convolutional Neural Networks
定义:
其中,
这张图显示的是不同softmax loss和L-Softmax loss学习到的cnn特征分布。第一列是softmax,第2列是L-Softmax loss在参数m取不同值时的分布。通过可视化特征可知学习到的类间的特征是比较明显的,但是类内比较分散。而large-margin softmax loss则类内更加紧凑。
Softmax的分类面只有一个面,而L-softmax在Softmax的基础上对W和x的角度引入正整数扩充m,使分类条件更加严苛,此时分类面变成了两个,并且两个面中间存在(m-1)倍角度的间隙,即命名中Large-Margin的由来。
2.Sphereface(A-Softmax)
论文:SphereFace: Deep Hypersphere Embedding for Face Recognition
定义:
其中,
,
and
当m=1时,A-softmax loss就会变成modified softmax loss。当m增大时,损失函数最优化的难度越大,形成的角度距离越大。当m=1时,角度距离为0. 从决策函数角度解释A-softmax loss,A-softmax loss 对于不同的类别采用了不同的决策函数,每个决策函数比原始的更加严格,因而产生了角度距离。最优化A-Softmax损失本质上是使得学习到的特征在超球面上更加具有可区分性。
3.Additive Margin Softmax(AM-Softmax)
论文:Additive Margin Softmax for Face Verification
定义:
在SphereFace的基础上,将乘性margin改成了加性margin,并在权值W归一化的基础上对特征f也做了归一化,采用固定尺度因子s=30,相比SphereFace性能有提升,最重要的是训练难度大幅降低。
4.CosFace(Large Margin Cosine Loss)
论文:CosFace: Large Margin Cosine Loss for Deep Face Recognition
定义:
其中,
与AM-Softmax完全一样,同样的加性margin,同样的特征归一化,权值W和特征f都进行了正则化。
5.InsightFace(ArcFace)
论文:ArcFace: Additive Angular Margin Loss for Deep Face Recognition
定义:
首先,原名为ArcFace,因与虹软的人脸识别SDK重名,故改名为InsightFace。
在SphereFace的基础上,同样改用加性margin但形式略有区别, 变成了 ,特征也做了归一化,固定因子s=64。在基于L2正则化权重和特征的角度空间中,直接最大化决策边界。相比于加性margin和乘性margin,InsightFace提出的监督信号更倾向于角度上的分解,有更好的几何解析能力,重要的是,在基于L2正则化权重和特征的角度空间中,直接最大化决策边界,使其能获得更具有判别能力的特征。