来源:互联网 更新时间:2026-08-04 14:24
机器学习这几年,已经渗透到了我们生活的方方面面,从刷脸支付到医疗诊断,它正为各种复杂问题和海量数据提供着高效的解决方案。简单来说,机器学习算法能从数据中学习,进而生成分类模型。不过,每个数据集都有自身的特性,要想准确分类,就必须找到能有效区分不同类别的关键特征。我们常用的算法包括k最近邻、支持向量机和朴素贝叶斯分类器等,但千万注意,特征加权和数据转换这些细节至关重要。
这就引出了我们今天要聊的核心——度量学习(Metric Learning)。它是机器学习领域的一个重要分支,专注于学习样本之间的相似性或距离度量。在很多需要比较和区分样本的任务中,尤其是那些像人脸识别、信息检索这类应用,度量学习扮演着关键角色。传统的机器学习方法曾一度受限于数据处理能力,需要依赖繁琐的特征工程,比如数据预处理和手工提取特征,这往往需要深厚的领域知识。深度学习则不然,它能直接在分类的框架下学习更抽象、更高层的数据表示。不过,深度学习也有自己的短板:对数据量要求大,小样本下效果往往不佳,而且训练时间也比较长。好在NVIDIA推出了cuDNN这样的GPU加速库,许多深度学习框架也随之发展起来,大大缓解了计算压力。
更关键的是,两者的结合——深度度量学习,带来了全新的可能。它基于样本相似性原理,通过深度网络自动提取特征,包括那些复杂的非线性结构。如图1所示,网络结构、损失函数和样本选择,是决定深度度量学习成败的三大关键因素。这篇综述,就是想和大家一起探讨一下深度度量学习的意义、它目前面临的挑战,我们会从背景、最新进展以及与深度学习的关系讲起,深入解析深度度量学习的核心问题、样本选择策略和度量损失函数,最后展望一下它的现状和未来的发展方向。

图1 深度学习与度量学习的结合
每个数据集在分类和聚类时,都会遇到自己特有的难题。如果没有一个合适的距离度量,很难得到理想的结果。度量学习方法的价值就在这里:它通过分析数据本身,为我们提供一个优化的新度量,从而提升对不同样本的区分能力。它的核心目标就是:让同一类样本之间的距离尽可能小,让不同类样本之间的距离尽可能大。这样一来,不同对象之间就有了更清晰的边界,分类和聚类的效果自然就上去了,就像图1c所展示的那样。
文献中经典的度量学习研究,常常和“马哈拉诺比斯距离”(Mahalanobis Distance)挂钩。假设训练样本X由N个d维向量组成,那么样本xi和xj之间的距离就可以用马哈拉诺比斯距离来计算:
dM(xi, xj) 这个距离度量,必须满足几个基本性质:非负性、不可辨别性(两个相同的点距离为0)、对称性和三角不等式。而核心矩阵M也必须是对称且半正定的,它的特征值或行列式必须大于或等于0。我们可以把它分解一下:
从公式(3)可以看出,W实际上是一个线性变换。也就是说,两个样本在新变换空间里的欧几里得距离,就等于它们在原始空间中的马哈拉诺比斯距离。这种线性变换,正是度量学习最直观的应用基础。更好的数据表示,就意味着更精准的分类和聚类预测。度量学习通过学习一个好的距离度量,为我们提供了更有意义的数据表示。线性的度量学习方法在变换后的数据空间里能提供更灵活约束、提升学习性能,但处理非线性特征时就力不从心了。核方法可以把问题映射到非线性空间来获得更好性能,但又容易过拟合。相比之下,深度度量学习则提供了一个更紧凑、更强大的解决方案,巧妙地克服了线性和非线性方法的局限性。
传统机器学习受限于数据处理能力,依赖特征工程,包括预处理和特征提取,这些都需要相当的专业知识。而深度学习则直接在分类结构中自动学习更高层次的数据表示。但深度学习需要海量数据,在小规模数据集上效果不佳,而且训练时间较长。为了解决计算瓶颈,NVIDIA推出了cuDNN GPU加速库,许多深度学习框架都基于GPU开发,大大加快了计算速度。
数据分类的基本相似性度量包括欧几里得距离、马氏距离、Matusita距离、巴氏距离和KL散度等。但在复杂的数据分类任务中,这些预先设定好的度量能力有限。因此,研究者提出了基于马哈拉诺比斯度量的方法,将数据分类问题转化为传统的度量学习,把数据变换到具有更高判别力的新特征空间。然而,这些方法依然无法充分揭示数据中的非线性结构。深度学习通过引入具有非线性结构的激活函数,有效解决了这个问题。深度学习方法通常侧重于学习一个深层架构,而非在新数据表示空间中重新定义一个距离度量。不过,基于距离的方法在深度学习中正变得越来越受关注。深度度量学习的目标,就是要拉近相似样本的距离,推远不相似样本的距离,这直接对应于样本之间的距离调整。通过这个过程,度量损失函数在深度学习中发挥了巨大作用,让同类样本彼此靠近,异类样本彼此远离(图2)。在对比损失的情况下,MNIST图像数据集上的实验已经证明了这种方法的有效性。

图2 连体网络的距离关系。(a) 期望的三位数和八位数手写数据辨别,(b) Siamese网络应用于三位数和八位数的MNIST数据后的结果
深度度量学习通过深层架构来学习非线性子空间的特征相似性,并针对具体问题开发出相应的解决方案。它的应用范围相当广泛,包括视频理解、人员重识别、医疗诊断、3D建模、人脸验证与识别、签名验证等领域。
在文本理解和信息检索领域,深度学习的研究也相当广泛。比如,Mueller和Thyagarajan的Siamese网络用于识别语义相似性;贝纳吉巴等人利用回归函数训练网络模型;还有基于依赖关系的Siamese LSTM网络模型。另外,有研究旨在学习句子之间的主题相似性,通过生成弱监督的三元组句子,使用Triplet网络对高质量句子嵌入进行聚类。深度度量学习在音频信号处理领域同样成果斐然,例如使用Triplet和Quadruple网络进行说话人二值化。不同的采样策略和裕度参数对二值化性能有显著影响。值得注意的是,在计算机视觉领域大获成功的半硬负挖掘,在说话人二值化任务中,只有在固定参数和三元组损失的情况下才有效。
深度度量学习的应用版图还在不断扩展,包括音乐相似性、拥挤回归、相似区域搜索、体积图像识别、实例分割、边缘检测、全色锐化等。其高性能表现推动了相关领域的发展。从学术出版物的数量(图3)来看,深度度量学习受到的关注与日俱增。

图3 深度度量学习的学术出版物数量
深度度量学习在众多主题上均取得了显著成果(表1),包括图像聚类、图像检索、3D形状检索和语义文本相似性等任务。评估指标非常丰富,包括F1分数、归一化互信息(NMI)、召回率@R(排名精度)、准确率、第一层(FT)、最近邻(NN)、E-measure(E)、第二层(ST)、折扣累积增益(DCG)、平均精度均值(mAP)、皮尔逊相关系数(r)、斯皮尔曼相关系数(ρ)、均方误差(MSE)、等错误率(EER)和最小决策成本函数(MDCF)。
表1 深度度量学习问题的基准数据集比较
(此处保留原文的表1)
深度度量学习的成功,本质上由三个要素决定:信息丰富的输入样本、精心设计的网络模型结构,以及合适的度量损失函数。其中,信息样本的选择对分类和聚类效果至关重要,它直接影响网络的收敛速度和最终成功率。最简单的做法是随机选取正负样本对,用于训练对比损失。但在网络性能达到一定程度后,这种方法会让学习过程陷入停滞。硬负挖掘和三元组网络等方法可以改善网络性能,但简单的三元组样本也可能效果不佳。因此,使用信息量更丰富的三元组样本,往往能训练出更好的模型。
所谓硬负样本,是指那些被模型误判为正样本的负样本;而半硬负挖掘,则是在边界附近寻找负样本,相比硬负样本,它距离锚样本会更远一些。三元组挖掘策略会根据锚点、正样本和负样本之间的距离来选择负样本,如图4所示。值得注意的是,如果负样本离锚点太近,会导致梯度方差过高、信噪比太低,因此建议使用距离加权采样来避免引入噪声。负类挖掘策略则使用每个类的一个样本作为三重网络的负样本,并通过贪婪搜索策略选择多个负样本。

图4 负挖掘示意图
总而言之,即使有了再好的数学模型和网络架构,如果输入的样本缺乏区分度,网络的学习能力也会受到极大限制。我们应该向网络提供有辨别力的训练样本,才能实现更好的学习和表示。将样本选择作为预处理步骤,可以显著提升网络模型的成功率。深度度量学习中的负挖掘研究具有很高的应用价值。选择信息丰富的样本,不仅能避免过拟合,还能加快学习速度、减少计算资源的浪费。这一切做好后,性能的大幅提升就是水到渠成的事了。
这一节我们来聊聊深度度量学习里用到的各种损失函数,它们的用法和差异。这些函数的核心作用,就是通过调整样本间的相似性来优化最终的特征表示。
Siamese网络最初是为了签名验证而设计的,它基于一个能量模型(Energy-Based Model)的判别学习框架。这个方法把两张相同的图像分别输入到两个共享权重的孪生网络中,通过计算得到一个二进制值,来判断这两张图像是否属于同一类。作为一种度量学习方法,Siamese网络接收成对的图像来训练模型。图像对之间的距离通过损失函数来计算(公式(5))。对比损失(Contrastive loss)的出现让Siamese网络找到了用武之地,也启发了整个深度度量学习领域。Siamese网络可以最大化或最小化样本对之间的距离,从而提升分类性能。共享权重策略确保了网络能从图像中提取有意义的模式,如图5所示,这对神经网络性能有积极影响。Siamese网络和卷积神经网络可以结合,同时从图像像素、颜色和纹理等原始信息中学习相似性。例如,一个深度度量学习模型就可以结合两个Siamese卷积神经网络和马哈拉诺比斯度量来完成行人重识别任务。

图5 Siamese网络和Triplet网络
三元组网络(Triplet Network)受Siamese网络启发,但包含三个对象:一个锚样本(Anchor)、一个正样本(Similar)和一个负样本(Different)。这种网络利用欧几里得空间来比较模式识别过程中的不同对象,与度量学习紧密相关。从公式(6)可以看出,三元组损失关注的是同类和异类样本对的相似性,通过比较样本对的相似性来进行分类(图6)。它的优势在于不仅利用了类内和类间的关系,还提供了比Siamese网络更强的区分能力。分层三元组损失通过在线自适应树更新进一步提升了网络性能。此外,角度损失(Angular Loss)是一个新颖的方法,它重点关注三元组中负样本所在点的角度约束,目的是将负样本推离正样本簇的中心,同时让正样本相互靠近,它使用角度作为旋转和尺度不变的度量(公式(8))。四重损失(Quadruple Loss)在每个训练批次中使用四个样本,以获得更好的逼近效果。直方图损失(Histogram Loss)同样使用四元组样本,通过计算正负样本对相似度的直方图来评估,无需调整参数,在人员重识别数据集的实验研究中表现优异。部分损失(Part Loss)则旨在利用不同的身体部位进行评估,将图像划分为五个部分,分别计算每个部分的部分损失值。
损失函数是深度度量学习模型的核心。在嵌入空间中,一对输入样本的新表示会通过一个距离函数来度量,例如,一对输入样本 DW(X1, X2) 的距离为:
其中,GW(X1) 和 GW(X2) 是新表示的输入样本,DW用于计算损失函数中两个输入之间的距离。
用于计算Siamese网络模型中损失函数的 LContrastive 是:
其中Y是标签值,如果输入来自同一类则Y=1,否则Y=0。m是LContrastive中的margin值。
三元组网络有三个输入:锚输入X、与X相似的X_p、与X不同的X_n。LTriplet损失是:
其中 α 是裕度值。
四元网络模型还引入了另一个与X不同的输入X s,它类似于X的正样本X_p。四倍损失 LQuadruple 是:
(公式)
角度损失考虑了样本之间的角度关系。角度损失 LAngular 是:
(公式)
其中 X c 位于X和X_p的中间位置。
传统的深度结构度量学习模型,如Siamese和Triplet网络,常常忽略了训练样本的整体结构信息。深度结构度量学习方法则通过深度网络中的特殊结构化损失,将成对的距离向量提升为成对的距离矩阵,从而充分利用上下文信息。Sohn提出的多类N对损失(N-pair loss)就是为了解决Siamese和Triplet网络收敛速度慢、容易陷入局部最优的问题。N-pair loss的优势在于,它可以同时利用N-1个负类样本来与锚样本进行比较(图6e)。多重相似性损失(Multi-Similarity Loss)则同时考虑了自相似性和相对相似性,让模型能更有效地收集和加权信息丰富的样本对。

图6 各类度量损失函数的对比
在训练阶段开始前,必须为Siamese、Triplet和N-pair等网络准备好训练数据。这个过程需要大量的磁盘空间,而且非常耗时。宋等人提出了一种新的深度度量学习方法,使用聚类损失(Clustering Loss)将样本聚合成一个簇(图6g),同时防止不同的簇相互靠近。里佩尔等人则指出,三元组损失一次只评估一个三元组样本来训练数据集,这减少了网络的学习时间,但容易导致性能不佳、训练不足。因此,他们提出了磁体损失(Magnet Loss),这种损失函数会惩罚簇之间的重叠,并通过评估簇中最近的邻居来分离多个簇。该方法具有局部区分性,并且与优化过程的全局目标一致。混合损失(Hybrid Loss)受三元组损失启发,除了锚点和负样本外,还使用三个正样本和三个负样本来建立样本之间的相似关系。图6h展示了在使用局部邻域时,相似样本如何逼近最近的集群。
表2详细总结了文献中最前沿的损失指标。
表2 损失指标对比
(此处保留原文的表2)
深度度量学习在人脸验证与识别、人员重识别、3D形状检索等领域展现出了强大的实力。从表1可以看出,它对那些“类别多、样本少”的任务效果尤为出色。一个完整的深度度量学习系统,通常由三部分构成:度量损失函数、采样策略和网络结构(如Siamese、Triplet和Quadruple网络)。度量损失函数,比如对比损失、三重损失、四重损失和N对损失,可以增加数据样本的有效规模,但也可能导致训练时间过长、内存消耗过大。硬负挖掘和半硬负挖掘可以提供信息丰富的样本,而正确的采样策略对于模型的快速收敛至关重要。聚类损失作为一种度量函数,其优势在于不需要额外的数据准备步骤。深度度量学习通常在GPU上执行,但某些策略也可以在CPU集群上使用,以处理大批量数据。必须警惕的是,深度度量学习高度依赖数据质量,如果损失函数选择不当,很可能无法实现快速收敛。通常,使用预训练好的网络模型权重来初始化,可以加速嵌入空间的收敛,并学习到更具判别力的特征。
深度度量学习是近年来非常热门的研究方向,其核心是学习一个相似性度量,用于计算对象之间的相似或不相似程度。目前,Siamese网络和Triplet网络在图像、视频、文本和音频任务中都表现出高效性。深度度量学习的研究,可以归结为对信息输入样本、网络模型结构和度量损失函数三方面的探索。未来的研究方向可能包括:优化采样策略、寻找共享权重和度量损失函数的最佳组合等。虽然已经取得了不少进展,但这个领域仍有广阔的探索空间,比如如何改进现有方法的缺点,以及如何将局部特征与全局特征更好地结合起来。
参考资料:《Deep Metric Learning: A Survey》
Ondo将于今日上线股票永续合约
Intel喜讯连连:18A工艺良率提升到85%、CPU将涨价15%
晶核艾尔莎角色盘点 晶核艾尔莎强度分析与实战表现
区块链OTC交易所有哪几家比较正规?
黄金价格不断创新高!黄金稳定币XAU、PAXG市值达11亿美元
CC币价格预测(2026-2035):Canton币今日价格走势+长期价格预测
AMD英特尔集体失眠!英伟达Rosa CPU搭载Rigel核:单核性能碾压x86
遗忘之海密室通关教程 遗忘之海密室全关卡解谜思路与难点解析
新浪机器学习热点小时报丨2026年07月25日18时_今日实时机器学习热点速递
异环伊洛伊阵容怎么搭配
《探索流放之路物品等级的奥秘》 揭秘物品等级的效果和怎么查看
新破天一剑太极刀任务攻略 破天一剑怎么取太极刀
潜水员戴夫丛林DLC接吻的鱼任务攻略
电视剧《白领公寓》剧情介绍
五千元以下的笔记本几乎消失!经销商:至少一年看不到涨价尽头
Windows环境下Claude Code从C盘迁移至D盘的完整操作教程
华为Mate 70系列首发的红枫镜头下放至千元档:全员普及原色影像
币安投票上币与下币机制解析:买票争议与规则边界
合集38个项目筹集5.406亿美元 Figure融资2亿
蚂蚁庄园今日答案最新2026.7.5
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc