前两幕,我们学会了描述静止的世界(数、方程、坐标),也学会了描述变化的世界(函数、指数、波、微积分)。

第三幕的主题是:看不见的世界。

高维空间、概率分布、梯度场——这些东西你摸不到、看不见,但 AI 恰恰就在这些"看不见的世界"里运行。

数学帮你看见它们。

系列导航

第一幕(5 篇)+ 第二幕(5 篇)→ 查看全部
▸ 第十一篇(本文):向量——给万物一个坐标 【第三幕开篇】
▹ 第十二篇:矩阵——空间的变形术
▹ 第十三篇:概率——拥抱不确定
▹ 第十四篇:高维——超越想象力
▹ 第十五篇:梯度下降——数学会学习
▹ 第十六篇:终章——数学是人类的望远镜

第一章:一杯咖啡有多少"维度"?

你走进一家咖啡店。

服务员问:“您想喝什么样的咖啡?”

你说:“温度高一点,甜度低一点,浓度大一点。”

不知不觉间,你用了三个数来描述一杯咖啡:

一杯咖啡的"坐标"
你的咖啡 = [温度: 85°C, 甜度: 2/10, 浓度: 8/10]

用数学的写法:
  咖啡A = [85, 2, 8]

这三个数组成的列表,就是一个向量。

第四篇(坐标革命) 里,我们学过:两个数 (x, y) 可以确定平面上的一个点。三个数 (x, y, z) 可以确定空间中的一个点。

现在我们扩展这个思想:任意多个数,可以描述任意复杂的事物。

万物皆向量
事物用什么数描述维度
一杯咖啡[温度, 甜度, 浓度]3
一个游戏角色[攻击, 防御, 速度, HP, MP]5
一张脸[眼距, 鼻长, 脸宽, 肤色, …]几十
一首歌[节奏, 旋律性, 能量, 情绪, …]几十
一个词的含义[维度₁, 维度₂, …, 维度₇₆₈]768
一张图片[像素₁, 像素₂, …]数百万

向量 = 一组有序的数。 就这么简单。

它可以是 2 个数(地图坐标),可以是 5 个数(游戏角色属性),也可以是 768 个数(词向量)。个数就是"维度"。

一句话记住: 向量不是一个高深的概念。向量就是"一串数字"——用来描述一个事物的多个方面。你每天都在和向量打交道,只是没人告诉你它叫向量。


第二章:向量的加减法——直觉篇

向量最直觉的操作是加法

向量加法 = 合力
想象你和朋友一起推一辆车:

  你推:向右 3 步,向前 4 步  →  [3, 4]
  朋友推:向右 1 步,向前 2 步  →  [1, 2]

  合起来:[3+1, 4+2] = [4, 6]

  车最终:向右 4 步,向前 6 步

向量加法就是"每一维分别相加"

向量减法也很自然——它表示"差异":

北京的气候 = [年均温: 12°C, 降水: 580mm, 日照: 2600h]
上海的气候 = [年均温: 16°C, 降水: 1200mm, 日照: 1900h]

差异 = 上海 - 北京 = [+4°C, +620mm, -700h]

意思:上海比北京暖 4 度、多雨 620mm、少晒 700 小时

向量减法告诉你"两个事物差在哪里"。


第三章:点积——“两件事有多像?”

这是向量最重要的操作。没有之一。

点积(dot product)衡量的是:两个向量有多"相似"。

点积 = 逐项相乘再求和
向量 A = [1, 2, 3]
向量 B = [4, 5, 6]

点积 = 1×4 + 2×5 + 3×6 = 4 + 10 + 18 = 32

就是"对应位置相乘,然后全加起来"

点积为什么能衡量相似度?

直觉上:如果两个向量在每一个维度上都"同方向、同大小",乘起来都是正数,加起来就很大。如果方向相反,乘起来是负数,加起来就小甚至是负的。

更精确地说,有一个叫余弦相似度的公式:

余弦相似度 = 点积 / (|A| × |B|)

结果范围:-1 到 1
  1  = 完全相同方向(非常像)
  0  = 完全无关
 -1  = 完全相反

中国古语的"相似度":易经·系辞》说"方以类聚,物以群分"——相似的东西会聚在一起。向量的余弦相似度就是这句话的数学表达:相似的向量(类聚的事物),在高维空间里靠得近。

一句话记住: 点积 = “这两个东西有多像”。它是 AI 最核心的计算——Attention 机制的核心就是算词与词之间的点积(还记得第五篇吗?QK^T 就是在算点积)。


第四章:连接 AI——“国王 - 男人 + 女人 = 女王”

现在来看向量在 AI 里最惊艳的表演。

2013 年,Google 的研究者用一个叫 Word2Vec 的模型,把每个词映射成一个向量(几百维的数列表)。

训练完成后,他们发现了一个震撼世界的现象:

国王 - 男人 + 女人 ≈ 女王
向量("国王") - 向量("男人") + 向量("女人") ≈ 向量("女王")

翻译成人话:
  从"国王"里减去"男性"的成分
  加上"女性"的成分
  得到的向量最接近的词是——"女王"

这意味着:
  "国王"和"女王"之间的关系
  "男人"和"女人"之间的关系
  在向量空间里是同一个"方向"——
  那个方向代表了"性别"这个概念

没有人教 AI “什么是性别”。 AI 只是读了大量的文本,自动学到了——“国王"和"男人"有某种关系,“女王"和"女人"有同样的关系。这种关系被编码成了向量空间中的一个方向

更多例子:

向量算术 = 语义推理
向量运算结果编码的概念
巴黎 - 法国 + 日本≈ 东京“首都”
好 - 坏 + 慢≈ 快“反义”
游泳 - 游泳过去式 + 跑步≈ 跑步过去式“时态变换”

向量不只是"一串数字”。它们捕捉到了概念之间的关系。

如果你想深入了解词向量的运算、余弦相似度的计算、以及 AI 怎么把词变成向量,可以看我的 《AI 的数学语言(一):用数字画地图》《AI 的数学语言(二):向量的加减法》——那两篇有更详细的代码演示和数学推导。

一句话记住: AI 把每个词变成向量后,词的"含义"就变成了可以加减乘除的数学对象。“国王 - 男人 + 女人 = 女王"不是 AI “理解"了性别,而是向量空间自然编码了语义关系。


第五章:你一直在用向量

在结束之前,让我指出一件你可能没意识到的事:

你的大脑一直在做"向量运算”。

大脑的"向量运算"
你做的事其实是什么
“这两首歌风格很像”在"风格向量"空间里,两首歌的点积很大
“这个人和我很合得来”在"性格向量"空间里,两人的余弦相似度高
“这道菜缺点什么”在"味觉向量"空间里,和你期望的向量有差距
“这部电影让我想起了另一部”两部电影的"特征向量"在某些维度上相近

数学没有发明新的东西。数学只是把你大脑已经在做的事——精确化、量化、可计算


动手实验

实验:词向量的相似度

import numpy as np

# 简化的 5 维词向量
words = {
    '国王': np.array([0.9, 0.8, 0.1, 0.3, 0.7]),
    '女王': np.array([0.8, 0.2, 0.1, 0.3, 0.7]),
    '男人': np.array([0.2, 0.9, 0.1, 0.2, 0.5]),
    '女人': np.array([0.1, 0.1, 0.1, 0.2, 0.5]),
    '汽车': np.array([0.1, 0.5, 0.9, 0.8, 0.1]),
}

# 余弦相似度
def cosine_sim(a, b):
    return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))

print("余弦相似度(越接近 1 = 越像):")
print("─" * 35)
for a, b in [('国王','女王'), ('国王','男人'), ('国王','汽车')]:
    sim = cosine_sim(words[a], words[b])
    bar = "█" * int(sim * 20)
    print(f"  {a}{b}: {sim:.3f}  {bar}")

# 向量算术
print("\n国王 - 男人 + 女人 ≈ ?")
result = words['国王'] - words['男人'] + words['女人']
best_word, best_sim = '', -1
for w, v in words.items():
    if w not in ['国王', '男人', '女人']:
        sim = cosine_sim(result, v)
        if sim > best_sim:
            best_word, best_sim = w, sim
print(f"  最接近的词: {best_word} (相似度 {best_sim:.3f})")

本篇小结

这篇文章讲了什么?

一、向量 = 一组有序的数

  • 用来描述一个事物的多个方面
  • 咖啡 [温度, 甜度, 浓度],词 [768 个维度]

二、向量加法 = 合力,向量减法 = 差异

  • 加法:每一维分别相加
  • 减法:告诉你两个事物差在哪

三、点积 = 衡量相似度

  • 逐项相乘再求和。余弦相似度范围 -1 到 1
  • Attention 的核心就是算点积

四、AI 的惊艳表演

  • 国王 - 男人 + 女人 ≈ 女王
  • 向量自然编码了语义关系

五、你的大脑一直在做向量运算

  • “这两首歌风格很像” = 点积大
  • 数学只是把直觉精确化

下一篇预告

向量描述了"一个事物”。但如果你想同时变换一大堆向量呢?

比如——把一个图形旋转 45 度、把一张图片放大两倍、把一个词向量从"原始含义"空间投影到"查询/键/值"空间?

做这件事的工具叫矩阵

矩阵不是"一堆数排成方块”。矩阵是一个变换器——它可以拉伸、旋转、投影整个空间。而神经网络的每一层,就是一次矩阵变换。

下一篇:看见数学(十二):矩阵——空间的变形术


《看见数学》系列 — 从结绳记事到 AI,看见数学之美。
本文首发于「AI 学习笔记」博客:https://Jason-Azure.github.io/ai-blog/
微信公众号:AI-lab学习笔记
系列文章完整列表见 标签:看见数学