什么是向量嵌入?完整指南 [2025]
探索您需要了解的关于向量嵌入的知识。了解它们是什么、不同的类型、如何创建它们、应用以及更多内容。
![What are vector embeddings? A complete guide [2025]](https://unable-actionable-car.media.strapiapp.com/What_are_vector_embeddings_A_complete_guide_9fbc4cb412.png)
向量嵌入是文本、图像、音频和其他数据类型的数值表示。它们通过使用机器学习 (ML) 模型将复杂的高维数据映射到低维空间中来工作。这使计算机能够解释非结构化数据、识别模式并支持语义搜索等任务。
常见类型包括词嵌入、图像嵌入和文档嵌入。它们分别使用嵌入算法(如 Word2Vec、卷积神经网络 (CNN) 和 Doc2Vec)创建,并放置在语义空间中,其中邻近度反映概念相似性——例如,“树”和“植物”聚集在“自然”附近。
向量嵌入可用于检索增强生成 (RAG) 系统、搜索引擎和其他应用。为此,需要向量数据库来有效地查询高维数据。这些基础设施需要高昂的工程成本、维护和技术专业知识。
在接下来的文章中,我们将详细介绍向量嵌入及其工作原理,并提及与该技术相关的潜在应用、优势和挑战。
什么是向量嵌入?
向量嵌入是将复杂数据(如文本、图像和文档)转换为多维浮点数数组的数值表示。它们通常表示为多维空间中的数字序列,其中所有值的组合表征了数据输入。
这些嵌入捕获语义关系,使机器能够高效地处理和比较数据。通过将相似的数据点更紧密地映射到向量空间中,嵌入实现了各种应用,从自然语言处理 (NLP) 和推荐系统到异常检测、RAG 和问答系统。
许多 AI 应用都由向量嵌入驱动,向量嵌入将复杂数据转换为紧凑、语义丰富的表示。
向量嵌入是如何工作的?
向量嵌入是使用 ML 模型生成的,这些模型接受非结构化数据输入(例如,文本、图像、文档、音频)并创建连续的多维向量,也称为密集向量。
该过程首先在数据集上训练嵌入模型,以识别数据中的模式。对于文本,这意味着分析词语关系和上下文序列——模型的示例包括来自 Transformer 的双向编码器表示 (BERT)、全局向量 (GloVe) 和 Word2Vec。在图像中,卷积层检测不同级别的模式,从边缘到复杂形状——通常使用 CNN 实现。
在训练期间,模型通过连续优化(通常通过梯度下降)调整向量表示,以最小化损失函数。这确保了语义相似的项目在向量图中映射得更近。
这种多维语义空间提供了一种结构化的方式来衡量关系,使用诸如 K 近邻 (KNN) 之类的模型和诸如余弦相似度之类的指标来对结果进行排序。
生成的向量捕获有关输入的复杂细节,例如语义和上下文含义,具体取决于过程中使用的嵌入算法。
向量嵌入有哪些优势?
向量嵌入使系统能够处理和理解复杂数据。以下是该技术的四个主要优势
- 增强的结果:公司使用向量嵌入来增强其搜索引擎,并为客户提供更精确和上下文相关的结果。Statista 研究部门发布的一项研究Statista Research Department显示,美国 25% 的成年人表示,AI 驱动的搜索引擎提供了更精确的结果,12% 的人声称结果更值得信赖。
- 降低跳出率:提高跳出率的一种方法是通过个性化。企业可以使用向量嵌入,根据客户在平台内的历史行为(例如,搜索、保存和购买)提供优化的建议。这在医疗保健、食品和电子商务等行业中尤为重要,这些行业的跳出率分别为40.94%、38.94%和38.61%。
- 改进的推荐系统:推荐引擎市场预计到2030 年将达到 381.8 亿美元,这主要是由于提高客户体验的需求不断增长。向量嵌入会随着时间的推移捕获细微的模式和客户偏好,从而提高推荐系统的质量。
- 更好的用户体验:诸如 Google 助手之类的语音助手利用音频嵌入来提高语音识别的准确性。根据商业研究公司article的这篇文章,语音助手应用市场规模最近呈指数增长。预计 2025 年将增长 72.6 亿美元,复合年增长率 (CAGR) 为 29.4%。
向量嵌入有哪些不同的类型?
向量嵌入有几种类型,可以从不同的数据源生成,也可以由不同的 ML 模型创建。
让我们看看它们及其差异
- 用户嵌入:这些嵌入是通过分析用户交互(例如,点击、购买和会话持续时间)通过协同过滤或神经网络生成的。它们通常为推荐系统提供动力。一个很好的例子是 Netflix,它使用用户嵌入来帮助根据观看历史记录显示内容。
- 产品嵌入:它们通常从交易数据和产品元数据生成。与用户嵌入一样,它们为电子商务网站(如亚马逊)中的推荐系统提供动力。然后,网站可以根据用户之前的购买记录显示产品。
- 图像嵌入:这些嵌入表示视觉特征,例如形状、颜色和纹理,使机器能够以数字方式理解图像。这些嵌入是使用卷积神经网络 (CNN)(如 ResNet 或 Vision Transformers (ViT))生成的。它们为图像搜索(例如,Google Lens)和对象检测等应用提供动力。
- 词嵌入:捕获语义意义和上下文关系的词语的向量表示。它们使用 Word2Vec、GloVe 或 BERT 等模型在大型文本数据上进行训练。词嵌入对于诸如情感分析之类的任务至关重要,在情感分析中,它们有助于将评论分类为正面或负面。
- 句子嵌入:这些嵌入扩展了词嵌入以表示整个句子或短语,从而捕获它们的上下文含义。这些嵌入是使用 Transformer 模型(如 Sentence-BERT 或通用句子编码器)生成的。主要应用包括语义搜索,该搜索用于Spotify等搜索引擎中。
- 文档嵌入:整个文档(例如,文章或 PDF)的数值表示。它们是通过聚合单词或句子嵌入(例如,Doc2Vec)或使用基于 Transformer 的模型构建的。这些嵌入广泛用于 RAG 系统。
如何创建向量嵌入
创建向量嵌入的过程需要以下关键步骤:
- 选择您的数据类型:在文本、图像、文档或其他格式之间进行选择。无论数据源如何,都要确保您有足够的训练数据以避免模型过拟合。
- 预处理数据:不同的应用需要不同的预处理技术。这可能包括删除标点符号、表情符号或不相关的术语以进行文本嵌入以减少噪声。预处理可能涉及调整大小或应用数据增强以提高图像的模型性能。
- 生成向量嵌入:将适当的嵌入模型应用于预处理后的数据,例如用于文本的 BERT 或用于图像的 CNN。然后将生成的向量嵌入在向量图中编制索引,以便高效检索。
- 评估嵌入质量:当处理搜索查询时,检索模型(如近似最近邻 (ANN) 或 KNN)用于信息检索。如果检索到的结果保持语义或上下文完整性,则无需进一步调整。
- 根据需要进行优化:如果结果不是最佳的,请重新访问训练数据,改进预处理方法,或尝试替代嵌入模型以提高向量嵌入的质量。
此过程可能非常耗时,并且需要一定的专业知识水平。最新和最先进的模型并不总是生成最佳的向量嵌入,因此确保正确的数据预处理、清理和持续的数据库监控至关重要。
什么是语义空间?
语义空间表示从高维数据(例如,单词、短语和图像)派生的向量嵌入。嵌入模型生成聚类在多维向量空间中的向量嵌入,从而根据单元的含义和模式捕获单元之间的关系。
通过将语言转换为数学坐标,语义空间使机器能够以模仿人类的方式分析上下文、相似性和类比。
语义空间应将苹果与苹果进行比较。因此,为图像生成的向量图与从单词或句子派生的向量图不同。但是,它们都服务于相同的最终目的,即轻松检索信息和语义。
图解语义空间
我们可以用一个简单的例子来说明语义空间。考虑一个图表,其中三个轴对应于以下语义属性:猫科动物、幼年和犬科动物。
- 在猫科动物轴上,我们有猫
- 在幼年轴上,有婴儿
- 在犬科动物轴上,我们有狗
通过组合这些轴,我们可以找到给出更具体实体的交集
- 猫科动物和幼年组合在一起,给我们小猫
- 幼年和犬科动物组合在一起,给我们小狗
通过为这些属性分配数值向量值,我们可以构建一个简单的语义空间
单词 | 犬科动物 | 猫科动物 | 幼年 |
---|---|---|---|
狗 | 1 | 0 | 0 |
猫 | 0 | 1 | 0 |
婴儿 | 0 | 0 | 1 |
小猫 | 0 | 1 | 1 |
小狗 | 1 | 0 | 1 |
语义空间中的嵌入向量
换句话说,图像是用浮点数(向量嵌入)进行的数学表示,根据它们在向量空间中的相似性放置。这就是为什么如果用户查询“给我看一只小狗”,系统可以检索到“小狗”,即使没有使用正确的关键字。
语义空间比之前的示例复杂得多,我们甚至无法以图形方式表示它,因为它是一个 n 维空间。
例如,属性并不总是明确定义的。我们不知道这是否真的是犬科动物的属性,但它与犬科动物的某些东西相关,而狗在这个属性上的排名非常高。数字不是 1 或 0,而是一些实数。
这种复杂性允许对单词和概念如何相互关联进行细致的理解。实际的语义空间可能如下所示
单词 | 犬科动物 | 猫科动物 | 幼年 |
---|---|---|---|
狗 | 0.959 | 0.0032 | 0.022 |
猫 | 0.005 | 0.89 | 0.0345 |
婴儿 | 0.02 | 0.001 | 0.921 |
小猫 | 0.0034 | 0.97 | 0.992 |
小狗 | 0.923 | 0.0045 | 0.842 |
从这些详细的值中,创建了向量嵌入,捕获了每个单词在多维向量中的本质,例如“狗”的 [0.959, 0.0032, 0.022]。这些向量不仅仅是将单词放置在空间中;它们构建了一个详细的含义网络,每个方面都旨在揭示单词含义的一部分。具体维度及其代表的含义可能因模型而异,这反映了它们封装的语义含义的复杂性。
向量嵌入在现实世界的应用中用在哪些方面?
向量嵌入已成为为现代人工智能系统提供动力的核心要素,使机器能够以类似人类的理解来处理非结构化数据。下面,我们探讨一些跨行业的现实世界应用
搜索引擎
- 语义搜索:向量嵌入为语义搜索提供动力,使引擎能够解释用户意图,而不是仅仅依赖关键字匹配。例如,Google 搜索使用嵌入将查询和文档映射到共享向量空间中,从而根据语义相关性检索结果。
- 相关性排名:您可以使用向量搜索和神经搜索系统,根据向量嵌入与用户搜索查询的语义相似性对向量嵌入进行排名。这对于根据搜索查询向用户呈现最准确的结果至关重要。
推荐系统
- 个性化内容交付:诸如 Netflix 之类的流媒体服务使用向量嵌入来表示基于类型、演员和用户交互的电影,从而实现实时建议。在电子商务行业中,向量嵌入表示产品元数据,从而为用户提供与其先前浏览和订单相关的商品。
- 协同过滤:这假设过去行为相似的用户在未来会有相似的偏好。通过交叉两个兴趣相似的不同客户订购的产品的向量嵌入,系统可以提高两者的推荐结果。
自然语言处理 (NLP)
- 大型语言模型 (LLM) 中的文本理解:客户支持系统中的聊天机器人等使用 LLM 将查询转换为向量(例如,“如何重置我的密码?”),并从语义相似的嵌入中检索预先训练的响应(例如,“更改密码的步骤”)。
- 机器翻译:来自 Facebook 的LASER和多语言无监督或监督嵌入 (MUSE) 等模型生成多语言句子嵌入,从而实现直接的跨语言检索和语言翻译。
欺诈和异常检测
- 识别异常模式:金融机构使用嵌入将交易模式编码为向量,从而实时标记异常行为。例如,像Revolut这样的数字银行平台可以在用户的交易向量(例如,小额本地购买)突然转变为异常向量(例如,大额国际转账)时检测到欺诈行为。
- 行为分析:向量嵌入捕获历史用户活动,例如交易频率、登录时间、设备使用情况和浏览模式。通过将这些行为嵌入到向量空间中,欺诈检测模型可以将新的用户操作与正常模式进行比较,以标记可疑的偏差。
图像和视频分析
- 基于内容的检索:诸如 Google Lens 和 Pinterest Lens之类的平台利用卷积神经网络 (CNN) 从图像生成嵌入。当用户上传照片时,系统会将其映射到嵌入空间中,并在数据库中找到最接近的匹配项。
- 面部识别:智能手机(Apple 的 Face ID)和计算机不依赖于精确匹配,而是使用向量嵌入来映射面部图案。即使发型、光线、妆容、眼镜或其他身体变化发生变化,这也能实现准确的识别。
向量数据库如何与向量嵌入一起使用?
向量数据库是强大的架构,可以高效地存储和检索向量嵌入形式的高维数据表示。这些数据库不是处理原始数据,而是索引由机器学习和深度学习 (DL) 模型生成的紧凑数值表示——范围从文本和图像到音频——捕获底层信息的语义本质。
通过将数据组织到这个高维空间中,向量数据库实现了快速相似性搜索,从而可以快速识别和检索项目。
将向量嵌入想象成散布在广阔宇宙空间中的星星。在这个类比中,相似性搜索用于定位宇宙中当前位置附近最近的星星。实际上,这转化为根据搜索查询识别最相关的文档、图像或产品。
为了实现这一点,系统会计算查询向量与数据库中存储的其他向量之间的距离,通常使用余弦相似度或欧几里得距离等方法。这些技术衡量数据点与查询的距离,类似于确定夜空中星星的相对位置。
像Meilisearch这样的向量数据库旨在满足向量嵌入应用的独特需求,例如个性化推荐、基于内容的检索和欺诈检测。
使用向量嵌入有哪些挑战?
虽然向量嵌入在现代具有广泛的应用,但它们仍然面临着重大的挑战。下面,我们探讨三个主要的缺点
可扩展性问题
随着数据集的增长,管理和查询数十亿个高维嵌入变得越来越复杂。向量数据库必须处理海量数据,同时保持低延迟,以用于推荐系统或欺诈检测等实时应用。
传统的索引方法难以应对“维度诅咒”,其中搜索算法的效率会随着维度数量的增加而降低。
一个很好的例子是在文档检索应用中,例如大型科学文章存储库,其中每篇论文都表示为高维向量,有时具有数百甚至数千个维度。随着添加更多文档,点往往彼此等距,从而难以有效地检索相关的科学结果。这会导致查询时间变慢,准确性降低。
解决方案:诸如分层可导航小世界 (HNSW) 图之类的先进技术有助于缓解这种情况。
语义漂移
向量嵌入是在特定数据集上训练的,并且由于语言、用户行为或特定领域上下文的变化,其性能可能会随着时间的推移而降低。这种现象称为语义漂移,当嵌入捕获的关系不再与现实世界的使用情况对齐时,就会发生语义漂移。例如,像“病毒”这样的词语在疫情期间可能会改变含义,从而影响搜索结果或推荐。
这在时尚和电子商务中尤其常见,因为用户可能会随着时间的推移而改变其生活方式和趋势,从而导致推荐不再符合客户的品味。
在流媒体平台上,用户会看到与他们过去的观看和搜索记录相符的剧集和电影。但是,如果他们的品味发生巨大变化,他们必须花费时间研究,直到找到他们想要的东西。
解决方案:为了保持相关性,必须定期重新训练和微调模型。但是,此过程需要高昂的计算成本和持续监控,以确保嵌入保持准确和最新。
计算成本
生成和处理向量嵌入需要计算能力,尤其是在大规模或实时应用中。训练诸如 BERT 或对比语言-图像预训练 (CLIP) 之类的模型需要高性能 GPU 和大型数据集,在云计算中花费数千美元。
即使在训练之后,实时查询也会给基础设施带来巨大的压力,尤其是在自动驾驶之类的应用中。自动驾驶汽车依赖于连续的传感器输入(摄像头、LiDAR 和雷达)来生成环境中物体的嵌入。
这些嵌入帮助车辆实时识别行人、路标和其他车辆。由于每毫秒都很重要,因此系统必须高速处理嵌入,同时保持准确性,这需要强大的车载计算硬件和高效的优化技术。这些资源需求使得基于嵌入的解决方案部署和维护成本高昂。
解决方案:诸如 AWS、Google Cloud 和 Azure 之类的云提供商提供可扩展的按需 GPU 和 TPU 访问,从而可以根据工作负载需求经济高效地进行扩展。
开始使用向量嵌入
虽然向量嵌入如今已成为为强大应用提供动力的不可或缺的技术,但它们也很复杂、计算量大且工程成本高昂。成功始于选择合适的向量数据库——一种可以优化语义空间中的索引并提供无缝集成、监控和分析的数据库。
借助Meilisearch的开源搜索引擎,用户可以通过直观的云平台轻松上传文档和数据集,或使用灵活的 API 将向量数据库集成到其现有基础设施中。
常见问题 (FAQ)
让我们在下面列出有关向量嵌入的最常见问题。
向量嵌入有哪些缺点?
向量嵌入的缺点是超大型数据库引起的可扩展性问题,这会使信息检索效率低下。还存在语义漂移,通常与用户行为或某些单词的语义含义的变化有关。最后,存在与数据训练相关的计算成本,特别是对于实时用例。
哪些类型的数据可以转换为向量嵌入?
向量嵌入可以应用于各种数据类型。这些包括
- 产品元数据,在电子商务平台中很常见;
- 用户行为数据,例如来自流媒体服务的历史浏览记录;
- 图像,使用卷积神经网络 (CNN) 嵌入;
- 单个单词,通常用于翻译系统,句子,比单个单词提供更多的上下文信息;
- 文档,可以包括整个文件,如 PDF。
向量嵌入与 one-hot 编码有何不同?
向量嵌入与 one-hot 编码的不同之处在于,它将数据表示为捕获语义关系的密集、低维向量。相比之下,one-hot 编码使用没有内在含义的稀疏向量。后者表示分类变量,其中每个唯一类别都分配了一个二进制向量,该向量在与类别对应的位置具有单个“1”,而在所有其他位置具有“0”。因此,向量是稀疏的。