在AI里面,常有 “把高维向量用于AI的搜索、推荐和语义理解” 的表达
这儿的高维向量是什么意思?
低维是我们生活的世界,直观但容量有限;
高维是 AI 的“大脑”,反直觉但拥有极其庞大的信息存储和分类能力。
AI 的本质,其实就是用低维的输入,在内部构建高维的向量空间,最后再输出低维的结果(比如一个分类标签或一句回答)。
而且“高维”和“低维”其实是一个相对的概念,并没有一条绝对的界线。在数学和机器学习中,它们有着不同的特性和应用场景。
什么是低维向量?(通常指 1~3 维)
低维向量就是我们日常生活中最熟悉的几何空间:
- 1维(标量/直线):比如你的体重(70kg),或者温度计上的刻度。
- 2维(平面):比如地图上的经纬度 (x,y)(x,y) ,或者一张黑白照片的像素矩阵。
- 3维(立体空间):比如你所在房间的长宽高 (x,y,z)(x,y,z) ,或者一个 3D 游戏模型。
特点:在低维空间中,人类的直觉是完全适用的。两点之间直线最短,空间看起来很“空旷”,距离和角度的计算非常直观。
什么是高维向量?(通常指几十、几百到上万维)
当向量的维度 dd 变得很大时(比如 d≥100d≥100 ),我们就进入了高维空间。
- AI 中的 Embedding:比如 OpenAI 的文本向量通常是 1536 维,图像模型(如 CLIP)的向量可能是 768 维。
- 推荐系统:如果用 1000 个标签来描述用户偏好,这就是一个 1000 维向量。
- 原始数据:一张 1000x1000 的彩色图片,如果直接拉平,就是一个 3,000,000 维的向量。
特点:高维空间完全反人类直觉,这也是为什么它听起来很神秘的原因。
高维空间有哪些“反直觉”的神奇现象?
高维向量之所以强大,正是因为低维做不到的事情,高维能做到:
- 维度灾难(Curse of Dimensionality):
在 3D 空间里,数据很容易挤在一起。但在 1000 维空间里,空间大到难以想象,所有的数据点都变得极其稀疏。这导致在高维空间中,所有点之间的距离都变得差不多远。这就是为什么高维搜索不能直接算距离,必须用特殊的算法(如 HNSW、FAISS)。 - 空间变得像“刺猬”:
在低维空间,两个随机向量的夹角可能是各种度数;但在高维空间,两个随机向量的夹角几乎总是接近 90 度(正交)。这意味着高维空间里有无数个互相垂直的方向,模型可以把“苹果”和“香蕉”放在完全正交的方向上,互不干扰地存储海量信息。 - 更容易被“切开”(线性可分):
在 2D 平面上,如果红点和蓝点像甜甜圈一样嵌套在一起,你画一条直线是切不开它们的。但在 3D 空间中,你可以用一个平面把它们切开。维度越高,数据越容易被一条直线/一个超平面分开。这就是为什么 AI 分类任务在高维向量上做得特别好。
高维和低维的相互转换(降维)
既然高维这么好,为什么我们还要关心低维?因为高维太占内存,且人类看不懂。
所以,AI 领域有一个极其重要的分支叫降维(Dimensionality Reduction),比如 PCA(主成分分析)或 t-SNE。
- 目的:把 1000 维的向量,压缩成 2 维或 3 维。
- 代价:压缩必然丢失信息,但好的算法能保留最核心的“结构”(比如聚类关系)。
- 应用:我们在论文里看到的那些非常漂亮的、五颜六色的散点图(展示 AI 把猫和狗分开了),其实都是把高维向量降维到 2D 平面后画出来的。