第1章 线性代数:AI 的数字积木

听说”线性代数”是 AI 的地基,很多朋友在门口就吓退了 - 满屏的向量、矩阵符号,看着像天书。这一章我们换个玩法:不背定义、不推公式,就用买菜、导航、打包照片这些生活场景,把”向量、矩阵、点积”这些名字一个个拆开。读完你会发现,AI 每天干的事,说白了就是”数字的加减乘”,而已。

1.1 向量:AI 眼中的”数据清单”

先别管数学课本怎么说,向量(vector)在 AI 里的角色,就是一张有序的数字清单。比如你周末去超市,脑子里记着:牛奶 2 瓶、面包 1 袋、鸡蛋 12 个。这其实就是一个向量 - 只是你平时不这么叫它。“有序”是关键:如果清单变成”鸡蛋 12 个、面包 1 袋、牛奶 2 瓶”,数字没变,意思却全乱了。AI 也一样,它规定好”第 1 个数字表示什么、第 2 个数字表示什么”,顺序就是含义的一部分

生活中最常见的向量是坐标。你打开地图导航,“从家出发,向东 2 公里、向北 3 公里” - 这个 (2, 3) 就是一个二维向量:第一个数字管左右,第二个数字管上下。两个数字合起来,唯一确定一个位置,就像图 1-1 里那支箭头。

图 1-1 向量 v = (2, 3):第一个数字管 x 方向,第二个数字管 y 方向,合起来指向唯一一个位置

\[ v=(2,3)\qquad\text{“向东 2 步、向北 3 步”} \]

人话解释:一个向量就是一组有序的数字,在这个例子里第一个数管左右,第二个数管上下。数字的顺序就是含义。

在 AI 眼里,几乎一切都能变成向量:一张 28×28 的小图片,AI 看到的不是图,而是一串 784 个数字(每个数字代表一个像素的明暗);一个词”猫”,会被变成几百个数字组成的词向量,位置相近的词意思相近;一个人的身高、体重、年收入,拼在一起就成了特征向量。看,向量不神秘,它就是 AI 处理信息的”标准格式”。

现实里的东西 AI 眼中的向量
一张 28×28 的图片 784 个数字:每个像素的明暗值
一个词,比如”猫” 几百个数字组成的词向量
一个人 特征向量:身高、体重、年收入……
重要

一句话记住
向量 = 一组有序的数字清单。顺序就是含义,AI 用这种格式装下任何信息 - 图片、文字、人。

注记

为什么必须是数字?
因为电脑只会做算术。把”猫”翻译成数字清单,电脑才能”算”它和”狗”像不像。等到第 3 章讲词向量时,我们会回到这个例子上。

1.2 向量运算:加减与缩放

向量也能做算术,而且规则比你想象的还简单。

加法 = 合并两次位移。你今天出门:先向东走 1 公里,再向北走 2 公里;接着又向东 3 公里、向北 1 公里。与其分成四步记,不如直接算总账 - 把两个方向的数字分别相加:(1, 2) + (3, 1) = (4, 3),意思是”总共向东 4、向北 3”。把两个向量当成两条边,拼成的平行四边形对角线,就是它们的和 - 这就是图 1-2 画的平行四边形法则。先走 A 再走 B,和先走 B 再走 A,结果完全一样,所以向量加法还能交换顺序。

图 1-2 向量加法:把两个向量当两条边,平行四边形的对角线就是它们的和

减法 = 走回去。从 A 地走到 B 地,再从 B 地返回 A 地,两次位移相加等于零向量 (0, 0) - 出门又回家了。

缩放(标量乘法)= 拉伸或压缩。把音量调大 2 倍、把照片放大 1.5 倍,都是”每个数字乘同一个数”:2 × (1, 2) = (2, 4),箭头被拉长,方向不变;乘负数则方向反转。

\[ (1,2)+(3,1)=(4,3)\qquad 2\times(1,2)=(2,4) \]

人话解释:加法就是把对应位置的数字分别相加;缩放就是把每个数字乘上同一个数,像拉长一根橡皮筋。

你可能觉得这太简单了 - 但神经网络的”神经元”干的事,恰恰就是”先缩放、再相加”:每个输入乘上自己的权重(缩放),再把所有结果加起来(相加),专业说法叫加权求和。你在第 7 章会看到,千千万万个神经元每天都在做这一件事。

提示

类比:神经元 = 一台混音台
每个音轨先调音量(缩放),再推上去混合(相加),最后出来的就是总声音。深度学习里的”权重”就是那些音量旋钮 - 所谓训练,就是在拧这些旋钮。

1.3 矩阵:把向量排成表格

一张清单是向量,那很多张清单摞在一起呢? - 就变成矩阵(matrix)了。矩阵说白了,就是把一堆向量排成表格:每一行是一条数据,每一列是这些数据里”同一个位置”的数字,就像图 1-3 那样。

图 1-3 矩阵就是一张数字表格:行是清单,列是”同一个位置”。这里的数字像不像像素的亮度值?

举个例子。你想给电脑看一张 4×4 的小图,图上的每个小格子叫像素,每个像素有一个”亮度值”(0 表示全黑,255 表示全白)。把 4 行像素依次排开,你就得到一张 4 行 4 列的像素矩阵 - 数字越大的格子越亮,图画就藏在这些数字里!手机照片的 2000 万像素,就是一张 2000 万格子的超大表格。AI 看的从来不是”照片”,而是这张数字表。

\[ M\text{ 是一个 }m\times n\text{ 的数字表格} \]

人话解释:先写行数、再写列数。比如 3×4,就是 3 行 4 列;28×28 的图像,就是 28 行 28 列的像素矩阵。

矩阵为什么重要?因为它让”一次处理一堆数据”成为可能。一个班 30 个人的成绩单是矩阵,训练时一批 64 张图片也是矩阵 - 矩阵就是 AI 的”批量打包工具”。

重要

一句话记住
矩阵 = 把向量排成表格。行是一条条数据,列是同一个位置;图片在 AI 眼里就是像素矩阵。

注记

补充:0–255 的亮度
8 位灰度图里每个像素用 0–255 的整数表示明暗,255 全白、0 全黑。彩色图更简单 - 拆成红、绿、蓝三张”亮度表”叠在一起看。

1.4 矩阵乘法:AI 的”交通枢纽”

矩阵能加、能减、能缩放,但真正撑起深度学习的,是矩阵乘法。它值得你多花两分钟,因为整个 AI 的算力几乎都耗在这一件事上。

规则只有一条,记住四个字:行 × 列。结果矩阵里第 i 行第 j 列的数字,等于”左边矩阵第 i 行”和”右边矩阵第 j 列”逐项相乘、再加起来。看图 1-4:算 c₁₁ 时,把 A 的第一行(a₁₁, a₁₂)和 B 的第一列(b₁₁, b₂₁)拿出来,两两相乘再求和 - a₁₁×b₁₁ + a₁₂×b₂₁。

图 1-4 矩阵乘法”行 × 列”:A 的第一行和 B 的第一列逐项相乘再求和,得到结果 c₁₁

\[ (AB)_{ij}=\sum_k A_{ik}B_{kj} \]

人话解释:结果里第 i 行第 j 列的数 = A 的第 i 行与 B 的第 j 列逐项相乘再求和。别背符号,记住”行点列”四个字就行。

听起来像”排队做乘法”?对,而且有个前提:左边矩阵的列数,必须等于右边矩阵的行数,否则没法逐项对上。比如 2×3 的矩阵只能乘 3×4 的矩阵,结果是 2×4 的。这有点像流水线:每个零件都得有对应的工位。

那这和 AI 有什么关系?关系大了。神经网络里的全连接层(你在主书里会反复见到)干的就是一次巨型矩阵乘法:输入是一批数据(矩阵),权重是另一张矩阵,乘出来的结果喂给下一层。GPT 这类大模型每秒要做几亿亿次这样的乘加 - 所以芯片厂商拼命造 GPU、NPU,因为它们最擅长的就是”一口气算几百万个乘加”。

重要

一句话记住
矩阵乘法 = 左边的一行 × 右边的一列,逐项相乘再求和。“行点列”,四个字记住规则;全连接层就是矩阵乘法。

注记

为什么全连接层是矩阵乘法?
因为一层网络要把”很多输入”变成”很多输出”,而且每个输出都要和所有输入发生关系 - 这正好是矩阵乘法干的事。主书第 1 章讲 BP 神经网络时,你会看到同一件事的另一个名字:前向传播。

1.5 点积与相似度:衡量”像不像”

前面都是”两个向量怎么组合”,这一节问一个更生活的问题:两个向量像不像?

先看一个神奇的操作 - 点积(也叫内积):把两个向量对应位置的数字相乘,再把所有乘积加起来。公式长这样:

\[ a\cdot b=a_1b_1+a_2b_2+\cdots+a_nb_n \]

人话解释:两份数字清单,对应位置相乘,再全部加起来。得数越大 → 两个向量方向越一致 → “越像”。

用人话说:你和小伙伴各填一份”口味问卷”,问题一模一样(都喜欢猫?都爱甜食?都怕辣?),答案都是数字(5 分制)。把每个问题的两个分数相乘再全部加起来 - 得分越高,说明你们的口味越接近!点积就是在做这件事:两份清单越”方向一致”,点积越大。

图 1-5 点积与夹角:夹角越小,两个向量”越像”;垂直时点积为 0,方向相反时为负

它还有一层几何直觉(图 1-5):把向量画成箭头,两个箭头之间的夹角越小,点积越大;夹角 90°(互相垂直)时点积为 0;方向相反时点积为负。夹角为 0°,也就是完全同向时,点积最大。所以点积天生就是一把”像不像”的尺子

AI 用得最多的,是它的亲戚余弦相似度:把点积除以两个向量的长度,就只关心”方向像不像”、不看”长度多长” - 就像比较两个人”三观合不合”,不管谁个子高。搜索引擎、推荐系统、大模型理解语义,全靠这一招:把词变成词向量,再用相似度判断”猫”和”狗”像不像、“猫”和”火车”像不像。答案不用我说了吧?

提示

类比:口味问卷
两份答案逐题相乘再求和,数值大 = 口味接近。AI 判断两个词像不像,用的就是同一套逻辑 - 只不过问卷有几百道题,答案也是几百个数字。

1.6 矩阵与神经网络:一个具体例子

这一节我们把前面的积木全部拼起来:用一个具体的小数字例子,看矩阵乘法怎么变成神经网络的”隐藏层”。别紧张,全程只有小学乘法。

假设输入只有 3 个数字:\(x\) = (1, 0, 1) - 可以理解成”某个东西的 3 个特征值”。中间有一层叫隐藏层,有 2 个神经元。每个输入和每个神经元之间有一条线,线上标着权重,就是图 1-6 里的那些小数。

图 1-6 一个极简神经网络:3 个输入乘权重,加权求和得到 2 个隐藏层数字。这就是一次”前向传播”

现在算第一个神经元 h₁:它把 3 个输入各自乘上自己的权重再相加 - 1×0.2 + 0×(−0.1) + 1×0.4 = 0.6。第二个神经元 h₂ 同理:1×(−0.3) + 0×0.5 + 1×0.1 = −0.2。于是隐藏层的输出就是 (0.6, −0.2)。

发现没有?“3 个输入变成 2 个输出”,每个输出都跟所有输入有关 - 这正是 1.4 节的矩阵乘法!把 6 个权重排成一张 3×2 的矩阵 W(见下表),然后算 \(x\) × W,结果恰好就是 (0.6, −0.2)。一行代码都还没写,你已经手动完成了一次前向传播的最核心一步。

权重矩阵 W 到 h₁ 到 h₂
从 x₁(值 = 1) 0.2 −0.3
从 x₂(值 = 0) −0.1 0.5
从 x₃(值 = 1) 0.4 0.1

\[ \text{隐藏层}=xW\qquad (1,0,1)W=(0.6,-0.2) \]

人话解释:把输入当成清单、权重当成表格,一乘,就得到下一层的输出。神经网络前向传播的第一步,就是它。

这就是《人工智能理论与实践》第 1 章(BP 神经网络)里每天要算几百亿次的运算。区别只是:真实网络有几千个输入、几万个神经元,数字更大、次数更多 - 但规则,和你刚刚做的一模一样。

重要

一句话记住
神经网络 = 一层一层的”加权求和”。输入 × 权重矩阵 = 下一层的输出 - 恭喜,你现在已经会前向传播的核心了。

重要

本章要点

  • 向量 = 一组有序的数字清单,顺序就是含义。
  • 图片、文字、人在 AI 眼里都是向量:图片 = 像素清单,词 = 词向量。
  • 向量加法 = 合并位移;缩放 = 拉伸(每个数字乘同一个数)。
  • 神经元的核心操作 = 加权求和 = “先缩放、再相加”。
  • 矩阵 = 把向量排成表格;图片在 AI 眼里就是像素矩阵。
  • 矩阵乘法 = “行 × 列”,逐项相乘再求和;全连接层就是矩阵乘法。
  • 点积 = 对应位置相乘再求和,是衡量”像不像”的尺子;余弦相似度只关心方向。
  • 输入 × 权重矩阵 = 隐藏层输出 - 这就是前向传播,也是主书第 1 章的地基。
警告

衔接 · 下一站
本章的向量、矩阵、矩阵乘法,是主书《人工智能理论与实践》第 1 章(BP 神经网络)前向传播的数学底子;1.5 节的点积与相似度,会在主书第 5 章 Transformer 的注意力机制里再次登场。本书接下来:第 2 章微积分教你”怎么调整权重”,第 5 章 Python 会用 NumPy 一行代码算完我们今天手算的矩阵乘法,第 7 章再把神经元串成完整网络。