【论文笔记】Additive Margin Softmax for Face Verification

参考文献:

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=1ni=1nloges(cosθyim)es(cosθyim)+cj=1,jyiescos(θj)

其中 s 是一个缩放因子,论文中固定为30。

2. 讨论

与L-Softmax/A-Softmax类似,作者也讨论了AM-Softmax的几何解释。同样的,m的取值大小也在控制着了分类边界的大小。两类分类吕,对于1类的分类边界从 WT1P0=WT2P0 变为了 WT1P0m=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函数的改进貌似简单,但是推导和证明还是有一定门槛。近段时间只是跟进大牛们的工作都已经觉得节奏很快,更何况是自己要思考和实践创新方法了。

### 回答1: ArcFace是一种用于深度人脸识别的加性角度边界损失函数。它通过将人脸特征向量映射到一个高维球面空间中,来实现对人脸的准确识别。该方法在LFW、CFP和MegaFace等公共数据集上都取得了非常好的效果。 ### 回答2: ARC Face是一种深度人脸识别中用于改善性能的技术。它是一种针对原始Softmax损失函数的改进,旨在提高神经网络的识别度和准确性。 在传统的训练过程中,Softmax交叉熵损失函数用于训练神经网络,以使其对于每个身份有一个相应的输出。然而,这种方法对于复杂的人脸认证任务来说往往无法满足要求,因为它无法有效地区分相似人脸。因此,ARC Face损失函数在Softmax之上引入了一个加法角度间隔,并通过控制不同类别之间的间隔来提高网络的鉴别度和泛化能力。 通过加入额外的角度余弦项,ARC Face能够通过增加类别之间的间隔来增强模型的辨别力。这种损失函数的实现非常简单:对于每个数据点,它计算一个基本的Softmax损失,并在其之上添加一个额外的角度间隔,以确保相似人脸的辨别度足够高。因此,它可以很轻松地集成到任何现有的深度学习框架中。 另外,ARC Face的优点还包括它能够自适应调整当前的角度间隔,以确保其最大化对不同类别的特征表示的区分度。这使得ARC Face能够以更高的准确性从更小的数据集中进行训练,并因此需要更少的数据就能获得更好的性能。 总而言之,ARC Face是一种在深度人脸识别中广泛使用的技术,它通过在Softmax损失函数之上引入额外的角度间隔来增强模型的辨别力和泛化能力。这使得网络能够更好地区分相似人脸,从而提高了对复杂识别任务的性能。 ### 回答3: Arcface是一种深度人脸识别算法,是在原本的softmax分类器上加入了一项angular margin loss。此项损失函数在训练时能够直接优化人脸特征的分类聚合性,能够使得特征向量之间的欧氏距离与余弦相似性更加明显。 首先, Arcface对于标准的softmax分类器进行了改良,其中加入了一个角度边界的约束项。这个约束项可以调整样本的特征分布,以更好地区分不同的个体,从而提升模型的人脸识别精度。其中,角度边界的大小可以通过超参数进行调整。在正常的softmax分类器中,每个样本都被分类到一个特定的人脸类别中,而在Arcface中,每个样本都被分配到一个角度上。 其次,Arcface使用了余弦相似性来刻画不同的人脸特征之间的距离,这种距离度量方式更加适合高维特征向量的表达。余弦相似性一般값介于0和1之间,其值越高说明这两个特征向量越相似,相反,则说明它们越不相似。Arcface算法使用余弦距离来优化分类效果,这对于人脸识别任务来说是非常重要的,尤其是当特征向量非常长时。 最后,Arcface还使用了梯度下降来最小化损失函数,并通过不断调整超参数来优化算法的性能。除此之外,Arcface还采用一些常用的技术来提高算法的性能,比如数据增强以及批处理学习等等。 总之,Arcface采用了一种新的损失函数设计以及有效的余弦相似度度量方法,优化了人脸识别问题,大大提升了特征向量的可表示性,并在现实场景中应用广泛。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值