【论文笔记】Additive Margin Softmax for Face Verification
2018-01-28 21:28
483 查看
参考文献:
Wang F, Liu W, Liu H, et al. Additive Margin Softmax for Face Verification[J]. arXiv preprint arXiv:1801.05599, 2018.简介
严格意义上,这篇还不算一篇正式的论文,只能算是一篇技术报告。但是谁让作者太牛呢(分别是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和f的cos距离变为cos(mθ),通过m 来调节特征间的距离。与前两者类似,AM-Softmax将cos(θ)的式子改写为:
Ψ(θ)=cos(θ)−m
上式是一个单调递减的函数,且比L-Softmax/A-Softmax所用的 Ψ(θ)在形式和计算时更为简单。
除了将b=0, ||W||=1,作者进一步将||x||=1,最终的AM-Softmax写为:
LAMS=−1n∑i=1nloges⋅(cosθyi−m)es(cosθyi−m)+∑cj=1,j≠yies⋅cos(θj)
其中s是一个缩放因子,论文中固定为30。
2. 讨论
与L-Softmax/A-Softmax类似,作者也讨论了AM-Softmax的几何解释。同样的,m的取值大小也在控制着了分类边界的大小。两类分类吕,对于1类的分类边界从WT1P0=WT2P0变为了WT1P0−m=WT2P0。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函数,应该也存在其它的可能来改进Psi(θ);如果能够动态自适应地调节类间边界也是一个很有意思和值得讨论的课题。参考文献
【1】Ranjan R, Castillo C D, Chellappa R. L2-constrained softmax loss for discriminative face verification[J]. arXiv preprint arXiv:1703.09507, 2017.PS
Loss函数的改进貌似简单,但是推导和证明还是有一定门槛。近段时间只是跟进大牛们的工作都已经觉得节奏很快,更何况是自己要思考和实践创新方法了。相关文章推荐
- 人脸识别(三):2017 Additive Margin Softmax for Face Verification
- AM-Softmax的keras实现: 《Additive Margin Softmax for Face Verification》
- 【论文笔记】Large-Margin Softmax Loss for Convolutional Neural Networks
- 论文阅读:ICML 2016 Large-Margin Softmax Loss for Convolutional Neural Networks
- Sampled Softmax 论文笔记:On Using Very Large Target Vocabulary for Neural Machine Translation
- Sampled Softmax 论文笔记:On Using Very Large Target Vocabulary for Neural Machine Translation
- SphereFace: Deep Hypersphere Embedding for Face Recognition(人脸识别论文笔记)
- FaceBook 论文:DeepFace: Closing the Gap to Human-Level Performance in Face Verification 笔记
- 论文《A Convolutional Neural Network Cascade for Face Detection》笔记
- 【论文笔记】Leveraging Datasets with Varying Annotations for Face Alignment via Deep Regression Network
- 《Large-Margin Softmax Loss for Convolutional Neural Networks》
- 【翻译+原创】DeepFace: Closing the Gap to Human-Level Performance in Face Verification 论文笔记
- 【论文笔记】FaceNet: A Unified Embedding for Face Recognition and Clustering
- 关于sampling softmax 中重要性采样的论文阅读笔记
- FaceNet: A Unified Embedding for Face Recognition and Clustering论文笔记
- 【论文笔记】HyperFace: ADeep Multi-task Learning Framework for Face Detection
- 大裕量Softmax 损失函数--Large-Margin Softmax Loss for Convolutional Neural Networks
- 人脸识别方向论文笔记(1)-- A Light CNN for Deep Face Representation With Noisy Labels
- 人脸识别方向论文笔记(3)-- Sparsifying Neural Network Connections for Face Recognition
- 论文笔记 | FaceNet: A Unified Embedding for Face Recognition and Clustering