首页 理论教育 深度度量学习模型性能的主要影响因素

深度度量学习模型性能的主要影响因素

时间:2023-06-26 理论教育 版权反馈
【摘要】:影响深度度量学习模型性能的主要因素为:网络结构、采样策略和损失函数。图5-3深度度量学习的两种网络结构[13]二、样本选择尽管损失函数对于度量学习方法有至关重要的作用,但是样本的选择策略也是影响度量学习性能不容忽视的一个因素,只有选择信息量高的样本才有助于提高检索准确率,而差的样本则可能导致收敛速度降低。

深度度量学习模型性能的主要影响因素

影响深度度量学习模型性能的主要因素为:网络结构、采样策略和损失函数。

一、网络结构

深度度量学习中常用的网络结构有两种:孪生(siamese)网络和元组(triplet)网络,如图5-3所示。其中,孪生网络由两个具有共享参数的相同网络组成,(xi,xj)表示一个相似或者不相似的样本对;三元组网络由3个具有共享参数的相同网络组成,(xi)表示1个三元组,xi表示参考样本,xi和xi分别与参考样本构成相似样本对和不相似样本对。

图5-3 深度度量学习的两种网络结构[13]

二、样本选择

尽管损失函数对于度量学习方法有至关重要的作用,但是样本的选择策略也是影响度量学习性能不容忽视的一个因素,只有选择信息量高的样本才有助于提高检索准确率,而差的样本则可能导致收敛速度降低。

以三元组为例,简单的随机采样会导致模型收敛缓慢,特征的判别性不够,研究已经证明,容易样本(easy sample)由于判别能力很低,对于网络性能的提升没有作用。一种合理的解决方案是仅挖掘对训练有意义的正负样本,即“难例挖掘”(难例样本对应的是那些被认为是false-positive的样本),但是每次都针对锚点样本挖掘最困难的类间样本容易导致模型坍缩;另一种采样策略为半难例(semi-hard)挖掘,即选择比类内样本距离远而又不足够远出间隔的类间样本来进行训练,如图5-4所示。从图5-5可以看出,三元组损失对于锚点的选择十分敏感。

图5-4 负例挖掘(negative mining)[13](难例挖掘、半难例挖掘和容易负例挖掘)

图5-5 构建三元组的两种不同方法

三、损失函数

度量学习中常用的损失函数包括对比损失、三元组损失、n元组损失、提升结构化损失、log ratio损失等,如图5-6所示。

1.对比损失

对比损失(contrastive loss)首次将深度神经网络引入度量学习,开启了深度度量学习的研究开端。在此之前的传统度量学习主要用于解决聚类问题(如局部线性嵌入、Hessian局部线性嵌入、主成分分析等),距离函数采用马氏距离。马氏距离相比欧氏距离而言,考虑了特征之间的权重和相关性,在度量学习中被广泛应用。传统度量学习主要存在两个弊端:一是依赖于原始输入空间进行距离度量;二是不能很好地映射与训练样本关系未知的新样本的函数。对比损失利用了深度学习在特征提取方面的优势,将原始输入空间映射到欧氏空间,直接约束类内样本的特征尽可能近,而类间样本的特征尽可能远,如式(5.3)所示:

图5-6 损失函数[13]

(www.xing528.com)

其中,di,j表示欧氏距离,α用于控制类间样本距离足够远的程度。

2.三元组损失

相比于对比损失只约束类内对的特征尽可能近,而类间对的特征尽可能远,三元组损失(triplet loss)在其基础上进一步考虑了类内对与类间对之间的相对关系:首先固定一个锚点样本(anchor),希望包含该样本的类间对(anchor negative)特征的距离能够比同样包含该样本的类内对(anchor-positive)特征的距离大一个间隔(margin),如式(5.4)所示:

其中,Xa,Xp,Xn分别为锚点样本、与锚点样本同类的样本和与锚点样本异类的样本,m为间隔。

3.提升结构化损失

为了充分利用训练时每个批次内的所有样本,Sohn H.O.等人(2016)提出一种在一个批次内建立稠密的成对(pair-wise)连接关系,即提升结构化损失(lifted structured loss),具体为:对于每一个类内对,同时选择两个难例,一个距离Xa最近,一个距离Xp最近。提升结构化损失对应的损失函数为:

其中,P为批次内所有正样本对集合;N为批次内所有负样本对集合。

4.N元组损失

针对对比损失和三元组损失收敛慢的问题,Sohn K.等人(2016)提出多类N元组损失(multi-class N-pair loss),基本思想是:在每次更新中使用更多的负样本,同类样本的距离不应每次只效于一组类间距,而应同时小于n-1组类间距离,从而实现类内对相似度显著高于所有类间对相似度。N元组损失的损失函数为:

其中,i,j表示同类样本,k表示不同类样本;P为一个批次内所有正样本,m为批次的大小。

5.log ratio损失

为了更好地适应图像的语义相似性,Kim S等(2019)提出一种基于连续标签的损失函数——log ratio损失,损失函数定义如下:

其中,f表示一个嵌入向量,y表示一个连续标签,D(.)表示平方欧氏距离。(a,i,j)为一个包含锚点a和两个邻居i和j的三元组,但是不像式(5.4)中的p和n那样,有正负样本之分。

log ratio损失最大的优势在于,它提供了一种可以反映标签相似度和排序的度量学习空间。理想情况下,两幅图像在度量空间的距离与它们在标签空间的距离成比例。这样,用Log Ratio损失训练的嵌入网络与其它损失函数相比,能够更高地表达图像之间相似程度的连续性,而不仅仅是排序。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈