news 2026/4/16 15:32:30

深度度量学习提升近邻搜索可靠性

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
深度度量学习提升近邻搜索可靠性

通过深度度量学习实现更可靠的近邻搜索

许多机器学习应用涉及将数据嵌入到一个表示空间中,其中嵌入之间的几何关系承载着语义内容。执行一项有用任务通常涉及检索该空间中一个嵌入的邻近邻居:例如,查询嵌入附近的答案嵌入、文本描述嵌入附近的图像嵌入、一种语言中的文本嵌入在另一种语言中的文本嵌入附近,等等。

确保检索到的示例准确表示预期语义的一种流行方法是深度度量学习,它通常用于训练像视觉语言模型CLIP这样的对比学习模型。在深度度量学习中,机器学习模型学习根据指定的度量来构建表示空间,以便最大化不同训练样本之间的区分度,同时促进相似样本之间的接近性。

然而,深度度量学习的一个缺点是,同一类别的嵌入之间的距离和不同类别的嵌入之间的距离都可能变化。这在许多现实世界的应用中是一个问题,因为人们希望有一个单一的距离阈值来满足特定的误报率和漏报率要求。如果类间和类内距离都发生变化,那么没有单一阈值在所有情况下都是最优的。这可能会在大规模应用中造成重大的部署复杂性,因为个别用户可能需要不同的阈值设置。

在今年举办的国际学习表示会议上,本人与同事提出了一种方法,使DML嵌入之间的距离更加一致,从而使得单一阈值能够跨类别产生公平比例的相关结果。

首先,我们提出了一种新的评估指标,用于衡量DML模型的阈值一致性,称为操作点不一致性分数,我们用它来证明优化模型准确性并不能优化阈值一致性。然后,我们提出了一个新的损失项,可以添加到任何损失函数和骨干架构中用于训练DML模型,该损失项对难正例(同类)和难负例(异类)嵌入之间的距离进行正则化,以使距离阈值更加一致。这有助于确保即使在客户查询数据存在显著差异的情况下,也能实现跨客户的一致准确性。

为了测试我们的方法,我们使用了四个基准图像检索数据集,对每个数据集训练了八个网络:其中四个是残差网络,使用两种不同的损失函数训练,每种都包含和不包含我们添加的项;另外四个是视觉变换器网络,同样使用两种最先进的DML损失函数训练,包含和不包含我们添加的项。

在由此产生的16次比较中,加入我们的损失项显著提高了所有实验中的阈值一致性,将OPIS不一致性分数降低了多达77.3%。我们提出的损失的整合还在16次比较中的14次中提高了准确性,最大的改进幅度为3.6%,最大的减少幅度为0.2%。

测量一致性
DML模型通常使用对比学习进行训练,其中模型接收成对的输入,这些输入要么属于同一类别,要么属于不同类别。在训练过程中,模型学习一种嵌入方案,将不同类别的数据彼此推开,并将同一类别的数据拉近。

随着类别之间的分离度增加,以及类别内的分离度减小,您可能期望每个类别的嵌入变得高度紧凑,从而导致跨类别的距离高度一致。但我们证明情况并非如此,即使对于具有非常高准确性的模型也是如此。

我们的评估指标OPIS依赖于一个效用分数,用于衡量模型在不同阈值下的准确性。我们使用标准的F1分数,该分数同时考虑了误报率和漏报率,可以添加一个加权项来强调其中一个比率。

然后我们定义一个阈值范围,称为校准范围,这通常基于某种方式的目标性能度量。例如,可以设置边界以限制误报率或漏报率。接着,我们计算给定阈值选择的效用分数与完整阈值范围内的平均效用分数之间的平均差异。正如效用与阈值距离的图表所示,对于同一数据集中的不同数据类别,效用-阈值曲线可能存在显著差异。

为了衡量性能和阈值一致性之间的关系,我们使用一系列不同的损失函数和批大小在同一数据集上训练了一系列模型。我们发现,在较低准确性的模型中,准确性和阈值一致性确实存在相关性。但超过一个拐点后,性能的提升是以阈值一致性下降为代价的。

更好的阈值一致性
为了提高阈值一致性,我们为DML训练引入了一种新的正则化损失,称为阈值一致性边界损失。TCM有两个参数。第一个是用于挖掘难正例数据对的正边界,其中“难”表示属于同一类别但余弦相似度小的数据项。第二个是用于挖掘难负例数据对的负边界,其中“难”表示属于不同类别但余弦相似度高的数据点。

在挖掘出这些难样本对之后,该损失项会根据测量距离与难样本对专属参数之间的差异施加惩罚。与校准范围类似,这些值可以设计为强制误报率或漏报率的边界——尽管,由于训练集和测试集之间的分布漂移,我们确实建议根据数据进行调整。

换句话说,我们的TCM损失项充当“本地检查员”,通过有选择地调整难样本,防止类别边界附近出现过度分离或过度紧凑。如下图所示,比较了使用我们的损失函数训练的模型与不使用它的模型之间的效用-阈值曲线,我们的正则化项提高了数据类别之间阈值距离的一致性。

以下是我们使用两个模型、每个模型使用两种损失函数的两个版本在四个基准数据集上的实验结果:

我们还使用手写数字的MNIST数据集进行了一个简单的实验,以可视化我们提出的TCM正则化的效果,任务是学习将相同数字的示例分组在一起。添加我们的损失项使得类别聚类更加紧凑,聚类之间的分离更加清晰。

我们添加的TCM损失项可能不会在每种情况下都带来显著的改进。但由于它可以与任何模型选择和任何损失函数选择一起使用,且没有增加额外的计算成本,因此值得尝试的情况很少见。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 22:20:46

LLaMA-Factory微调全解析:云端GPU镜像的深度应用

LLaMA-Factory微调全解析:云端GPU镜像的深度应用 作为一名AI工程师,你是否曾被大模型微调中的复杂配置和显存管理问题困扰?LLaMA-Factory作为当前热门的微调框架,虽然功能强大,但环境搭建和资源调配往往让新手望而却步…

作者头像 李华
网站建设 2026/4/16 1:42:58

夜莺监控从零开始:新手30分钟快速上手指南

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个夜莺监控的入门教学项目,包含:1) Docker-compose一键部署脚本;2) 预配置的主机监控模板;3) 常见告警规则示例;4…

作者头像 李华
网站建设 2026/4/15 14:29:31

电商行业应用:CRNN OCR识别用户评价图片

电商行业应用:CRNN OCR识别用户评价图片 📖 技术背景与业务痛点 在电商平台的日常运营中,用户上传的带文字图片内容日益增多——包括手写评价截图、商品使用反馈图、售后沟通记录等。这些图像中蕴含大量有价值的文本信息,但传统人…

作者头像 李华
网站建设 2026/4/16 3:42:29

蛋白质语言专家:LLaMA Factory生物序列微调秘籍

蛋白质语言专家:LLaMA Factory生物序列微调秘籍 作为一名生物信息学研究者,你是否曾为蛋白质结构预测的复杂tokenizer配置而头疼?或是苦于本地环境搭建的繁琐过程?本文将带你快速上手"蛋白质语言专家:LLaMA Facto…

作者头像 李华
网站建设 2026/4/16 11:05:07

AI帮你选手机:自动生成苹果机型对比报告

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个能够自动生成苹果手机对比报告的应用。用户输入想要对比的iPhone型号(如iPhone 13 vs iPhone 14),系统自动从官方数据源抓取关键参数&a…

作者头像 李华
网站建设 2026/4/16 11:02:25

STRING.JOIN vs 传统拼接:性能对比实测

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 编写一个Python性能测试脚本,比较STRING.JOIN和传统运算符在拼接10000个字符串时的性能差异。要求:1. 生成10000个随机字符串;2. 分别用两种方法…

作者头像 李华