术语表

矢量搜索

了解矢量搜索如何通过在 NLP、可视化搜索、推荐系统等数据检索中实现语义相似性来彻底改变人工智能!

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

了解更多

矢量搜索是人工智能(AI)机器学习(ML)中使用的一种强大技术,用于查找语义相似的项目,而不仅仅是匹配关键字。它通过将数据点(如文本文档、图像、音频剪辑或用户配置文件)表示为称为嵌入的数字向量来进行操作。这些嵌入捕捉了数据的基本含义或特征。然后,矢量搜索在高维空间中找到与给定查询矢量 "最接近 "的数据集中的矢量,通常使用余弦相似度或欧氏距离等距离度量。与传统方法相比,这种方法可实现更细致入微、更能感知上下文的搜索。

矢量搜索的工作原理

这一过程通常包括几个关键步骤:

  1. 嵌入生成:使用预先训练好的深度学习(DL)模型将数据转换为高维向量(嵌入),例如用于文本的BERT或用于图像的Vision Transformers (ViT)。这些模型在大量数据集上进行训练,以学习有意义的表征。例如 Ultralytics YOLO模型主要用于物体检测,也能生成可能适用于视觉搜索任务的特征向量。
  2. 编制索引:生成的向量存储在专门的向量数据库中并编制索引。这些数据库经过优化,可高效查询高维数据,通常使用近似近邻(ANN)算法,如HNSW(层次导航小世界)ScaNN(可扩展近邻)。ANN 技术以少量的准确性换取速度的显著提高,使向量搜索在大型数据集上变得可行。
  3. 查询:当进行搜索查询时(如文本短语或图像),首先使用相同的嵌入模型将其转换为相同的矢量格式。
  4. 相似性计算:然后,矢量数据库根据选定的距离度量(如余弦相似度、欧氏距离、点积)搜索其索引,找出与查询矢量最相似的矢量。
  5. 检索:与最接近向量相对应的项目将作为搜索结果返回。

关键概念和技术

实际应用

矢量搜索可实现广泛的智能应用:

  • 语义搜索为搜索引擎(如Google 搜索)或内部知识库提供动力,以理解关键词以外的查询意图。例如,搜索 "健康晚餐创意 "可能会返回沙拉、烤鸡肉和藜麦碗的食谱,即使文档中没有这些确切的词,因为它们的向量嵌入含义接近。
  • 推荐系统 NetflixSpotify等平台使用矢量搜索,根据矢量表示的相似性,找到与用户之前喜欢或互动过的项目(电影、歌曲、产品)相似的项目。
  • 图像识别和搜索:查找视觉上相似的图像(反向图像搜索)或识别照片中的产品,用于电子商务。这是计算机视觉(CV)的核心应用领域。
  • 异常检测识别异常数据点(如欺诈交易、网络入侵),其向量远离正常数据向量集群。
  • 自然语言处理 (NLP):增强问题解答、重复检测和基于主题或情感的文本数据聚类等应用。
  • 检索增强生成(RAG)大型语言模型 (LLM)中使用,在生成响应之前从知识库中检索相关上下文,从而提高事实准确性并减少幻觉

矢量搜索与关键词搜索

主要区别在于如何确定相似性:

  • 关键词搜索:使用倒排索引等技术匹配准确的单词或短语。它很难处理同义词、上下文和语言变化。
  • 向量搜索:根据向量嵌入中捕获的语义相似性进行匹配。即使准确的关键词不匹配,它也能找到相关结果,从而了解潜在的意图或概念。

虽然矢量搜索能提供更细致入微的结果,但它需要大量计算资源来生成嵌入和索引,通常需要通过Ultralytics HUB等平台对模型和数据集进行有效管理。现代系统通常结合关键词和矢量搜索(混合搜索),以充分利用每种方法的优势。您可以浏览各种教程和指南,了解模型部署性能指标等相关概念在这些系统中的应用。

阅读全部