Circle Loss: A Unified Perspective of Pair Similarity Optimization 圆损失函数,统一优化视角,革新深度特征学习范式 CVPR 2020

Circle Loss: A Unified Perspective of Pair Similarity Optimization 圆损失函数,统一优化视角,革新深度特征学习范式 CVPR 2020_第1张图片
论文来源:CVPR 2020
论文链接

最近旷视做了一项非常fundamental的工作。简单来讲,原来特征学习有 2 种基本范式,分类学习和 pairwise 学习,人们普遍都觉得这两者虽然有联系,但是总体上仍是割裂的。旷视在这项工作中首次将两者放在一个统一的框架下,用一个general 的公式定义了这两种范式,且在这统一的公式下,获得了比两者各自最高水平方法都要好的性能。这项工作已经发表在CVPR 2020。

深度特征学习有两种基本范式,分别是使用类标签和使用正负样本对标签进行学习。使用类标签时,一般需要用分类损失函数(比如 softmax + cross entropy)优化样本和权重向量之间的相似度;使用样本对标签时,通常用度量损失函数(比如 triplet 损失)来优化样本之间的相似度。

这两种学习方法之间并无本质区别,其目标都是最大化类内相似度( s p s_p sp)和最小化类间相似度( s n s_n sn)。从这个角度看,很多常用的损失函数(如 triplet 损失、softmax 损失及其变体)有着相似的优化模式:

它们会将 s n s_n sn s p s_p sp组合成相似度对 (similarity pair)来优化,并试图减小( s n − s p s_n-s_p snsp)。在( s n − s p s_n-s_p snsp)中,增大 s p s_p sp等效于降低 s n s_n sn。这种对称式的优化方法容易出现以下两个问题,如图 1 (a) 所示。
Circle Loss: A Unified Perspective of Pair Similarity Optimization 圆损失函数,统一优化视角,革新深度特征学习范式 CVPR 2020_第2张图片
优化缺乏灵活性

s n s_n sn s p s_p sp上的惩罚力度是严格相等的。换而言之,给定指定的损失函数,在 s n s_n sn s p s_p sp上的梯度的幅度总是一样的。例如图 1(a)中所示的 A 点,它的 s n s_n sn已经很小了,可是, s n s_n sn会不断受到较大梯度。这样现象低效且不合理。

收敛状态不明确

优化 ( s n − s p s_n-s_p snsp) 得到的决策边界为 s n − s p = m s_n-s_p=m snsp=m(m 是余量)。这个决策边界平行于 s n = s p s_n=s_p sn=sp,维持边界上任意两个点(比如 T = ( 0.4 , 0.7 ) T=(0.4,0.7) T=(0.4,0.7) T ′ = ( 0.2 , 0.5 ) T'=(0.2,0.5) T=(0.2,0.5))的对应难度相等,这种决策边界允许模棱两可的收敛状态。比如, T T T T ′ T' T都满足了 s p − s n = 0.3 s_p-s_n=0.3 spsn=0.3的目标,可是比较二者时,会发现二者之间的分离量只有 0.1( s p ′ − s n = 0.1 s_p'-s_n=0.1 spsn=0.1),从而降低了特征空间的可分性。

1、简介

为此,旷视研究院仅仅做了一项非常简单的改变,把 ( s n − s p s_n-s_p snsp) 泛化为 ( α n s n − α p s p \alpha_ns_n-\alpha_ps_p αnsnαpsp),从而允许 s n s_n sn s p s_p sp能以各自不同的步调学习。

具体来讲,把 α n \alpha_n αn α p \alpha_p αp分别实现为 s n s_n sn s p s_p sp各自的线性函数,使学习速度与优化状态相适应。相似度分数偏离最优值越远,加权因子就越大。如此优化得到的决策边界为 α n s n − α p s p = m \alpha_ns_n-\alpha_ps_p=m αnsnαpsp=m,能够证明这个分界面是 ( s n , s p s_n,s_p sn,sp ) 空间中的一段圆弧,因此,这一新提出的损失函数称之为 Circle Loss,即圆损失函数。

由图 1(a) 可知,降低 ( s n − s p s_n-s_p snsp ) 容易导致优化不灵活(A、B、C 相较于 s n s_n sn s p s_p sp 的梯度都相等)以及收敛状态不明确(决策边界上的 T T T T ′ T' T都可接受);而在 Circle Loss 所对应的图 1 (b) 中,减小 ( α n s n − α p s p \alpha_ns_n-\alpha_ps_p αnsnαpsp ) 会动态调整其在 s n s_n sn s p s_p sp上的梯度,由此能使优化过程更加灵活。

对于状态 A,它的 s p s_p sp 很小(而 s n s_n sn 已经足够小),因此其重点是增大 s p s_p sp ;对于 B,它的 s n s_n sn很大 (而 s p s_p sp 已经足够大),因此其重点是降低 s n s_n sn 。此外,本文还发现,圆形决策边界上的特定点 T T T (圆弧与45度斜线的切点)更有利于收敛。因此,Circle Loss 设计了一个更灵活的优化途径,通向一个更明确的优化目标。

Circle Loss 非常简单,而它对深度特征学习的意义却非常本质,表现为以下三个方面:

1、统一的(广义)损失函数。从统一的相似度配对优化角度出发,它为两种基本学习范式(即使用类别标签和使用样本对标签的学习)提出了一种统一的损失函数;

2、灵活的优化方式。在训练期间,向 s n s_n sn s p s_p sp的梯度反向传播会根据权重 α n \alpha_n αn α p \alpha_p αp 来调整幅度大小。那些优化状态不佳的相似度分数,会被分配更大的权重因子,并因此获得更大的更新梯度。如图 1(b) 所示,在 Circle Loss 中,A、B、C 三个状态对应的优化各有不同。

3、明确的收敛状态。在这个圆形的决策边界上,Circle Loss 更偏爱特定的收敛状态(图 1 (b) 中的 T T T)。这种明确的优化目标有利于提高特征鉴别力。

2、统一的相似性优化视角

深度特征学习的优化目标是最大化 s p s_p sp,最小化 s n s_n sn 。在两种基本学习范式中,采用的损失函数通常大相径庭,比如大家熟知的 sofmax loss 和 triplet loss。

这里不去在意相似性计算的具体方式——无论是样本对之间的相似性(相似性对标签情况下)还是样本与类别代理之间的相似性(类别标签情况下)。本文仅仅做这样一个假设定义:给定特征空间中的单个样本 x x x,假设与 x x x相关的类内相似度分数有 K K K 个,与 x x x 相关的类间相似度分数有 L L L 个,分别记为 { s p i } ( i = 1 , 2 , ⋯   , K ) \{s_p^i\}(i=1,2,\cdots,K) {spi}(i=1,2,,K) { s n j } ( j = 1 , 2 , ⋯   , L ) \{s_n^j\}(j=1,2,\cdots,L) {snj}(j=1,2,,L)

为了实现最大化 s p s_p sp 与最小化 s n s_n sn 的优化目标,本文提出把所有的 s p s_p sp s n s_n sn 两两配对,并通过在所有的相似性对上穷举、减小二者之差,来获得以下的统一损失函数:
Circle Loss: A Unified Perspective of Pair Similarity Optimization 圆损失函数,统一优化视角,革新深度特征学习范式 CVPR 2020_第3张图片
这个公式仅需少量修改就能降级得到常见的 triplet 损失或分类损失,比如得到 AM-Softmax 损失:
Circle Loss: A Unified Perspective of Pair Similarity Optimization 圆损失函数,统一优化视角,革新深度特征学习范式 CVPR 2020_第4张图片
或 triplet 损失:
Circle Loss: A Unified Perspective of Pair Similarity Optimization 圆损失函数,统一优化视角,革新深度特征学习范式 CVPR 2020_第5张图片

3、Circle Loss:自定步调的加权方式

暂先忽略等式 (1) 中的余量项 m m m 并对 s n s_n sn s p s_p sp 进行加权,可得到新提出的 Circle Loss:
Circle Loss: A Unified Perspective of Pair Similarity Optimization 圆损失函数,统一优化视角,革新深度特征学习范式 CVPR 2020_第6张图片
再定义 s p s_p sp 的最优值为 O p O_p Op s n s_n sn 的最优值为 O n O_n On O n < O p O_nOn<Op 。当一个相似性得分与最优值偏离较远,Circle Loss 将分配较大的权重,从而对它进行强烈的优化更新。为此,本文以自定步调(self-paced)的方式给出了如下定义:
Circle Loss: A Unified Perspective of Pair Similarity Optimization 圆损失函数,统一优化视角,革新深度特征学习范式 CVPR 2020_第7张图片

4、类内余量和类间余量

不同于优化 ( s n − s p s_n-s_p snsp ) 的损失函数,在 Circle Loss 中, s n s_n sn s p s_p sp 是不对称的,本文为其各自定义了余量 Δ n \Delta_n Δn Δ p \Delta_p Δp ,这样可得到最终带余量的 Circle Loss:
Circle Loss: A Unified Perspective of Pair Similarity Optimization 圆损失函数,统一优化视角,革新深度特征学习范式 CVPR 2020_第8张图片
通过推导决策边界,本文进一步分析 ∆ n ∆_n n ∆ p ∆_p p。为简单起见,这里以二元分类的情况进行说明,其中决策边界是在 α n ( s n − Δ n ) − α p ( s p − Δ p ) = 0 \alpha_n(s_n-\Delta_n)-\alpha_p(s_p-\Delta_p)=0 αn(snΔn)αp(spΔp)=0 处得到。根据等式 (5) 和 (6) ,可得到决策边界:
Circle Loss: A Unified Perspective of Pair Similarity Optimization 圆损失函数,统一优化视角,革新深度特征学习范式 CVPR 2020_第9张图片
其中 C = ( O n − Δ n ) 2 + ( O p − Δ p ) 2 4 C=\frac{(O_n-\Delta_n)^2+(O_p-\Delta_p)^2}{4} C=4(OnΔn)2+(OpΔp)2

Circle Loss 有 5 个超参数,即 O p O_p Op O n O_n On γ \gamma γ Δ n \Delta_n Δn Δ p \Delta_p Δp 。通过将 O p = 1 + m O_p=1+m Op=1+m O n = − m O_n=-m On=m Δ p = 1 − m \Delta_p=1-m Δp=1m Δ n = m \Delta_n=m Δn=m 。可将等式 (7) 约简为:
Circle Loss: A Unified Perspective of Pair Similarity Optimization 圆损失函数,统一优化视角,革新深度特征学习范式 CVPR 2020_第10张图片
基于等式 (8) 定义的决策边界,可对 Circle Loss 进行另外一番解读。其目标是优化 s p → 1 s_p\to 1 sp1 s n → 0 s_n\to 0 sn0 。参数 m m m 控制着决策边界的半径,并可被视为一个松弛因子。
换句话说,Circle Loss 期望 s p i > 1 − m s_p^i>1-m spi>1m s n i < m s_n^isni<m 。因此,超参数仅有 2 个,即扩展因子 γ \gamma γ 和松弛因子 m m m

5、优势

Circle Loss 在 s n j s_n^j snj s p i s_p^i spi 上的梯度分别为:
Circle Loss: A Unified Perspective of Pair Similarity Optimization 圆损失函数,统一优化视角,革新深度特征学习范式 CVPR 2020_第11张图片
图 2© 在二元分类的实验场景中可视化了不同 m m m 值设置下的梯度情况,对比图 2(a) 和 (b) 的triplet 损失和 AMSoftmax 损失的梯度,可知 Circle Loss 有这些优势:在 s n s_n sn s p s_p sp 上能进行平衡的优化、梯度会逐渐减弱、收敛目标更加明确。
Circle Loss: A Unified Perspective of Pair Similarity Optimization 圆损失函数,统一优化视角,革新深度特征学习范式 CVPR 2020_第12张图片
上图的可视化结果表明,triplet 损失和 AMSoftmax 损失都缺乏优化的灵活性。它们相对于 s n s_n sn(左图)和 s p s_p sp(右图)的梯度严格相等,而且在收敛方面出现了陡然的下降(相似度配对 B)。比如,在 A 处,类内相似度分数 s p s_p sp 已接近 1 ,但仍出现了较大的梯度。此外,决策边界平行于 s p = s n s_p=s_n sp=sn ,这会导致收敛不明确。

相对而言,新提出的 Circle Loss 可根据相似性得分与最优值的距离,动态地为相似度分数分配不同的梯度。对于 A( s n s_n sn s p s_p sp 都很大),Circle Loss 的重点是优化 s n s_n sn ;对于 B,因为 s n s_n sn 显著下降,Circle Loss 会降低它的梯度,并因此会施加温和的优化。

Circle Loss 的决策边界是圆形的,与 s n − s p = m s_n-s_p=m snsp=m 直线有着明确的切点,而这个切点将成为明确的收敛目标。这是因为,对于同样的损失值,该切点具有最小的类间-类内差距,是最容易维持的。

6、实验

本文在三个特征学习任务(人脸识别,行人再识别,细粒度图像检索)上,对 Circle Loss 进行了全面评估,结果如下:

表 1:使用不同主干网络和损失函数在 MFC1 数据集上得到的识别 rank-1 准确度(%)
Circle Loss: A Unified Perspective of Pair Similarity Optimization 圆损失函数,统一优化视角,革新深度特征学习范式 CVPR 2020_第13张图片
表 2:使用 ResNet34 主干网络在 LFW、YTF 和 CFP-FP 上的人脸识别准确度
Circle Loss: A Unified Perspective of Pair Similarity Optimization 圆损失函数,统一优化视角,革新深度特征学习范式 CVPR 2020_第14张图片
表 3:在 IJB-C 1:1 验证任务上的真实接收率(%)比较
Circle Loss: A Unified Perspective of Pair Similarity Optimization 圆损失函数,统一优化视角,革新深度特征学习范式 CVPR 2020_第15张图片
表 4:在行人再识别任务上的 Circle 损失的评估,这里报告了 R-1 准确度(%)和 mAP(%)
Circle Loss: A Unified Perspective of Pair Similarity Optimization 圆损失函数,统一优化视角,革新深度特征学习范式 CVPR 2020_第16张图片
表 5:在 CUB-200-2011、Cars196 和 Stanford Online Products 上与当前最佳结果的比较,这里报告的是 R@K(%)
Circle Loss: A Unified Perspective of Pair Similarity Optimization 圆损失函数,统一优化视角,革新深度特征学习范式 CVPR 2020_第17张图片
可以看到,在上述三个任务中,Circle Loss 都表现出非常强的竞争力。在人脸上,采用分类模式,Circle Loss 超过了该领域先前的最好方法(如AM-Softmax,ArcFace);在细粒度检索中,采用样本对学习方式,Circle Loss 又媲美了该领域先前的最高方法(如Multi-Simi)。

值得一提的是,以往这两种范式下的损失函数形式通常大相径庭,而 Circle Loss 则使用完全一样的公式获得了上述表现,且每个参数都具有较好的可解读性。

下面这个关于收敛状态分析的实验,则进一步揭示了Circle Loss的优化特性。

Circle Loss: A Unified Perspective of Pair Similarity Optimization 圆损失函数,统一优化视角,革新深度特征学习范式 CVPR 2020_第18张图片
图 3 在 ( s n , s p s_n,s_p sn,sp) 坐标中展现收敛前后的相似性状态,本文关注两种状态:

首先,是绿色散布点代表的收敛后状态;

其次,是蓝色累积点反映的通过决策面时瞬间的分布密度。

图3(a) 中的 AMSoftmax 和(b)中的 Circle Loss 具有相切的决策面,可以看到,收敛后,Circle Loss 的收敛状态更紧密。而且,这些状态都是从一个相对狭小的通道通过决策面并最终收敛的。

当对Circle Loss使用 (c) 中更优的参数,这个现象更为明显。该观察从实验角度验证了图 1中,对 Circle Loss 倾向一个特定收敛状态 T 的猜测和理论分析。

原文还有更多深入的实验来分析重要超参的影响、训练全过程相似性的变化过程。论文进行CVPR 2020 oral presentation及交流之前,可先前往https://arxiv.org/pdf/2002.10857.pdf 一睹为快。

7、结论

本文对深度特征学习做出了两项深刻理解。第一,包括 triplet 损失和常用的分类损失函数在内的大多数损失函数具有统一的内在形式,它们都将类间相似度与类内相似度嵌入到相似性配对中进行优化。第二,在相似度配对内部,考虑各个相似度得分偏离理想状态的程度不同,应该给予它们不同的优化强度。

将这两项理解联合起来,便得到 Circle Loss。通过让每个相似性得分以不同的步调学习,Circle Loss 赋予深度特征学习的更灵活的优化途径,以及更明确的收敛目标;并且,它为两种基本学习范式(样本对和分类学习)提供了统一的解读以及统一的数学公式。

在人脸识别、行人再识别、细粒度的图像检索等多种深度特征学习任务上,Circle Loss 都取得了极具竞争力的性能。

你可能感兴趣的:(论文阅读笔记)