内容提要
本文探讨了如何在没有标记数据的情况下使用度量学习训练对象匹配模型。度量学习通过学习对象间的相似度,克服了分类模型的局限性。文章介绍了基于交互和基于表示的两种主要度量学习方法,并强调了其在招聘匹配中的应用。通过使用相似和不相似的样本,度量学习能够灵活处理新类别,提升模型性能。最后,讨论了在生产中管理向量和实现搜索的方法。
延伸解读
度量学习与分类的适用场景对比
文章指出,分类模型要求固定数量的类别,且每个类别需足够训练样本,当类别数量多或可能增长时,分类模型会难以扩展。度量学习则通过学习对象间的相似度,不预设类别数量,能灵活处理新类别。例如在招聘匹配中,分类模型只能覆盖几百个职位类别,而度量学习可以直接比较任意职位描述,无需重新训练即可添加新参考职位。因此,当类别不确定或持续增加时,度量学习是更 scalable 的选择。
无监督数据构建与训练技巧
度量学习训练不需要人工标注的类别标签,只需相似和不相似的对象对。文章利用职业本体和相同职位标题构建自监督数据集,将不同来源的数据合并。由于缺乏明确的类别划分,无法使用困难负样本挖掘,作者通过调整损失函数,允许在整个批次内比较所有对,大幅增加负样本比较次数,从而提升模型性能。这一技巧在统一训练样本中尤为有效。
模型置信度与错误修正机制
在度量学习中,相似度分数本身难以直接反映置信度,因为低分可能仅表示参考集中无合适对象。文章通过修改嵌入生成器,将嵌入表示为多个特征组的组合,每个特征组由 Softmax 层生成,从而像分类器一样定义置信度。此外,引入排除规则来修正已训练模型的错误预测:规则由两个锚点向量定义,若目标对象落入一个锚点区域,则排除另一个锚点区域的对象。这些机制增强了模型在生产中的可控性。
生产环境中的向量搜索实践
在生产中部署度量学习模型需要高效管理向量。文章使用 Qdrant 作为向量搜索引擎,它支持通过 API 添加、删除向量,并可为向量分配 payload 以实现搜索时的额外过滤(如候选人的地点和语言水平)。Qdrant 提供 Docker 镜像,易于启动。这种方案使得嵌入向量的存储和检索独立于编码器,便于扩展和维护,适合需要动态更新和条件过滤的匹配场景。
Q&A
什么是度量学习,它的主要应用是什么?
度量学习是学习对象间相似度的任务,主要应用于对象匹配,如招聘匹配中的职位与候选人匹配。
度量学习与传统分类模型相比有哪些优势?
度量学习不需要固定的类别数量,能够灵活处理新类别,且可以使用相似和不相似的样本进行训练。
度量学习的主要方法有哪些?
度量学习主要有两种方法:基于交互的方法和基于表示的方法。
如何在度量学习中提高模型的效果?
可以通过使用困难负样本挖掘和调整损失函数来提高模型效果。
在生产环境中如何管理和搜索向量?
可以使用Qdrant作为向量搜索引擎来管理和搜索向量,支持简单的API操作。
度量学习如何处理没有标记数据的情况?
度量学习通过使用相似和不相似的样本进行训练,不需要具体的类标签。