核心思想:从“符号”到“数值”
在传统计算机中,信息是符号化的。

- 词:用字符串
"apple"表示。 - 类别:用标签
"水果"表示。 - 图片:用像素矩阵
[ [255,0,0], [0,255,0], ... ]表示(虽然也是数字,但缺乏语义)。
向量表示的精髓在于,将这些符号映射到一个高维的、连续的数值空间(向量空间) 中,这个映射过程的目标是:让向量的几何关系(如距离、方向)反映原始对象的语义关系。
核心类比:地图坐标 想象一下,世界上所有的城市(对象)都可以用经纬度(二维向量)表示。
- 北京 ≈
(116.4, 39.9) - 天津 ≈
(117.2, 39.1) - 上海 ≈
(121.5, 31.2) - 伦敦 ≈
(-0.1, 51.5)
我们可以看到:
- 北京和天津的向量距离很近 -> 它们在地理上接近。
- 北京和伦敦的向量距离很远 -> 它们在地理上遥远。
- 方向:
上海 - 北京的向量方向大致指向东南。
向量表示就是为“词”、“句子”、“图片”等所有对象,寻找这样一张高维的“语义地图”。
为什么需要向量表示?
- 可计算性:计算机擅长处理数字和数值运算,一旦对象变成了向量,我们就可以进行相似度计算(如余弦相似度)、聚类、分类、加减运算等。
- 捕捉语义关系:好的向量表示能让语义相似的物体在向量空间中位置接近。
“猫”和“狗”的向量距离应该比“猫”和“汽车”近得多。- 著名的例子:
“国王”的向量 - “男人”的向量 + “女人”的向量 ≈ “女王”的向量,这说明向量空间捕获了“性别”和“王室”的关系。
- 解决维度灾难与稀疏性:传统的 One-hot 编码(见下文)维度极高且稀疏(几乎全是0),计算效率低,且无法表达任何关系,向量表示将其压缩为相对低维、稠密的向量。
- 作为通用接口:几乎所有的深度学习模型(如神经网络)的输入和中间层,处理的都是向量,向量表示是将原始数据输入模型的“桥梁”。
关键特性:Embedding(嵌入)
Embedding 特指通过学习得到的、低维的、稠密的向量表示,它有两个关键属性:
- 稠密性:向量中的每个维度(元素)通常都是非零的实数,承载一定的语义信息。
- 低维性:维度通常在几十到几千之间,远低于 One-hot 编码的维度。
“Embedding”这个词形象地描述了将对象“嵌入”到一个连续的向量空间的过程。
常见的向量表示方法与技术
文本表示
- One-hot Encoding(独热编码):
- 基础方法:假设词汇表有1万个词,每个词用一个长度为1万维的向量表示,只有该词对应位置是1,其余全是0。
- 缺点:维度高、稀疏、无法表示任何语义关系(任意两个词的向量点积都为0)。
- Word2Vec / GloVe / FastText:
- 经典词嵌入技术,通过在大规模语料上训练,为每个词生成一个稠密向量(如300维)。
- 核心思想:一个词的语义由其上下文决定。“相似的词出现在相似的上下文中”。
“银行”和“金融”的向量会很接近,因为它们的上下文(如“存款”、“贷款”、“市场”)相似。
- 上下文相关的词向量(如BERT, ELMo):
- 更先进的技术,同一个词在不同语境下有不同的向量表示。
“苹果手机”中的“苹果”和“我想吃苹果”中的“苹果”,会得到两个不同的向量,前者更接近科技公司,后者更接近水果。
- 句子/文档向量:
- 对整个句子或段落生成一个向量表示,方法包括:
- 对词向量取平均。
- 使用 RNN/LSTM/Transformer 等序列模型编码。
- 专门模型如 Sentence-BERT,能高效生成语义化的句子向量。
- 对整个句子或段落生成一个向量表示,方法包括:
图像表示
- 通常使用在大型图像数据集(如ImageNet)上预训练好的卷积神经网络(CNN)。
- 将图片输入CNN,取出倒数第二层(分类层之前)的输出,作为一个高维特征向量(例如2048维)。
- 这个向量包含了图像的抽象视觉特征(如边缘、纹理、物体部件等),语义相似的图像,其向量也相似。
协同过滤中的表示(推荐系统)
- 矩阵分解(如 FunkSVD):将“用户-物品”评分矩阵分解为两个低维矩阵:用户隐向量矩阵 和 物品隐向量矩阵。
- 每个用户用一个向量表示其偏好,每个物品用一个向量表示其属性。
- 预测用户对物品的评分,就是计算两个向量的内积,向量相近表示用户兴趣相似或物品属性相似。
如何衡量向量之间的关系?
- 余弦相似度:最常用的方法,衡量两个向量在方向上的差异,忽略长度,值域为[-1, 1],1表示方向完全相同。
相似度 = (A·B) / (||A|| * ||B||) - 欧氏距离:衡量空间中两点间的直线距离,距离越小越相似。
距离 = sqrt( sum( (A_i - B_i)^2 ) ) - 内积:常用于推荐系统,直接表示用户向量和物品向量的匹配程度。
应用场景
- 语义搜索:将查询和文档都转化为向量,在向量库中搜索最相似的文档。
- 推荐系统:用户向量和物品向量相似度计算。
- 文本分类/聚类:将文本向量化后,用传统机器学习算法处理。
- 机器翻译:在共享的向量空间中对齐不同语言的词/句子。
- 图像检索:用图片向量寻找相似图片。
- AI生成(AIGC):大语言模型(LLM)在生成下一个词时,本质上是在其内部的向量空间中进行运算和选择。
向量表示的基础知识可以概括为:
将现实世界的离散符号(文字、图片、ID等),通过某种学习或映射方法,转化为连续、稠密、低维的数值向量,其核心目标是让这些向量的几何关系(距离、方向)能够反映原始对象的语义或关联关系,从而为计算机的理解、计算和推理提供基础。
理解向量表示是进入现代AI世界的关键第一步,从Word2Vec到BERT,再到各种多模态模型,技术的演进本质上是如何更好地为万物生成高质量的向量表示。