嵌入向量(Embedding Vector)是通过嵌入函数(Embedding Function)将复杂、高维或稀疏数据(如文本、图像、分类特征等)映射到低维、稠密向量空间(vector space)中表示的向量。这种向量表示保留了原始数据的语义或结构信息,在机器学习和深度学习中广泛用于处理文本、图像、用户行为等任务。嵌入向量是许多模型的核心组成部分,它能以低维形式有效表达高维数据,并用于计算相似性、分类等任务。
1. 为什么需要嵌入向量?
许多现实世界的数据是高维和稀疏的。直接使用这些高维数据进行计算不仅效率低下,而且会难以捕捉数据之间的复杂关系。嵌入向量通过将高维或稀疏数据映射到一个更低维的空间中,使得模型能够更高效地进行学习和计算。
例子:文本数据
在自然语言处理(NLP)中,文本通常表示为一组稀疏的词袋模型(Bag-of-Words,BOW),每个词的位置标记它在句子中的存在。这种稀疏表示虽然直观,但难以捕捉词与词之间的语义关系。嵌入向量通过将词语映射为稠密向量表示,使得语义相近的词(如“猫”和“狗”)在向量空间中更加接近,而语义不同的词(如“猫”和“汽车”)则相距较远。
2. 嵌入向量的定义
嵌入向量是一个固定维度的稠密向量,通过模型或函数学习生成,用于表示复杂数据的特征。在自然语言处理中,常见的嵌入向量维度通常为100维、300维,甚至更高(如768维,用于BERT模型)。
形式上,如果我们有一个词语、图像或用户的高维表示为 x x x,通过嵌入函数 f ( x ) f(x) f(x),将其映射为低维的嵌入向量:
v x = f ( x ) \mathbf{v}_x = f(x) vx=f(x)
其中, v x \mathbf{v}_x vx 是该词语、图像或其他对象的低维向量表示(即嵌入向量)。
3. 嵌入向量的目标
嵌入向