Press "Enter" to skip to content

【深度度量学习系列】MSloss及GPW框架是什幺?

一、背景

 

度量学习(Metric Learning)也叫距离度量学习(Distance Metric Learning),是一种传统的机器学习方法,随着深度学习的兴起,将深度学习结合在度量学习这种传统方法上也逐渐成为一种趋势,即Deep Metric Learning。本文将解读一篇深度度量学习论文,从中可以看到一种通用的样本对加权框架,及一种度量学习损失函数。

 

论文:Multi-Similarity Loss with General Pair Weighting for Deep Metric Learning

 

地址:https://arxiv.org/pdf/1904.06627.pdf

 

该论文的贡献包括三个方面:

 

建立了一种通用样本对加权框架(GPW),“样本对”是度量学习的训练数据组织形态,因为损失函数要度量“一对”样本间的距离。该框架通过梯度分析将深度度量学习转化为样本对的加权问题,为理解基于样本对的损失函数提供了统一的视角和有力的工具;

 

通过使用GPW,可以对现有的各种基于样本对的方法进行全面的比较和讨论,并且可以发现明显的差异和关键限制;

 

在GPW下提出了一种称为多相似损失(MS loss)的新损失函数,该损失是通过两个迭代步骤(即采样和加权)实现的。

 

二、概念详解

 

度量学习

 

度量学习的目的是学习一种低维空间,在这个空间内同类样本相距非常近,异类样本距离比较远。深度度量学习利用卷积网络强大的特征抽取能力,能学习更好的嵌入空间。

 

基于样本对的深度度量学习

 

最近的许多深度度量学习方法都是建立在成对样本的基础上的。在形式上,它们的损失函数可以表示为嵌入空间中的两两余弦相似性。我们将这种方法称为基于样本对的深度度量学习。属于该类方法的损失函数包括:contrastive loss;triplet loss;triplet-center loss;binomial deviance loss;histogram loss ;distance weighted margin-based loss等。

 

已有基于样本对的度量学习的缺陷

 

对于这些基于样本对的方法,训练样本被构造成成对、三个一组或四个一组,导致训练对的多项式增长,这是高度冗余和信息量较少的。这就给基于样对的方法带来了一个重要问题,即随机抽样的训练可能会被冗余的样本对所淹没,导致收敛速度变慢,模型退化,性能低下。

 

三、GPW:从归纳到统一

 

GPW框架

 

设为一实例向量,为一实例矩阵,为标签向量,其中m为样本数。通过以为参数的神经网络将映射到维空间中,我们定义两个样本的相似度为:,其中为内积运算,计算得到出的相似度矩阵为。

 

基于配对的损失函数可以表示为,计算第t次迭代时对的导数,求导:

 

公式(1):

 

公式(1)为计算神经网络参数的导数, 我们可以重新构造一个用于计算配对权重的函数:

 

公式(2):

 

其中为常量。假设对于负样本对,对于正样本对,则F可以表示为:

 

公式(3):

 

其中,为样本对的权重,公式(3)即是general pair weighting (GPW)。

 

回顾经典损失函数

 

为了证明GPW框架的泛化能力,我们来回顾四种典型的基于成对的损失函数用于深度度量学习:

 

Contrastive loss

 

公式(4):

 

其中表示正样本对,表示负样本对,我们可以发现对于所有正样本对和的困难负样本对,权重是一样的。这是我们的配对加权方案的一个简单和特殊的情况,没有考虑任何配对之间的差异。

 

Triplet loss

 

公式(5):

 

其中和分别为负样本对和正样本对的相似性。由公式(5)可知,Triplet loss对于所有的三元组使用相同的权重,而舍弃的三元组。Triplet loss不同于Contrastive loss,但这两种方法对所有选择的样本对都考虑得一样多,这限制了它们在选择的样本对中识别更多信息的能力。

 

Lifted Structure Loss

 

公式(6):

 

按照公式(3)求导后得出:

 

公式(7):

 

公式(8):

 

公式(7)表明,正对的权重是由其相对相似度决定的,衡量方法是将其与具有相同锚点的剩余正对进行比较。负对的权值的计算类似。

 

Binomial Deviance Loss

 

公式(9):

 

其中和为对于锚的正样本对个数和负样本对个数,为固定的超参数。按照公式(3)求导后得出:

 

公式(10):

 

可以发现,Binomial Deviance Loss是contrastive loss的平滑版本。在公式(3)中,相似度高的负对被赋予更大的权值,这意味着它的信息量更大,这是通过从不同的类中区分两个相似的样本(形成负对)来实现的。

 

四、Multi-Similarity Loss(MS Loss)

 

GPW 还有更重要的实践意义,我们可以在它定义的框架下构建性能更强大的损失函数。

 

MS Loss 定义的三种相似性

 

MS Loss 综合考虑了三种相似性,它们能概括目前大多数基于样本对的损失函数。它们可以分为自相似性与相对相似。给样本对加权的核心在于判断局部分布 – 即它们之间的相似性,局部样本之间的分布和相互关系并不是仅仅决定于两个样本之间的距离和相似性,还取决于当前样本对与其周围样本对之间的关系。

 

因此,对于每一个样本对,我们不仅需要考虑样本对本身的自相似性,同时还要考虑它与其它样本对的相对相似性。其中相对相似性又可以分为正相对相似性 (正样本)、负相对相似性(负样本)两种相似性,它们三者共同构建了MS Loss 的两步迭代策略。

 

自相似性(余弦相似性):随着负样本接近 anchor,样本对相似性增加;

 

负相对相似性(Negative relative similarity):随着周围负样本聚集在一起,样本对相似性降低;

 

正相对相似性(Positive relative similarity):随着周围正样本聚集在一起,样本对相似性降低。

 

下图展示了上面三种相似性的直观变化,我们希望计算实线样本对间的相似性:

 

 

图中 case 1 的相似性是增加的,case 2 和 case 3 的相似性都将降低。因为 case 1 中的自相似性很明显没有考虑与周围样本的关系,所以作者引入了后面两种相对相似性。

 

在 case 2 中,即使 anchor 与负样本的自相似性不变,但我们还需要考虑负样本的近邻。如果负样本间的自相似性增加,那幺它与 anchor 间的相对相似就自然降低。case 3 也是同样的道理,正样本间的自相似要是增加了,那幺 anchor 与负样本的相对相似性就要降低。

 

如下表所示,基于样本对的各种损失函数都可以归类到这三种相似性,目前只有该论文提出的 MS Loss 能同时考虑三种相似性。

 

 

其他损失函数之所以没能全部考虑三种相似性,是因为它们并没有特意关注这一本质区别,很多损失函数都是从直觉的角度设计的,因此只考虑到其中一种相似性度量,能考虑到两种的情况都很少。

 

MS Loss的迭代过程

 

如下图所示,MS Loss 通过采样和加权两次迭代,实现更加高效的样本训练。它通过定义自相似性和相对相似性,在训练过程中更加全面地考虑了局部样本分布,从而能更高效精确的对重要样本对进行采用和加权。这里重要样本对通常是含有更大的信息量的样本对。

 

 

在 MS Loss 的第一阶段采样中,它会通过某种相似性判断哪些样本对学习嵌入空间更重要。例如上图连着黑线的蓝色、红色样本点,它们就比同色的其它样本点重要,信息量更大,因为黄色样本点要是想与这两种样本分离,那就需要把这两个样本推开。

 

第二阶段的加权则是在采样的基础上进行的,第一阶段采样的样本有正样本(黄色)也有负样本(红色、蓝色),我们需要另外两种相似性来确定它们的重要性。具体而言,如果正样本相似性越高,那幺加的权就越少,因为它已经不太需要进一步拉近距离。但如果负样本的相似性太高,就表示它离 anchor 非常近,我们需要提供更大的权重以使模型把它们推地更远。

 

MS Loss的公式

 

前面已经了解到,MS Loss 采用采样和加权交替迭代的训练策略来实现上述三种相似性。研究者表示他们实际上也是站在前人的肩膀上,巧妙地融合表 1 中 Triplet、Lifted Structure 和 BinomialDeviance 三种损失函数,它们都只采用三种相似性中的一种。

 

我们需要分两步完成目标。因为我们很难构建单个训练和优化步骤来同时实现三种相似性,这样的公式不仅复杂,同时还容易产生冲突。此外,分为两步实现也不会违反 GPW 的基本思想。因为第一步的采样就是抛弃一些非常不重要,信息量很少的样本,可以看作将它们的权重设置为 0。这个权重与第二步的权重类似,它们结合起来可以视为一种加权方法。

 

采样

 

第一步通过正相对相似性确定哪些是信息量大的样本对。

 

假设为anchor,如果负样本对满足以下条件,则被选为重要样本对。

 

公式(11):

 

如果为正样本对,则需要满足以下条件:

 

公式(12):

 

对于正相对相似性,我们可以度量在相同 anchor 下正样本和负样本对之间的相似性。具体而言,如果 anchor 与负样本的相似性比它与最不相似的正样本对还要大,那幺该负样本就是重要的样本。

 

同理,如果 anchor 与正样本的相似性比它与最相似的负样本还要小,那幺该正样本也含有重要信息。这两者加起来就是该 anchor 第一步选出的重要样本。

 

加权

 

第二步通过自相似性和负相对相似性为重要的样本对进一步赋不同的权重。

 

对于挑选出的重要负样本对,它的权重为:

 

公式(13):

 

正样本对的权重为:

 

公式(14):

 

其中为超参数。

 

公式(13)(14)结合了 binomial deviance 和 lifted structure 两种损失函数,且分别利用了自相似性和负相似性。然而,作者通过实验证明,它们的直接结合并不能导致性能的提高。最后,作者将采样和加权策略结合起来,从而产生了 MS Loss 这种新型基于成对样本的损失函数,MS loss的公式如下:

 

公式(15):

 

可以通过迭代样本对挖掘和加权,使用梯度下降进行优化。

 

效果对比

 

无论是Cars196和CUB200这样的细粒度数据集,还是SOP和In-Shop这样的大类别数据集,该论文提出的方法都能获得新的最佳或相当的性能,即使其他方法使用了ABE和BIER等集成技术。结果对比如下:

 

 

作者介绍

 

刘娜,2019年6月毕业于北京邮电大学自动化学院,毕业后加入贝壳找房语言智能与搜索部,主要从事NLP及强化学习相关工作。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注