术语表

Reranker

利用重新anker 提高搜索准确性!了解先进的模型如何完善初始结果,以获得最佳相关性和用户满意度。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

重排序器是机器学习(ML)系统中的一个组件,尤其是在信息检索(IR)、搜索引擎和推荐系统等领域。它的主要功能是改进初始候选项目列表的相关性排序。可以把它看作是第二阶段的改进过程:它采用快速、初始检索方法生成的排序列表,并使用更复杂、计算密集的模型重新排序。这样可以提高最终排名的准确性和整体用户满意度。

Rerankers 如何工作

使用检索器的根本原因在于平衡速度和准确性。最初的检索系统,如基于关键字的搜索或嵌入式 近似近邻(ANN)搜索,必须快速扫描潜在的海量数据集(如网络文档、产品目录或图像数据库),以识别潜在的相关项目。这些第一阶段系统优先考虑的是速度和高召回率,这意味着它们的目标是检索所有潜在的相关项目,即使这意味着包括一些不太相关的项目。它们返回的候选项集合往往比最终需要的更多。

然后,重新搜索器会从这些顶级候选项中选取一个较小的子集(如初始搜索的前 100 个结果),并应用一个功能更强大、计算要求更高的模型。该模型可以对用户查询和每个候选项之间的关系进行更深入的分析。常见的技术包括使用复杂的深度学习(DL)模型,如Transformers,尤其是被称为交叉编码器的变体。交叉编码器将查询和候选条目结合在一起进行评估,从而对上下文相关性有丰富的了解,这通常优于可能会分别评估查询和条目嵌入的初始检索阶段。重整器会为每个候选项输出一个新的、细化的相关性评分,使系统能够首先呈现最相关的项目,从而提高最终结果的精确度

重新排名与初始检索

将重新anker 与最初的检索或排名阶段区分开来至关重要:

  • 初始检索(第一阶段):
    • 目标:从庞大的语料库中快速找到大量潜在相关的候选词。优先考虑速度和召回率。
    • 方法:通常使用倒排索引(Apache LuceneElasticsearch)、嵌入式 ANN 搜索或更简单的评分函数等技术。
    • 复杂性:每个项目的计算成本更低,可扩展至数十亿个项目。
  • 重新排名(第二阶段):
    • 目标:准确地对第一阶段提供的较小候选者重新排序。优先考虑精确性和相关性。
    • 方法:使用更复杂的模型,如基于 BERT 的交叉编码器变换器或其他复杂的特征交互。这些技术通常涉及超参数调整,以获得最佳性能。
    • 复杂性:每个项目的计算成本较高,但只适用于数量有限的候选者(如前 50-200 名)。

应用与实例

重排器在许多现代人工智能应用中都至关重要:

  • 网络搜索引擎:公司,如 GoogleMicrosoft 必应等公司都使用多级排名系统,在该系统中,重行者在完善呈现给用户的顶级搜索结果方面发挥着至关重要的作用,他们考虑的细微因素超出了简单的关键词匹配。这是信息检索研究的核心部分。
  • 电子商务平台:亚马逊这样的网站会根据用户行为和商品特征的复杂模式,使用reerankers来完善商品推荐和搜索结果,向用户展示他们更有可能购买的商品。亚马逊科学》等网站的研究对此进行了详细说明。
  • 检索增强生成(RAG):在使用大型语言模型(LLM)的系统中,RAG首先检索相关文档以提供上下文。然后,重排器可以完善这些检索到的文档,确保将最相关的上下文传递给 LLM,以生成更准确、更明智的响应。Cohere Rerank API等服务就是专门为此目的而设计的。
  • 计算机视觉后处理:虽然传统上不被称为 "再anker",但在物体检测模型中使用的非最大值抑制(NMS)等技术,如 Ultralytics YOLO等物体检测模型中使用的非最大抑制(NMS)等技术有着相似的理念。NMS 根据置信度分数和重叠度(IoU) 来完善一组初始预测边界框,保留最有可能的检测结果,抑制多余的检测结果,类似于完善初始候选对象。您可以找到模型训练技巧,并探索此类模型的性能基准。这些模型的训练通常利用Ultralytics HUB等平台来管理数据集和实验。
阅读全部