CosFace:Large Margin Cosine Loss

  • 《CosFace: Large Margin Cosine Loss for Deep Face Recognition》
    2018,Hao Wang et al. Tencent AI Lab

引言:
所有基于softmax loss改进的损失都有相同的想法:最大化类间方差和最小化类内方差
本文提出了一个新的损失函数:large margin cosine loss (LMCL)
更具体地说,我们通过对特征向量和权重向量进行L2归一化以消除径向变化,将softmax loss表示为cosine loss。在此基础上,引入余弦间隔(margin),进一步最大化角空间中的间距(角间距)。
实验结果表明,在MegaFace、YTF和LFW数据集上都达到了最好的效果。
CosFace框架:
CosFace:Large Margin Cosine Loss_第1张图片
Large Margin Cosine Loss(LMCL)算法流程:
参考:https://zhuanlan.zhihu.com/p/34717205
https://zhuanlan.zhihu.com/p/45153595
CosFace的思想和SphereFace的思想相近,其中主要做了一下两点的改进:
1.Loss的形式做了稍微的改变,将超参数m由乘法运算变成了减法运算。
2.不仅对权重进行了正则化,还对特征进行了正则化。

首先,看一下原始的softmax loss:
在这里插入图片描述
其中: f j f_{j} fj是当前的类别权重 W j W_{j} Wj和feature x的乘积,bias和以前一样置0.
在这里插入图片描述
然后,分别对W和X做L2 Normalization,使其Norm为1,但是考虑到X的Norm太小会导致训练loss太大(softmax的值太小),进行一次缩放,固定为大小S,所以修改后的loss如下,也称为NSL,Normalized version of Softmax Loss:
在这里插入图片描述
到目前为止,模型只是转换了学习空间而已,由最开始的优化内积变成了现在的优化角度,但是学习到的feature仍然只是separable,还没到达我们的目标:discriminative features。
所以我们引入一个cosine margin来进行度量的约束,让当前样本所属的类别在减去一个m之后仍然属于这个类别,即:
在这里插入图片描述
所以此时的loss变为LMCL:
CosFace:Large Margin Cosine Loss_第2张图片
注意,margin的相减操作是针对cosine的,所以scale的缩放仍然放在最外层。

对比不同的损失函数
针对目前出现的几中修改后的loss,进行一个比较,采用二分类进行分析:

CosFace:Large Margin Cosine Loss_第3张图片
Softmax Loss
决策边界为:
在这里插入图片描述
如上图所示,可以看出决策边界由权值变量和角度的cosine值一起决定,这样子就导致了,在cosine维度进行度量的时候,两个类别之间会出现重叠(margin<0)。

NSL:Normalized Softmax Loss
决策边界为:
在这里插入图片描述
而NSL loss是指权值和特征都进行正则化。在cosine维度进行度量的时候,两个类别之间有一个明确的决策边界。但是,由于边界空间为0(margin=0),导致处于边缘的情况,很容易出现分类错误。

A-Softmax:
决策边界为:
在这里插入图片描述
A-Softmax是对角度theta进行约束,故呈现在cos(theta)的坐标中,是一个扇形页面分界区。但是A-Softmax的margin是不连续的,随着theta的降低,margin也在跟着减小,当theta等于0的时候margin甚至消失,另外,A-Softmax还需要解决非单调性问题。

LMCL,Large Margin Cosine Loss:
决策边界为:
在这里插入图片描述
LMCL却克服了上述loss的缺点,两个类别之间有一个明确的边界空间(margin>0),相对于前几种loss,有更好的鲁棒性。
注意,在LMCL中,作者证明了s的范围,如下所示:
在这里插入图片描述
实验
数据预处理: 使用MTCNN进行人脸定位和关键点检测,相似变换进行校正,缩放到112x96,后-127.5/128进行归一化处理。
探索性尝试:
Effect of m.
CosFace:Large Margin Cosine Loss_第4张图片
Effect of Feature Normalization.

CosFace:Large Margin Cosine Loss_第5张图片
和不同的损失函数进行比较:
CosFace:Large Margin Cosine Loss_第6张图片
在megaface还有LFW上都是state-of-art。

总结:
我们提出了一种新的方法,称为LMCL,用于指导深层CNN学习高维的人脸特征。


注:博众家之所长,集群英之荟萃。

你可能感兴趣的:(损失函数)