• 文档 >
  • 为什么选择相似度学习?
快捷方式

为什么选择相似度学习?

如果您尝试使用分类等传统方法解决机器学习问题,可能会面临一些问题。

  • 冷启动问题 - 产品发布前,您可能没有标注数据。而要标注数据,您必须先发布产品。

  • 数据集兼容性 - 您找到了几个适合您任务的数据集,但它们的标注略有不同,这使得它们无法一起使用。

  • 需求变更 - 您已经训练好模型,但上线后发现存在标注中未包含的新类别。

  • 无法微调 - 模型部署后,如果不进行手动条件检查,就无法在某些特定极端情况下改变其行为。

  • 可解释性不足 - 解释分类模型的预测是一种艺术。只有最简单的模型才提供某种形式的可解释性。

相似度学习提供了一种替代方案,可以消除这些缺点。

与传统的分类模型不同,它不依赖于预定义的标签集,而是学习对象之间的相似性。事实证明,这种方法在数据收集、建模和部署阶段提供了诸多好处。

收集相似度学习的数据集要容易得多,因为任何分类数据集也是相似度数据集。关于类别的信息可以直接用于确定对象之间的相似性。

因此,即使初始标签不兼容,也可以将多个分类数据集合并为一个相似度数据集。在某些情况下,您甚至完全不需要手动标注。如果数据由多个组件组成,例如多模态对,您可以使用自监督方法。

在建模阶段,相似度学习也更加灵活 - 它不依赖于固定的类别数量,因此只需简单地扩展参考集即可引入新类别。在部署阶段也是如此,您可以引入新示例而无需任何停机时间和重新部署。

最后,通过检查模型产生的对象之间的相似性,可以深入了解模型在进行预测时所依据的指导原则。

何时应用相似度学习?

当然,这种方法并不能解决所有问题。在某些情况下,二元分类已经足够了,但有一些常见任务模式与相似度学习兼容。

首先,相似度学习可以帮助解决难以定义类别边界的任务。这包括各种推荐和匹配问题。其中也包括所有类别数量庞大或可能增加的任务。

总的来说,如果您打算训练一个拥有超过 50 个类别的分类器,或者,天哪,正在考虑层次分类,我们鼓励您将相似度学习视为一种替代方案。

这也包括二元分类问题,其中许多结构上不同的子类别合并在一个类别下。一个此类问题的例子是异常检测——一组由单一标签统一的异常类别。通过让模型找到与已见过异常相似的异常,可以更好地处理它们。

查看我们的解决方案集合,您可以使用相似度学习构建这些方案。

为什么选择 Quaterion?

许多通用框架可以帮助您快速训练计算机视觉或自然语言处理任务。然而,相似度学习具有其特殊性,通常需要在常规流程之上增加一个重要的额外层。

例如,在训练相似度模型时,批处理大小的作用远大于其他模型。标签要么不存在,要么以完全不同的方式处理。在许多情况下,模型已经预训练好了,这也需要调整过程。

通过专注于相似度学习,Quaterion 可以更好地支持这些特殊需求,同时简化开发并加速训练过程。

此外,Quaterion 的创建旨在将其主要任务定位于模型微调。这使得它甚至兼容只有少量标注数据的任务。

Quaterion 使用 PyTorch Lightning 作为后端。它让您无需陷入模板代码即可立即提高效率。您可以在快速入门指南中一窥 Quaterion 的风采。

Qdrant

了解更多关于 Qdrant 向量搜索项目和生态系统的信息

了解 Qdrant

相似度学习

探索使用相似度学习解决实际问题

学习相似度学习

社区

寻找正在处理类似问题的人,并获得问题的答案

加入社区