什么是 向量嵌入?
向量嵌入是一种机器学习技术,将离散数据(如单词、句子或实体)转换为高维空间中的连续稠密向量,使语义相似的项目映射到相近的点。
快速了解
| 创建时间 | 2013 年由 Tomas Mikolov 等人提出(Word2Vec) |
|---|---|
| 规范文档 | 官方规范 |
工作原理
嵌入通过将数据表示为数值向量来捕获语义关系,通常具有数百或数千个维度。早期方法如 Word2Vec 和 GloVe 通过分析大型文本语料库中的词共现模式来学习词嵌入。现代基于 Transformer 的模型(如 BERT 和 GPT)生成上下文嵌入,同一个词根据其周围上下文可以有不同的表示。这些稠密向量表示使得对语义含义进行数学运算成为可能,例如通过计算余弦相似度来衡量两个概念的相关程度。
主要特点
- 高维稠密向量,维度通常在 128 到 4096 之间
- 捕获数据点之间的语义含义和关系
- 通过余弦相似度等距离度量实现相似度计算
- 在 Transformer 模型中,上下文嵌入随周围上下文变化
- 从训练数据中编码复杂模式的学习表示
- 支持语义概念的算术运算(如:国王 - 男人 + 女人 ≈ 女王)
常见用途
- 语义搜索引擎,查找概念相关的内容
- 检索增强生成(RAG),为大语言模型响应提供知识基础
- 基于内容相似度的推荐系统
- 文档聚类和主题建模
- 通过基于距离的异常值识别进行异常检测
示例
loading...
Loading code...常见问题
什么是机器学习中的向量嵌入?
向量嵌入是一种将离散数据(单词、句子、实体)转换为高维空间中连续稠密向量的技术。语义相似的项目被映射到相近的点,从而能够对语义含义进行数学运算,如相似度计算。
Word2Vec 和 BERT 嵌入有什么区别?
Word2Vec 产生静态嵌入——每个词不论上下文都有一个固定的向量。BERT 产生上下文嵌入——同一个词根据周围上下文会有不同的向量。BERT 能捕获更细微的含义,但需要更多计算。
如何使用嵌入进行语义搜索?
使用 text-embedding-3-small 等模型将文档和查询转换为嵌入。在向量数据库(Pinecone、Weaviate、Chroma)中存储文档嵌入。搜索时,对查询进行嵌入并使用余弦相似度或欧氏距离找到最近邻。
什么是嵌入维度,如何选择?
嵌入维度是向量中的数值个数(如 384、768、1536)。更高的维度能捕获更多信息,但增加计算和存储成本。大多数场景使用 384-1536 维效果良好。根据准确性和效率的权衡来选择。
嵌入在 RAG 中有什么作用?
在 RAG(检索增强生成)中,嵌入实现相关文档的语义检索。查询被嵌入后,从向量数据库检索相似文档,这些文档为大语言模型提供上下文,以生成有依据的、准确的回答。