深圳Yolo 视觉
深圳
立即加入
词汇表

重排序器

使用重排序器提高搜索准确性! 了解高级模型如何优化初始结果,以获得最佳相关性和用户满意度。

重选器是多级信息系统中使用的一种复杂模型,用于完善和改进初始候选列表的排序。 的排序。初级系统被称为检索器,它能快速收集广泛的潜在相关项目。 相关条目,而重选器则对这个较小的预过滤集进行更详细的计算密集型分析、 它的目标是对这些项目进行重新排序。它的目标是对这些项目进行重新排序,把最相关的项目放在最前面,从而提高最终输出的精确度和召回率。 最终输出的精确度和召回率。这个 这两步流程可以让系统在速度和准确性之间取得平衡,从而高效地提供高质量的结果。

重排序器的工作原理

重新排名通常涉及现代语义搜索和推荐系统中常见的两阶段架构。 语义搜索和推荐系统中常见的两阶段架构:

  1. 第一阶段检索:快速但不太精确的模型(检索器)会扫描海量数据库,以快速找到大量候选项。 快速找到大量候选项。在 在计算机视觉中,这可能是一个初始 模型,为物体生成大量潜在的 物体的边界框。这里的首要任务是 高记忆率--确保不遗漏任何相关项目。
  2. 第二阶段重新排名:然后将初始候选者集传递给重新排序器。这通常是 一个更复杂、更强大的模型,如 Transformer神经网络。重排序器 会更详细地检查候选词,考虑微妙的上下文、语义关系和复杂的特征,而这些都是第一阶段检索器所忽略的。 这些都是第一阶段检索器为了提高速度而忽略的。然后,它会为每个条目计算出一个新的、更准确的相关性分数,并相应地对列表进行重新排序。 项目,并相应地对列表重新排序。

这种方法的计算效率很高,因为昂贵的重排模型只处理总数据中的一小部分。 这些数据已经被速度更快的检索器过滤过了。

重排序器与第一阶段检索器

区分重排序器和第一阶段检索器非常重要。

  • 第一阶段寻回犬:优化速度和召回能力。它的工作是快速筛选大量数据 它的工作是快速筛选海量数据,并创建一个广泛、包容的候选名单。它使用较简单的评分方法,如关键字 匹配或基本嵌入
  • Reranker:针对精确性和相关性进行了优化。它从检索器中获取可管理的列表 并应用深入的上下文感知分析来生成最终的高精度排名。它速度较慢,更 资源密集型,但数据集要小得多。

从本质上讲,寻回者撒下一张大网,而再寻回者则仔细检查捕获物,找出最有价值的物品。 物品。

应用和示例

重新排名器是许多最先进的人工智能(AI)技术的重要组成部分。 人工智能 (AI) 应用的重要组成部分:

  • 网络搜索引擎:公司,如 GoogleMicrosoft 必应等公司使用多级排名系统,在该系统中,reerankers 起着至关重要的作用。 的作用。在初始检索获取数千个网页后,复杂的重排序器会分析用户意图和内容质量等因素,从而提供最相关的结果。 意图和内容质量等因素,从而提供最相关的结果。这是现代 信息检索研究的核心部分。
  • 电子商务平台亚马逊等网站使用 rerankers 完善产品搜索结果。最初的搜索可能会显示所有的 "跑步鞋",但reeranker 会 分析用户评论、购买记录和品牌受欢迎程度,以显示用户最有可能购买的商品。 亚马逊科学》对此进行了详细探讨。
  • 检索增强生成(RAG):在使用 大型语言模型(LLM)的系统中、 RAG首先从知识库中检索相关 文档。然后,再筛选器会对这些文档进行筛选,以确保将事实最准确、与上下文最相关的信息传递给用户。 和上下文相关的信息传递给 LLM,从而大大提高 生成响应的质量。像Cohere Rerank API这样的服务就是专门为此目的而设计的。 等服务就是专门为此目的而设计的。
  • 计算机视觉中的类比:后处理技术,如 物体检测模型中的非最大值抑制 (NMS) 物体检测模型中的后处理技术,如 Ultralytics YOLO11的核心理念相同。一个 对象检测器首先会提出许多潜在的边界框。然后,NMS 会根据这些候选对象的置信度分数和重叠度(.....NMS 根据它们的置信度分数和重叠度 (IoU),抑制多余的边界框,只保留最好的边界框。这种细化对于准确预测至关重要。 您可以探索性能基准并查找 这些模型的模型训练技巧

以下代码演示了如何在推理NMS 配置为边界框的重排器 配置 ultralytics 模型

from ultralytics import YOLO

# Load an official YOLO11 model
model = YOLO("yolo11n.pt")

# Run inference on an image with custom NMS settings
# The 'iou' threshold filters out boxes with high overlap, similar to how a
# reranker removes less relevant, redundant items from a list.
results = model.predict("path/to/image.jpg", iou=0.5, conf=0.25)

# Print the results
results[0].show()

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入