Center Loss(ECCV2016)
论文地址:
http://ydwen.github.io/papers/WenECCV16.pdfydwen.github.io首先在每一个类别学习一个类中心(一个和特征同一个维度的向量),在训练过程,我们同事更新这个类中心,并最小化深度特征和对应类中心的距离。作者在论文中使用了softmax loss和center loss联合训练,并设置一个超参数用于平衡两者,以获得一个更加鲁棒的模型。
损失函数为:
其中m为batch_size的大小,
L-Softmax Loss (ICML 2016)
论文地址:
http://proceedings.mlr.press/v48/liud16.pdfproceedings.mlr.press最初是的Softmax使得
其中
其中
我们可以对比一下L-Softmax和原来Softmax的区别:
为了方便进行反向传播,论文对
为了可以正常的正向传播和反向传播,我们使用
上面的公式就是倍角公式的一种?神奇的数学,哈哈!至于如何求偏导那就看论文吧!
A-Softmax Loss (CVPR2017)
论文地址:
SphereFace: Deep Hypersphere Embedding for Face Recognitionarxiv.org首先我们再次来看原始的Softmax函数,其方程为:SphereFace: Deep Hypersphere Embedding for Face Recognition首先我们再次来看原始的Softmax函数,其方程为:
其中
接着我们再加入上一个L-Softmax的决策边界,使得类间更加分得开,这样就可以得到A-Softmax Loss,其决策边界为:
由于L-Softmax会同时从角度和权重长度上区分不同类别,而A-Softmax将权重进行归一化,并使bias为零,只从角度上去区别不同类别!
AM-Softmax Loss (IPSL 2018)
论文地址:
Additive Margin Softmax for Face Verificationarxiv.org在这里,我们把全连接层的输入
与A-Softmax相比,仅仅把原来的
ArcFace (CVPR2019)
论文地址:
ArcFace: Additive Angular Margin Loss for Deep Face Recognitionarxiv.orgArcFace这个网络模型,很早就已经关注了,近几天去查了一下,已经被CVPR2019收录,看到人脸识别的各大榜单,基本上都是基于Arcface来进行的,作者认为角度余量比余弦余量更加重要,所以对AM-Softmax进行了改进,得到如下loss函数:ArcFace: Additive Angular Margin Loss for Deep Face RecognitionArcFace这个网络模型,很早就已经关注了,近几天去查了一下,已经被CVPR2019收录,看到人脸识别的各大榜单,基本上都是基于Arcface来进行的,作者认为角度余量比余弦余量更加重要,所以对AM-Softmax进行了改进,得到如下loss函数:
本质上只是把AM-Softmax中的
精度比较
参考链接
【1】https://blog.csdn.net/Fire_Light_/article/details/79599020
【2】Slumbers:人脸识别损失函数综述(附开源实现)