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

向量搜索

探索向量搜索如何利用嵌入技术查找相似数据。学习Ultralytics 生成高质量向量,实现精准信息检索。

向量搜索是一种复杂的信息检索方法,它基于数据集内项目的数学特征而非精确关键词匹配来识别相似项。 与依赖特定字符串匹配的传统关键词搜索不同,向量搜索能解析数据的深层语义含义。该技术是现代人工智能(AI)应用的基础,它使计算机能够理解抽象概念间的关联,并以惊人精度处理图像、音频文件及自然语言文本等非结构化数据

矢量搜索的工作原理

向量搜索的核心在于将原始数据转换为高维数值向量,即所谓的嵌入向量。该过程将项目映射到多维空间中的点,在该空间中概念相似的项目彼此邻近。

  1. 向量化深度学习(DL)模型处理输入数据——例如一只狗的图像——并输出特征向量。诸如YOLO26等先进模型常被用于高效生成这些丰富的特征表示。
  2. 索引:为实现快速检索,这些向量通过专用算法进行组织, 通常存储于专用的向量数据库中
  3. 相似度计算:当用户提交查询时,系统将该查询转换为向量, 并使用余弦相似度 或欧几里得距离等度量标准 测量其与存储向量之间的距离。
  4. 检索:系统返回“最近邻”,这些结果代表了上下文相关性最高的检索结果。

Python 示例:生成嵌入

要实现向量搜索,必须先将数据转换为向量。以下代码片段演示了如何生成向量: 特征图 以及图像的嵌入 使用 ultralytics 包和一个预训练的YOLO26模型。

from ultralytics import YOLO

# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")

# Generate feature embeddings for an image URL
# The 'embed' method returns the high-dimensional vector representation
results = model.embed("https://ultralytics.com/images/bus.jpg")

# Print the shape of the resulting embedding vector
print(f"Embedding vector shape: {results[0].shape}")

实际应用

向量搜索是当今软件生态系统中诸多直观功能背后的核心引擎,它弥合了计算机视觉(CV)与用户意图之间的鸿沟。

  • 视觉推荐系统:在零售业人工智能领域,向量搜索技术驱动着"同款穿搭"功能。当顾客钟意某款手袋时,系统会根据视觉向量(包括形状、质地和风格)匹配相似商品,从而构建个性化推荐体系
  • 检索增强生成(RAG):为增强大型语言模型(LLMs)的能力,开发者利用向量搜索从知识库中检索相关文档。这为人工智能提供了上下文信息,从而减少幻觉现象,并提升聊天机器人交互的准确性。
  • 异常检测:通过聚类分析"正常"操作的向量,系统能够识别 偏离聚类范围的异常值。这对于 制造质量控制和数据安全中的异常检测至关重要。

区分相关概念

区分向量搜索与类似术语有助于理解完整的机器学习(ML)流程。

  • 向量搜索与语义搜索语义搜索是理解用户意图(“什么”)的更广泛应用。向量搜索则是通过计算向量距离(“如何”)来实现这一目标的具体算法方法
  • 向量搜索与向量数据库向量数据库是为大规模存储和管理嵌入向量而设计的基础设施。向量搜索则是查询该数据库以检索信息的过程
  • 向量搜索与 关键词搜索:关键词搜索匹配精确文本字符串(例如"苹果"匹配"苹果")。向量搜索 匹配语义,因此"苹果"可能匹配"水果"或"红色",即使单词不同。

Ultralytics 集成

对于构建相似性搜索系统的团队而言, 管理数据集和训练嵌入模型是至关重要的第一步。 Ultralytics 提供数据管理、云端训练和模型部署工具, 简化了这一工作流程。通过确保基础模型——无论是用于 目标检测还是分类——都具备高性能, 您就能确保生成的向量提供准确且有意义的搜索结果。

加入Ultralytics 社区

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

立即加入