Smooth-AP: Smoothing the Path Towards Large-Scale Image Retrieval(翻译)

论文地址:https://arxiv.org/pdf/2007.12163.pdf

摘要:

优化一个基于排名的度量,比如平均精度(AP),是出了名的具有挑战性,因为它是不可微的,因此不能直接使用梯度下降方法进行优化。为此,我们引入了一个目标,而不是优化AP的平滑近似(we introduce an objective that optimises instead a smoothed approximation of AP),即Smooth-AP。Smooth-AP是一个即插即用的目标函数,允许对深度网络进行端到端培训,实现简单而优雅。我们还分析了为什么直接优化基于AP的排名度量比其他深度度量学习损失更有好处。
我们对标准检索基准应用Smooth-APs : Stanford Online products and VehicleID,并且也在更大规模的数据集上进行评估:INaturalist用于细粒度的类别检索,VGGFace2和IJBC用于人脸检索。在所有情况下,我们都比最先进的技术提高了性能,特别是对于更大规模的数据集,从而证明了 Smooth-AP在真实场景中的有效性和可伸缩性

1 简介

本文的目标是提高“实例查询”的性能,其任务是:给定一个查询图像,根据实例与查询的相关性对检索集中的所有实例进行排序。例如,假设你有一张朋友或家人的照片,想要在你的大型智能手机图片集合中搜索那个人的所有图片;或者在照片授权网站上,您希望从一张照片开始查找特定建筑或对象的所有照片。在这些用例中,高召回率(high recall)是非常重要的,不同于“谷歌镜头”应用程序从图像中识别一个物体,其中只有一个“击中”(匹配)就足够了。
检索质量的基准度量是平均精度(AP)(或其广义变量,归一化折现累积增益,其中包括非二进制相关性判断)。随着深度神经网络的兴起,端到端训练已经成为解决特定视觉任务的实际选择。然而,AP和相似度量的核心问题是,它们包含了一个既不可微也不可分解的离散排序函数。因此,他们的直接优化,例如梯度下降方法,是出了名的困难。
在本文中,我们引入了一种新的可微AP近似,即Smooth-AP,它允许深度网络基于排序的任务的端到端训练。Smooth-AP是一种简单、优雅、可伸缩的方法,它采用即插即用的目标函数的形式,使用sigmoid函数放宽不可微AP中的Indicator函数。为了证明其有效性,我们在两个常用的图像检索基准上进行了实验,Stanford Online Products和 VehicleID,Smooth-AP优于所有最近的AP近似方法[5,54]以及最近的深度度量学习方法。我们还在三个进一步的大规模检索数据集(VGGFace2, IJB-C, INaturalist)上进行了实验,这些数据集比现有的检索基准大了一个数量级。据我们所知,这是第一个证明了在拥有数百万张图像的数据集上训练为了AP网络以完成图像检索任务的可能性的工作。我们发现,与最近提出的所有AP近似方法相比,性能有了很大的提高,而且,有些令人惊讶的是,性能也显著优于强验证系统[14,36],这反映了这样一个事实,即度量学习方法在训练大规模检索系统时确实效率低下,而这些系统是由全球排名指标来衡量的。
优化Smooth-AP函数,大幅提升了图像检索的精确度

2 相关工作

作为信息检索[38]的重要组成部分,优化排序指标的算法多年来一直是广泛研究的焦点。一般来说,之前的方法可以分为两种研究路线,即度量学习和直接逼近平均精度。
图像检索。这是视觉界研究最多的话题之一。几个主题已经在文献中探索,例如,一个主题是关于检索的速度和探索近似近邻的方法[13,28,29,31,47,60]。另一个主题是关于如何获得用于检索的紧凑的图像描述符,以减少内存占用。描述符通常是通过局部特征的集合来构造的,例如Fisher向量[46]和VLAD[2,30]。最近,神经网络在学习图像检索表征方面取得了令人印象深刻的进展[1,3,18,51,69],但所有的共同点是用于训练的损失函数的选择;特别是,理想情况下应该是会鼓励良好排名的损失。
度量学习。为了避免直接优化基于排序的度量标准的困难,比如平均精度,有大量的工作集中在度量学习[1,2,4,8,10,12,31,34,42,44,52,64,70,73]。例如,对比性[12]和三元组[73]的损失考虑了元素的成对或三元组,在高维的嵌入空间中,强迫所有正面的实例接近,同时用固定的距离(边界)分隔负面的实例。然而,正如Burges等人[4]指出的那样,由于一对/三个一组所提供的有限的秩位意识,模型很可能会浪费能力来改善低(差)秩的积极实例的顺序,而牺牲高秩的积极实例的顺序。更为相关的是,列表(list-wise)方式[4,8,42,44,70]可以从检索集中查看许多示例,并已被证明可以提高训练效率和性能。尽管取得了成功,但度量学习方法的一个缺点是,它们大多是由最小化距离驱动的,因此忽略了改变排名顺序的重要性——后者在使用基于排序的度量时至关重要。
优化平均精度(AP)。最近在检索界,直接优化不可微AP的趋势又重新流行起来。复杂的方法[5,10,16,23,24,25,40,48,53,54,61,63,64,76,78]已经开发出来,以克服AP优化中不可分解和不可微性的挑战。方法包括:通过将每个相关性得分作为高斯随机变量来创建一个排名分布[63],损失增广推论[40],直接损失最小化[25,61],优化AP的光滑可微上界[40,41,78],训练一个LSTM来近似离散排序步长[16],可微直方binning[5,23,24,53,64],错误驱动更新方案[11],以及最近的blackbox优化[54]。信息检索界在AP优化方面取得了显著进展[4,9,19,35,50,63],但是这些方法在很大程度上被视觉界所忽视,这可能是因为它们从未在大规模图像检索中得到证明,或者由于所提出的平滑目标的复杂性。这项工作的动机之一是为了表明随着深度学习研究的进展,例如自分化、更好的优化技术、大规模数据集和快速计算设备,直接优化AP近似值是可能的,而且实际上非常容易。

3 背景

在这一节中,我们定义了整篇文章中使用的符号。
任务的定义。给定输入查询,检索系统的目标是根据与查询的相关性,对检索集中的所有实例Ω= {Ii,i = 0,…,m}进行排序。对于每个查询实例Iq,检索集被分割成正的
Pq集和负Nq集,分别由同一类的所有实例和不同类的所有实例组成。注意,每个查询都有不同的正集和负集。
平均精度(AP)。AP是信息检索任务[38]的标准度量之一。它是一个单一值,定义为精确召回曲线下的面积。对于一个查询Iq,检索集中所有实例的预测相关性得分是通过一个选定的度量来度量的。在我们的例子中,我们使用余弦相似度(尽管Smooth-AP方法与这个选择无关):在这里插入图片描述
SΩ= SP∪SN, SP ={ζ,∀ζ∈Pq}, SN ={ξ,∀ξ∈Nq}是积极的和消极的相关性分数集,vq是指查询向量,vi是指向量化的检索集。查询智商的Iq可以计算为:
在这里插入图片描述
其中R(i,SP)和R(i,SΩ)分别表示实例i在P和Ω中的排名。需要注意的是,本文中提到的排名被假设为适当的排名,这意味着没有两个样本排名相同。
排名函数®。考虑到AP是一种基于排序的方法,直接优化的关键元素是定义一个实例i的排序R,这里我们定义如下[50]:
在这里插入图片描述
其中1{·}充当指示函数,S为任何集,例如Ω。这可以通过计算一个差分矩阵D ∈ Rm×m来方便地实现:
在这里插入图片描述
从Eq. 2中查询实例Iq的精确AP变成:
在这里插入图片描述
指示函数的导数。在计算AP时使用的特殊指示函数是Heaviside阶跃函数H(·)[50],其分布导数定义为Dirac delta函数:
在这里插入图片描述
这要么是处处平坦的,零梯度的,要么是不连续的,因此不能用基于梯度的方法进行优化(图2)。
在这里插入图片描述
离散指标函数可能的不同近似。第一行:指标函数(a),三个随温度升高的sigmoids (b, c, d),线性(e),指数(f),第二行:它们的导数。

4 近似平均精度(AP)

如上所述,AP和类似的度量标准包括一个既不可微也不可分解的离散排序函数。在本节中,我们首先描述了SmoothAP,它本质上用一个sigmoid函数代替了离散的指标函数,然后我们分析了它与其他排序损失的关系,如三元组损失[26,73],FastAP[5]和Blackbox AP[54]。

4.1 Smoothing AP

为了简化排名程序,从而可以直接优化AP,Smooth-AP采用了一种简单的解决方案,即用sigmoid函数G(·;τ)代替指标函数1 {·},其中τ代表温度,来调整锐度:
在这里插入图片描述
将G(·;τ)代入等式 5,真实AP可以近似为:
在这里插入图片描述
指标的逼近度和收敛度更趋于τ→0。优化过程中的目标函数为:
在这里插入图片描述
平滑参数τ控制代替指示器功能1 {·}的sigmoid的温度。它定义了一个工作区域,其中通过Smooth-AP损耗为差分矩阵的项提供一个梯度。如果这些术语排名不正确,Smooth-AP将尝试将其转换为正确的顺序。 具体而言,较小的τ值会导致较小的工作区域(图2(b)–注意在S型导数中看到的具有梯度的小区域),并且更接近真实AP。零点附近梯度的强烈加速(图2(b)-(c)第二行)对于复制所需的AP质量至关重要,因为它会鼓励实例在嵌入空间中移动,从而导致等级变化 (并因此更改AP),而不是将实例移动较大距离,但不会更改等级。较大的值提供了一个大的操作区域,然而,代价是AP的一个松散的近似,因为它偏离了指标函数。
与三元组损失的关系。在这里,我们证明了三重损失(一个流行的替代排序损失)实际上是优化了距离度量而不是排序度量,后者在使用排序度量进行评估时是次优的。如Eq. 5所示,优化AP的目标等价于最小化所有的在这里插入图片描述
,即违规例子。我们之所以这样称呼它们,是因为这些术语指的是根据查询的相关性将否定实例排在肯定实例之上的情况,并且只有当所有肯定实例排在所有否定实例之上时,才能获得最佳AP。例如,考虑一个具有预测相关性得分和ground-truth相关性标签的查询实例:
实例按分数排序: (s0 s4 s1 s2 s5 s6 s7 s3 )
Ground truth labels :(1 0 1 1 0 0 0 1)
违规例子:{(s4−s1),(s4−s2),(s4−s3),(s5−s3),(s6−s3),(s7−s3)}.理想的AP损失实际上会不平等地对待每个术语,即模型将被迫在s4和s1之间而不是s3和s7之间转移订单上花费更多的能力,因为这对改善AP产生了更大的影响。
从三元组损失的角度,也可以对这些违规例子进行另一种解释。 具体来说,如果我们将查询实例视为“锚”,则sj表示“锚”与否定实例之间的相似性,而si表示“锚”与肯定实例之间的相似性。 在此示例中,三元组损失尝试优化边际关键损失:
在这里插入图片描述
这可以看作是对AP优化目标的可微近似,其中指标函数已被边际关键损失取代,从而解决了梯度问题。然而,使用三元组损失来近似AP可能会遇到两个问题:首先,所有的项都是线性合并的,并且在Ltriplet中同等对待。这样的替代损失可能迫使模型优化对AP仅具有很小影响的项,例如。 在三元组损失方面,优化s4-s1与s7-s4相同,但是,从AP角度来看,重要的是纠正高阶错序实例。其次,线性导数意味着优化过程纯粹基于距离(而不是排序顺序),这使得AP在评估时处于次优状态。例如,在三元组损耗的情况下,将s4−s1的距离从0.8减小到0.5,与从0.2减小到−0.1是一样的。然而,在实践中,后一种情况(移动顺序)对AP计算的影响显然要比前一种情况大得多。
与其他AP优化方法的比较。Smooth-AP与最近推出的FastAP和Blackbox AP之间的两个主要区别是,Smooth-AP(i)提供了更接近平均精度的近似值,并且(ii)实施起来非常简单。首先,由于采用了sigmoid函数,SmoothAP优化了排名度量,因此具有与平均精度相同的目标。相比之下,FastAP和Blackbox AP对不可微(分段常数)函数进行线性插值,这可能会导致与三元组损失相同的潜在问题,即优化距离度量,而不是排名。其次,Smooth-AP只需用sigmoid函数代替AP目标中的指标函数。 FastAP使用直方图合并等抽象,Blackbox AP使用数值导数的变体。 通过改善多个数据集上的Smooth-AP性能,可以肯定这些差异(第6.5节)。

5 实验设置

在本节中,我们将描述用于评估、测试协议和实现细节的数据集。接下来的步骤是采用一个预先训练好的网络,并使用Smooth-AP损失进行微调。具体来说,ImageNet预先训练的网络用于对象/动物检索数据集,高性能的人脸验证模型用于人脸检索数据集。

5.1 数据集

我们评估Smooth-AP损失的五个数据集包含广泛的领域和大小。这些包括常用的基准检索数据集,以及一些额外的大尺度(>100K图像)数据集。表1描述了它们的详细信息。
在这里插入图片描述

5.2 测试方案

在这里,我们描述了评估检索性能的协议,平均平均精度(mAP)和Recall@K (R@K)。对于所有数据集,每个类的每个实例依次用作查询Iq,并且从所有其余实例中形成检索集Ω。我们确保所有数据集中的每个类都包含几个图像(表1),这样,如果一个类的实例被用作查询,那么在检索集中还有大量的正实例。对于对象/动物检索评估,我们使用Recall @ K指标来与现有作品进行比较。 对于人脸检索,从每个查询的结果输出排名中计算出AP,并通过对数据集中每个实例的AP取平均,得出mAP得分,得出一个值。

5.3 实现细节

物/动物检索(SOP, vehicle, INaturalist)。与之前的工作一样[5,5,56,58,72,74],我们使用ResNet50[21]作为主干架构,它是在ImageNet[57]上预先训练的。我们将最终的softmax层替换为一个线性层(按照[5,54],尺寸设置为512)。 所有图像的大小均调整为256×256。在训练时,我们使用随机裁切和翻转作为增强,在测试时,使用大小为224×224的单个中心裁切。 对于所有实验,我们将τ设置为0.01(第6.4节)。
人脸检索数据集(VGGFace2, IJB-C)。
Mini-batch训练。在训练过程中,我们通过对类进行随机抽样,形成每个小批,使每个表示的类每个类都有|P|样本。在所有实验中,我们对嵌入进行L2-normalize,使用余弦相似度计算查询和检索集之间的相关性得分,将|P|设为4,并使用基本学习率为10−5且权重衰减为4e−5的Adam [33]优化器。我们采用与[5,54]相同的硬负采技术,仅对在线产品数据集。否则,我们不使用特殊的抽样策略。

6 结果

在本节中,我们首先通过检查五个检索数据集上各种模型的性能来探索所提出的Smooth-AP的有效性。具体来说,我们比较了最近在标准基准SOP和vehicle上的AP优化和更广泛的度量学习方法(章节6.1),然后转向进一步的大规模实验,例如INaturalist用于动物/植物检索,IJB-C和用于人脸检索的VGGFace2(章节6.2-6.3)。然后,我们对影响Smooth-AP性能的各种超参数进行了消融研究:sigmoid温度,正集合的大小和批量大小(第6.4节)。 最后,我们讨论各种发现并分析各种模型之间的性能差距(第6.5节)。
请注意,尽管关于度量学习方法已有大量文献[15,17,20,32,34,37,42,43,45,49,54,61,62,64,68,70,71,72 [74,75,77]使用这些图像检索基准,我们只列出了最新的最新方法,并尝试尽可能公平地与它们进行比较,例如,没有模型集合,并且使用相同的骨干网和图像分辨率。 但是,在一些小的实验细节上仍然存在差异,比如嵌入维度、优化器和学习率。 INaturalist数据集的定性结果如图3所示。
在这里插入图片描述
图3:使用Smooth-AP损失的INaturalist数据集的定性结果。对于每个查询图像(第一行),检索集中的前3个实例按从上到下的顺序显示。 显示的每个检索到的实例都是真实的肯定值。

6.1 斯坦福在线产品(SOP)评价

我们将其与各种最先进的图像检索方法进行比较,例如深度度量学习方法[56,58,72,74]和AP近似方法[5,54]。如表2所示,我们观察到Smooth-AP在SOP基准测试中达到了最先进的结果。特别是,我们的最佳模型对Recall @ 1的性能优于最近的AP近似方法(Blackbox AP和FastAP)1.5%。在这里插入图片描述
表2:斯坦福在线产品的结果。 将深度度量学习和最新的AP近似方法与使用ResNet50架构进行了比较。 BS:mini-batch大小。

此外,Smooth-AP的性能与并发工作相当(跨批处理内存[72])。这是特别令人印象深刻的,因为[72]利用记忆技术为每个权重更新同时从许多小批中采样,而Smooth-AP只在每个训练迭代中使用单个小批。图4定量分析了sigmoid温度τ对AP近似值的紧密度的影响,可以通过AP近似误差进行绘制:
在这里插入图片描述
其中APpred是当使用 sigmoid代替公式5中的指标函数时的预测近似AP,AP是真实AP。 正如预期的那样,较低的τ值会导致平均精度的近似值更加严格,这由较低的近似值误差表示。
在这里插入图片描述
图4:AP近似误差,针对不同的sigmoid退火温度τ,在线产品的一个训练时期内的APe。

6.2 在VehicleID 和INaturalist上的评价

在表3中,我们显示了在VehicleID 和INaturalist数据集上的结果。我们观察到Smooth-AP在具有挑战性和大规模的VehicleID数据集上实现了最先进的结果。特别是,对于小协议Recall@1,我们的模型的性能显著优于FastAP 3%。此外,Smooth-AP在6个召回指标中的4个上超过了[72]。
因为我们是第一个报告INaturalist图像检索结果的,除了Smooth-AP,我们重新训练了最先进的度量学习和AP近似方法,使用各自的官方代码,如Triplet和ProxyNCA [55], FastAP [6], Blackbox AP[66]。如表3所示。在使用相同批量大小的实验中,Smooth-AP在Recall@1上比所有方法的性能都好2 - 5%(224)。如果将Smooth-AP的批大小增加到384,那么Recall@1的批大小将进一步增加1.4%至66.6。这些结果表明Smooth-AP特别适合于大规模检索数据集,从而显示了它在实际检索问题中的可扩展性。我们在这里注意到,这些大型数据集(> 100k图像)受超参数调整的影响较小,因此提供了理想的测试环境来演示改进的图像检索技术。
表3:VehicleID(左)和INaturalist(右)的结果。
在这里插入图片描述
表4:人脸检索数据集上的mAP结果。 Smooth-AP持续提高VGGFace2和ArcFace的AP性能,同时胜过其他标准度量学习损失(Pairwise contrastive和Triplet)。在这里插入图片描述
表5:对不同参数的消融研究:温度τ,小批量采样期间的正集合大小| P |和批量B。性能以VGGFace2-Test和IJB-C为基准。
在这里插入图片描述

6.5 进一步讨论

在上述结果中有几个重要的观察结果。Smooth-AP在三个图像检索基准(SOP、VehicleID、Inaturalist)上优于所有以前的AP近似方法,以及度量学习技术(pair, triplet, and list-wise),在大规模的Inaturalist数据集上,性能差距尤其明显。同样,当缩放到包含数百万张图像的人脸数据集时,Smooth-AP能够提高最先进的人脸验证网络的检索指标。我们假设,相对于其他现有的AP近似方法,这些性能增益来自于对AP的更紧密的近似,从而证明了Smooth-AP的有效性和可伸缩性。此外,深度度量学习损失的许多属性都采用了各自的方法(基于距离的权重[61,74],类别间的边距[12,59,61,70],类别内的边距[70]), 是我们的AP公式中自然内置的,从而提高了泛化能力。

7 结论

我们介绍了Smooth-AP,这是一种直接优化AP平滑近似的新颖损耗。这与现代对比法、三重和列表式深度度量学习损失相反,后者是鼓励排名的替代方法。我们展示了Smooth-AP优于最近的ap优化方法,以及深度度量学习方法,并使用了简单优雅的即插即用风格的方法。我们提供了对Smooth-AP胜过其他损失的原因的分析,即Smooth-AP保留了AP的目标,即优化排名而不是嵌入空间中的距离。此外,我们还证明了通过附加Smooth-AP损失来微调人脸验证网络可以显著提高性能。最后,为了缩小实验设置和真实检索场景之间的差距,我们在几个大规模数据集上进行了实验,结果显示平滑- ap损失比以前的近似方法具有更大的可伸缩性。

补充材料

1 进一步定性结果

在本节中,我们将为实验中使用的四个数据集提供额外的定性结果(VGGFace2测试集、Stanford Online Products和INaturalist)。对于每个数据集,我们显示基线模型中各种查询的顶级检索实例,包括添加或不添加SmoothAP损失的实例。在所有情况下,查询示例都以蓝色显示。与查询属于同一类的检索实例(即正集)显示为绿色,而与查询属于不同类的实例(即负集)显示为红色。对于所有检索示例,我们在下面显示了相应的精确调用曲线,其中基线模型用蓝色表示,而同一查询实例的Smooth-AP模型用绿色表示。对于图S1, S2,检索集从查询旁边的第一行开始从左到右排列。对于图S3, S4, S5, S6,检索集是从上到下排列的。在每种情况下,将在排序实例的下方或旁边提供在整个检索集中计算的平均精度(AP)。

图S1: SENet-50[7]基线模型VGGFace2测试集的定性结果。我们显示了一个查询实例(蓝色)和基线模型检索集中在Smooth-AP被添加之前和之后的前79个排序实例(从左到右排序,从查询旁边开始)。由精确回忆曲线可知,Smooth-AP使平均精度上升了令人印象深刻的52.9%,而在排名最靠前的检索实例中的误报数(红色显示)显著下降。在这里插入图片描述
在这里插入图片描述
图S2:这里,我们显示了VGGFace2测试集上SENet50[7]基线模型的第二个查询实例在附加Smooth-AP损失之前和之后的定性结果。在这里,我们看到平均精度有54.9%的大幅提高,这是由于Smooth-AP损失的增加。我们看到,在添加Smooth-AP损失后,从排名最高的检索实例中删除了所有误报(红色显示)。假设情况排名最高的实例的每一行对应于使用检索系统向用户显示的检索结果页面。 使用基准模型,用户在前几页会遇到许多误报。追加Smooth-AP损失后,用户至少在前五个页面中没有误报。 这证明了将Smooth-AP附加到检索网络对用户体验的好处。
在这里插入图片描述
图S3:这里,我们显示了VGGFace2测试集上SENet50[7]基线模型的第三个查询实例在添加Smooth-AP损失之前和之后的定性结果。这些结果证实了Smooth-AP确实是为解决排序问题而量身定做的。
在这里插入图片描述

2 源代码

在这里,我们提供了以PyTorch样式编写的Smooth-AP损失的伪代码。该方法的简单性通过简短的实现得以证明。
算法1:Pytorch风格的Smooth-AP的伪代码。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值