《AdaCos: Adaptively Scaling Cosine Logits for Effectively Learning Deep Face Representations》论文阅读

AdaCos是一种新的基于余弦的softmax损失,它无需手动调整超参数,通过动态调整尺度参数在训练过程中提供有效的监督。论文分析了余弦softmax损失中的超参数对模型训练和性能的影响,提出AdaCos损失可以实现稳定和高效的训练,提高人脸识别的准确性,且优于现有的softmax损失方法。
摘要由CSDN通过智能技术生成

AdaCos: Adaptively Scaling Cosine Logits for Effectively Learning Deep Face Representations

CVPR2019的一篇关于人脸识别的论文
地址:http://openaccess.thecvf.com/content_CVPR_2019/papers/Zhang_AdaCos_Adaptively_Scaling_Cosine_Logits_for_Effectively_Learning_Deep_Face_CVPR_2019_paper.pdf

Abstract

基于余弦的softmax损失[21,28,39,8]及其变体[40,38,7]在基于深度学习的人脸识别方面取得了巨大成功。然而,这些损失中的超参数设置对优化路径以及最终识别性能具有显着影响。手动调整这些超参数很大程度上依赖于用户体验,并且需要许多训练技巧。

在本文中,我们通过分析它们如何调整预测的分类概率,深入研究了基于余弦的softmax损失的两个重要超参数,尺度参数和角度边界参数的影响。基于这些分析,我们提出了一种新的基于余弦的softmax损失AdaCos,它不需要超参数,并利用自适应比例参数在训练过程中自动加强训练监督。我们将建议的AdaCos损失应用于大规模人脸验证和识别数据集,包括LFW [13],MegaFace [16]和IJB-C [23] 1:1验证。我们的研究结果表明,使用AdaCos损失训练深度神经网络是稳定的,并且能够实现高人脸识别精度。我们的方法在所有三个数据集上都优于最先进的softmax损失[28,40,7]。

1. Introduction

近年来见证了深度卷积神经网络(CNNs)[17,13,25,35]在显着提高一对一(1:1)面部验证和一对多(1:N)性能方面取得的突破)面部识别任务。深层CNN的成功主要归功于三个因素:巨大的训练数据[9],深度神经网络架构[10,33]和有效损失函数[28,21,7]。现代人脸数据集,如LFW [13],CASIA-WebFace [43],MS1M [9]和MegaFace [24,16],包含大量身份,可以训练深度网络。最近的一些研究,如DeepFace [36],DeepID2 [31],DeepID3 [32],VGGFace [25]和FaceNet [29],证明正确设计的网络架构也可以提高性能。

除了大规模的训练数据和深层结构外,训练损失在学习准确的人脸识别模型中也起着关键作用[41,6,11]。与图像分类任务不同,人脸识别本质上是一个开放集识别问题,其中测试类别(身份)通常与训练中使用的不同。为了应对这一挑战,大多数基于深度学习的人脸识别方法[31,32,36]利用CNN从面部图像中提取特征表示,并采用度量(通常是余弦距离)来估计推理期间人脸对之间的相似性。

然而,在具有softmax交叉熵损失函数1的方法中没有充分考虑这种推断评估度量,其使用softmax损失训练网络但是使用余弦相似性来执行推断。为了缓解训练和测试之间的差距,最近的工作[21,28,39,8]直接优化了基于余弦的softmax损失。此外,基于角度边界的项[19,18,40,38,7]通常被整合到基于余弦的损失中,以最大化不同身份之间的角度边界。这些方法改善了开放式设置中的面部识别性能。尽管取得了成功,但基于余弦的损失(及其引入边际的变量)的训练过程通常很棘手且不稳定。收敛和性能高度依赖于损失的超参数设置,这是通过大量试验凭经验确定的。此外,这些超参数的细微变化可能会使整个训练过程失败。

在本文中,我们研究了最先进的基于余弦的softmax损失[28,40,7],特别是那些旨在最大化角度边缘,以了解它们如何提供训练深度神经网络的监督。每个功能通常包括几个超参数,这些参数对最终性能具有实质性影响并且通常难以调整。必须多次重复使用不同设置的训练才能获得最佳性能。我们的分析表明,基于余弦的损失中的不同超参数实际上对控制样本的预测类概率具有相似的影响。不正确的超参数设置会导致丢失功能为优化网络提供不足的监控。

基于上述观察,我们提出了一种基于自适应余弦的损失函数AdaCos,它可以自动调整超参数并在训练期间生成更有效的监督。所提出的AdaCos动态地缩放训练样本和相应的类中心向量(softmax之前的完全连接向量)之间的余弦相似度,使得它们的预测类概率满足这些余弦相似性的语义含义。此外,AdaCos可以使用流行的深度学习库[26,1,5,15]中的内置函数轻松实现。所提出的AdaCos损失导致更快和更稳定的训练收敛,而不会引入额外的计算开销

为了证明所提出的AdaCos损失函数的有效性,我们在几个面部基准上进行了评估,包括LFW面部验证[13],MegaFace一百万鉴定[24]和IJB-C [23]。我们的方法在所有这些基准测试中都优于基于余弦的最先进的损失。

2. Related Works

余弦相似性推论。为了学习深度表示,通常采用特征归一化损失来提高识别准确度。 Coco损失[20,21]和NormFace [39]研究了归一化的影响,并通过重新设计softmax损失和度量学习提出了两种策略。同样,Ranjan等人。在[28]中也讨论了这个问题,并对学习的特征向量进行了归一化,以限制它们位于超球面上。此外,与这些硬归一化相比,环损失[45]提出了一种采用凸形公式的软特征归一化方法。

基于Margin-based的softmax损失。早些时候,大多数人脸识别方法都采用了以度量为目标的损失函数,如三重[41]和对比度损失[6],它们利用欧几里德距离来测量特征之间的相似性。利用这些工作,中心损失[42]和距离损失[44]被提出通过最小化每个类别内的距离来减少类内变化[2]。在此之后,研究人员发现欧几里德空间中的约束边界不足以实现最优泛化。然后提出基于角度边缘的损失函数来解决该问题。角度约束被整合到softmax损失函数中,以通过L-softmax [19]和A-softmax [18]来改善学习面部表示。与上述方法相比,CosFace [40],AM-softmax [38]和ArcFace [7]直接最大化了角度边缘,并采用了更简单,更直观的损失函数。

自动超参数调整。算法的性能高度依赖于超参数设置。网格和随机搜索[3]是最广泛使用的策略。对于更多自动调整,基于顺序模型的全局优化[14]是主流选择。通常,它使用多个超参数设置执行推理,并根据推断结果选择下一轮测试的设置。贝叶斯优化[30]和树形结构的parzen估计方法[4]是两种着名的基于序列模型的方法。然而,这些算法基本上运行多个试验来预测优化的超参数设置。

3. Investigation of hyperparameters in cosinebased softmax losses

近年来,最先进的基于余弦的softmax损失,包括L2-softmax [28],CosFace [40],ArcFace [7],显着提高了深部识别的性能。然而,这些损失的最终表现受到其超参数设置的显着影响,这些设置通常难以调整并且在实践中需要多次试验。我们分析了两个最重要的超参数,即基于余弦的损失中的缩放参数s和余量参数m。特别地,我们深入研究了它们对softmax后的预测概率的影响,softmax是更新整个神经网络的监督信号。

x ⃗ i \vec{x}_{i} x i 表示具有大小N的当前小批量的第i个面部图像的深度表示(特征),并且yi是对应的标签。可以通过softmax函数估计小批量中所有N个样本的预测分类概率 P i , j P_{i, j} Pi,j:
P i , j = e f i , j ∑ k = 1 C e f i , k ( 1 ) P_{i, j}=\frac{e^{f_{i, j}}}{\sum_{k=1}^{C} e^{f_{i, k}}} (1) Pi,j=k=1Cefi,kefi,j1
其中 f i , j f_{i, j} fi,j是用作softmax的输入的logit, P i , j P_{i, j} Pi,j表示将 x ⃗ i \vec{x}_{i} x i 分配给类j的softmax标准化概率,C是类的数量。与当前小批量相关的交叉熵损失是
L C E = − 1 N ∑ i = 1 N log ⁡ P i , y i = − 1 N ∑ i = 1 N log ⁡ e f i , y i ∑ k = 1 C e f i , k ( 2 ) \mathcal{L}_{\mathrm{CE}}=-\frac{1}{N} \sum_{i=1}^{N} \log P_{i, y_{i}}=-\frac{1}{N} \sum_{i=1}^{N} \log \frac{e^{f_{i, y_{i}}}}{\sum_{k=1}^{C} e^{f_{i, k}}} (2) LCE=N1i=1NlogPi,yi=N1i=1Nlogk=1Cefi,kefi,yi2
传统的softmax损失和最先进的基于余弦的softmax损失[28,40,7]以不同的方式计算logits f i , j f_{i, j} fi,j。在传统的softmax损失中,获得logits f i , j f_{i, j} fi,j作为feature x ⃗ i \vec{x}_{i} x i 和j-th类权重之间的内积Wj为 f i , j = W ⃗ j T x ⃗ i f_{i, j}=\vec{W}_{j}^{\mathrm{T}} \vec{x}_{i} fi,j=W jTx i。在基于余弦的softmax损失[28,40,7]中,余弦相似度由下式计算 cos ⁡ θ i , j = ⟨ x ⃗ i , W ⃗ j ⟩ / ∥ x ⃗ i ∥ ∥ W ⃗ j ∥ \cos \theta_{i, j}=\left\langle\vec{x}_{i}, \vec{W}_{j}\right\rangle /\left\|\vec{x}_{i}\right\|\left\|\vec{W}_{j}\right\| cosθi,j=x i,W j/x iW j。对数 f i , j f_{i, j} fi,j计算为 f i , j f_{i, j} fi,j = s·cosθi,j,其中s是尺度超参数。为了在表示上强制使用角度边距,ArcFace [7]将损失修改为以下形式:
f i , j = s ⋅ cos ⁡ ( θ i , j + 1 { j = y i } ⋅ m )  cosFace  [ 40 ]  uses  f i , j = s ⋅ ( cos ⁡ θ i , j − 1 { j = y i } ⋅ m ) \begin{array}{c}{f_{i, j}=s \cdot \cos \left(\theta_{i, j}+\mathbb{1}\left\{j=y_{i}\right\} \cdot m\right)} \\ {\text { cosFace }[40] \text { uses }} \\ {f_{i, j}=s \cdot\left(\cos \theta_{i, j}-\mathbb{1}\left\{j=y_{i}\right\} \cdot m\right)}\end{array} fi,j=scos(θi,j+1{ j=yi}m) cosFace [40] uses fi,j=s(cosθi,j1{ j=yi}m)
其中m是margin。当j = yi时,指标函数✶{j = yi}返回1,否则返回0。所有基于边际的变量通过减去边际m来减少 f i , y i f_{i, yi} fi,yi与正确的类相关联。与没有保证金的损失相比,基于margin的变量要求 f i , y i f_{i, yi} fi,yi比 j ! = yi的其他 f i , j f_{i, j} fi,j大于指定的m。

直观地,一方面,参数s扩大了余弦距离的窄范围,使得logits更具辨别力。另一方面,参数调整不同类之间的余量以增强分类能力。这些超参数最终会影响 P i , y i P_{i, yi} Pi,yi。根据经验,理想的超参数设置应该有助于 P i , j P_{i, j} Pi,j完成以下两个属性:(1)每个类(标识)的预测概率 P i , y i P_{i, yi} Pi,yi应该跨越范围[0,1]: P i , y i P_{i, yi} Pi,yi的下边界应该接近0而上边界接近1; (2) P i , y i P_{i, yi} Pi,yi的变化曲线应该在 θ i , y i \theta_{i, y_{i}} θ<

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值