损失函数之AMSoftmax Loss

深度学习交流QQ群:116270156

论文链接:Additive Margin Softmax for Face Verification 
代码链接:https://github.com/happynear/AMSoftmax

简介

严格意义上,这篇还不算一篇正式的论文,只能算是一篇技术报告。但是谁让作者太牛呢(分别是Norm Face 和A-Softmax的一作),当然不等论文正式成型就赶紧消化一下。

之前的L-Softmax, A-Softmax引入了角间距的概念,用于改进传统的softmax loss函数,使得人脸特征具有更大的类间距和更小的类内距。作者在这些方法的启发下,提出了一种更直观和更易解释的additive margin Softmax (AM-Softmax)。同时,本文强调和讨论了特征正则化的重要性。实验表明AM-Softmax在LFW和MegaFace得到了比之前方法更好的效果。相关代码也公布在网上。

算法介绍

1. 算法流程

AM-Softmax,单看名字,就能意会它和A-Softmax有关联。之前我在博客里写过L-Softmax、A-Softmax,因此这里直接跳过这两者的介绍,直奔主题。 

L-Softmax和A-Softmax均是引入了一个参数因子 m 将权重 W 的cos距离变为cos(mθ) ,通过 m 来调节特征间的距离。与前两者类似,AM-Softmax将cos( θ) 的式子改写为: 
上式是一个单调递减的函数,且比L-Softmax/A-Softmax所用的 Ψ(θ)在形式和计算时更为简单。 
除了将 b=0 , ||W||=1,  作者进一步将||x||=1 ,最终的AM-Softmax写为: 
其中 s 是一个缩放因子,论文中固定为30。

2. 讨论

与L-Softmax/A-Softmax类似,作者也讨论了AM-Softmax的几何解释。同样的,m的取值大小也在控制着了分类边界的大小。两类分类吕,对于1类的分类边界从变为了。3D解释图很好看,但是之前已经贴过两次,这里就不再啰嗦了。

这里写图片描述

另外,作者还讨论了什么时候该 加入feature normalization。本篇论文与NormFace一样,将 ||x||=1在论文【1】中提到,质量较差的人脸图片的feature norm越小。在进行了feature normalizaiton后,这些质量较差的图片特征会产生更大的梯度,导致网络在训练过程中将更多的注意力集中在这些样本上。因此,对于数据集图片质量较差时,更适合采用feature normalization。后续的实验也将证明这一点。 

这里写图片描述

3. 实验

与SphereFace的实验的数据设置相同,本文与其它Loss函数进行了比较,均取得了最好的结果。 
这里写图片描述
值得注意的是,在LFW集上,未采用feature normalization比采用了feature normalizaiton的结果更好,作者分析是由于LFW的数据质量较高。

总结

本文在特征和权值正则化的情况下,提出了一种 additive margin Softmax,更直观也更易解释,同时也取得了比A-Softmax更好的实验结果。m可以用乘法、减法加入softmax函数,应该也存在其它的可能来改进;如果能够动态自适应地调节类间边界也是一个很有意思和值得讨论的课题。

参考文献

【1】Ranjan R, Castillo C D, Chellappa R. L2-constrained softmax loss for discriminative face verification[J]. arXiv preprint arXiv:1703.09507, 2017.

猜你喜欢

转载自blog.csdn.net/sinat_24143931/article/details/79737649