B 币安 · 全球最大的加密货币交易所币安 注册 → AD OKX OKX · 全球领先的加密货币交易所OKX 注册 → AD
📐 数学基础 · 第10讲 / 10

理解AI的数学

AI的计算归根结底是两件事的反复:“把数字列表对应相乘再相加”,以及“朝着减小错误程度的方向一点点修正”。用小例题亲手算一遍,就会发现巨大模型的原理也是同样的样子。

⏱ 约20分钟 ✍️ 练习题 4 道 更新 2026-10-08
🎯 本讲学习目标
  • 能计算向量的内积和模长,并解释余弦相似度的含义
  • 能把矩阵与向量的乘法当作加权求和来计算
  • 能用均方误差计算预测的错误程度
  • 能计算梯度下降的一步,并说明学习率过大时会出现什么问题

1.向量——一切都变成数字列表

AI把文字、照片、喜好都转换成数字列表来处理,这种数字列表叫作向量。如果用(动作、爱情、喜剧)三类电影的喜爱程度来表示观影喜好,小李可以写成 [5, 1, 3],小王是 [4, 2, 3],小张是 [1, 5, 2]。语言模型会把一个词或词的片段(词元)转换成由几百到几千个数字组成的向量,原理和这个只有三个数字的例子一样。

有了两个向量,就能计算“有多相似”。第6讲中两点之间的距离是一种方法,而AI中更常用的方法是内积和余弦相似度。

2.内积与余弦相似度

内积是把两个向量相同位置上的数相乘,再全部相加得到的值。两个人越是一起喜欢同样的项目,大数和大数相乘,内积就越大。不过,数字整体偏大的向量,内积必然也大,所以要除以向量的大小(长度,即模长),只比较方向,这就是余弦相似度。

余弦相似度的取值在 −1 到 1 之间。接近 1 表示方向相同(喜好相似),0 表示方向互不相关(垂直),−1 表示方向正好相反。搜索和推荐中的“找出意思相近的文档”,大多就是计算这个值,再按从大到小挑选。

内积 a · b = a₁b₁ + a₂b₂ + a₃b₃
模长 |a| = √(a₁² + a₂² + a₃²)
余弦相似度 = (a · b) ÷ (|a| × |b|)
例题分别求小李 [5, 1, 3] 与小王 [4, 2, 3]、小李与小张 [1, 5, 2] 的余弦相似度,并判断谁的喜好与小李更相似。
  1. 第1步:内积:小李·小王 = 5×4 + 1×2 + 3×3 = 20 + 2 + 9 = 31。小李·小张 = 5×1 + 1×5 + 3×2 = 5 + 5 + 6 = 16。
  2. 第2步:模长:|小李| = √(25 + 1 + 9) = √35 ≈ 5.92,|小王| = √(16 + 4 + 9) = √29 ≈ 5.39,|小张| = √(1 + 25 + 4) = √30 ≈ 5.48。
  3. 第3步:小李与小王的相似度 = 31 ÷ √(35 × 29) = 31 ÷ √1015 ≈ 31 ÷ 31.86 ≈ 0.97。
  4. 第4步:小李与小张的相似度 = 16 ÷ √(35 × 30) = 16 ÷ √1050 ≈ 16 ÷ 32.40 ≈ 0.49。
  5. 验算:两个相似度都在 −1 和 1 之间。小李和小王都最喜欢动作片,而小张最喜欢爱情片,所以结果也符合直觉。
答案小李与小王 ≈ 0.97,小李与小张 ≈ 0.49——小王更相似

3.矩阵乘法——一次完成多个加权求和

神经网络中一个神经元做的事情很简单:把每个输入乘以权重后相加(加权求和),加上偏置,再按规定的规则把结果变换一次。最常见的规则之一是:负数变成 0,正数保持不变。如果输入是 [2, 3],权重是 [0.5, −1],偏置是 1,那么 0.5×2 + (−1)×3 + 1 = −1,是负数,所以输出 0。

神经元有多个时,就要做多次加权求和。把它们一次写出来的方法就是矩阵。矩阵的每一行是一个神经元的权重,矩阵与向量相乘就是“每一行分别与输入向量做内积”。巨大AI模型的计算大部分都是这种矩阵乘法,所以能快速做矩阵乘法的专用芯片变得十分重要。

[[1, 2], [3, −1]] × [4, 1]
= [1×4 + 2×1, 3×4 + (−1)×1]
= [6, 11]
例题权重矩阵第一行是 [1, 2],第二行是 [3, −1],输入是 [4, 1],求两个神经元的加权和(没有偏置)。
  1. 第1步:第一个神经元 = 第一行与输入的内积:1×4 + 2×1 = 4 + 2 = 6。
  2. 第2步:第二个神经元 = 第二行与输入的内积:3×4 + (−1)×1 = 12 − 1 = 11。
  3. 第3步:结果向量是 [6, 11]。
  4. 验算:按矩阵的列重新算一遍。输入 4 × 第一列 [1, 3] = [4, 12],输入 1 × 第二列 [2, −1] = [2, −1],相加得 [6, 11],结果相同。
答案[6, 11]

4.损失函数——用数字表示错了多少

模型要学习,首先得用一个数字衡量“错了多少”。给出这个数字的函数叫作损失函数。预测数值的模型常用均方误差(MSE)。它是把预测值与正确答案之差(误差)平方后取平均得到的值,形式和第8讲的方差几乎一样。

平方的原因有两个:一是不论误差是正是负,都算作“错”;二是让错得多的受到更重的惩罚。误差为 2 时是 4,误差为 4 时就是 16。

MSE = (误差₁² + 误差₂² + … + 误差ₙ²) ÷ n
误差 = 预测值 − 正确答案
例题预测值为 [3, 5, 8],正确答案为 [2, 5, 10],求均方误差。
  1. 第1步:误差:3 − 2 = 1,5 − 5 = 0,8 − 10 = −2。
  2. 第2步:平方:1, 0, 4。和为 5。
  3. 第3步:平均:5 ÷ 3 ≈ 1.67。
  4. 验算:误差最大的第三个值(−2)在总和 5 中占了 4。这与“错得多的值主导损失”这一平方的性质相符。
答案5/3 ≈ 1.67

5.斜率与梯度下降

要减小损失,权重该往哪个方向修改?想象一个人在大雾笼罩的山上往山谷走。远处看不见,但能感觉到脚下的坡度。朝下坡方向迈一步,再感受坡度,再迈一步。第4讲中“某一点处的斜率”就是这脚下的坡度,这样一步步往下走的方法就是梯度下降。

看一个最简单的例子:损失为 L(w) = (w − 3)²。w = 3 时损失为 0,最小。这个函数的斜率是 2(w − 3)。w 小于 3 时斜率为负,应该把 w 调大;大于 3 时斜率为正,应该调小。所以按“新 w = w − 学习率 × 斜率”来修正。学习率就是一步的大小。

真实的模型可能有几十亿个权重,但做的事情是一样的:对每个权重计算“把它稍微改一点,损失会变化多少”(斜率,也叫梯度),然后朝着损失减小的方向一点点修正,无数次地重复。

L(w) = (w − 3)², 斜率 = 2(w − 3)
新 w = w − 学习率 × 斜率
例题对 L(w) = (w − 3)²,从 w = 0、学习率 0.25 开始,做三次梯度下降。
  1. 第1步:w = 0:斜率 2(0 − 3) = −6,新 w = 0 − 0.25 × (−6) = 1.5。损失 9 → (1.5 − 3)² = 2.25。
  2. 第2步:w = 1.5:斜率 2(1.5 − 3) = −3,新 w = 1.5 − 0.25 × (−3) = 2.25。损失 (2.25 − 3)² = 0.5625。
  3. 第3步:w = 2.25:斜率 2(2.25 − 3) = −1.5,新 w = 2.25 − 0.25 × (−1.5) = 2.625。损失 (2.625 − 3)² = 0.140625。
  4. 验算:离目标 3 的剩余距离依次为 3 → 1.5 → 0.75 → 0.375,每次减半。损失每次变为 1/4,按 9 → 2.25 → 0.5625 → 0.140625 减小。
答案w 依次为1.5、2.25、2.625,逐渐接近3,损失降到0.140625
例题同一个函数,如果把学习率设大到 1.1,从 w = 0 走一步,会怎样?
  1. 第1步:斜率 −6,新 w = 0 − 1.1 × (−6) = 6.6。
  2. 第2步:与目标 3 的距离:从最初的 3 变成 |6.6 − 3| = 3.6,反而更远了。损失也从 9 增大到 12.96。
  3. 第3步:下一步:斜率 2(6.6 − 3) = 7.2,新 w = 6.6 − 7.92 = −1.32,距离 4.32。来回越过山谷,离得越来越远。
  4. 验算:3.6² = 12.96,距离每次变为 1.2 倍(3 → 3.6 → 4.32),所以会发散。
答案越过山谷弹到另一侧,越走越远(发散)——学习率太大,学习就会失败
学习率太小,下山要很久;太大,就会越过山谷弹出去。在实际训练中,学习率也是最先要调整的值之一。

📌 要点总结

  • AI把词语、照片、喜好转换成数字列表(向量)来处理
  • 内积是对应位置相乘再相加的值,余弦相似度是除以模长后方向上的相似程度
  • 矩阵 × 向量 = 每一行做内积 = 一次算出多个神经元的加权和
  • 损失函数用一个数字衡量错误程度——均方误差是误差²的平均数
  • 梯度下降:新权重 = 权重 − 学习率 × 斜率,朝损失减小的方向反复修正
  • 学习率太大会发散,太小会很慢

✍️ 练习题

请先自己作答,再展开“答案与解析”。

Q1. 向量 [1, 2, 3] 与 [4, 5, 6] 的内积是多少?

⭕ 回答正确

❌ 再想一想

答案与解析
答案 ② 32

1×4 + 2×5 + 3×6 = 4 + 10 + 18 = 32。[4, 10, 18] 是相乘后没有相加的结果;内积的结果是一个数。

Q2. 两个向量的余弦相似度为 0,意味着什么?

⭕ 回答正确

❌ 再想一想

答案与解析
答案 ③ 两个向量互相垂直(方向互不相关)

余弦相似度为 0,表示内积为 0,即两个方向互相垂直。方向相同是 1,正好相反是 −1。

Q3. 两个预测的误差分别是 2 和 −2,求均方误差。

答案与解析
参考答案 4

平方后是 4 和 4,平均为 (4 + 4) ÷ 2 = 4。如果直接对误差取平均会得到 0,看起来像“完全没错”,所以要平方。

Q4. 对 L(w) = (w − 3)²,w = 5、学习率 0.1,求梯度下降一步后的 w。

答案与解析
参考答案 4.6

斜率 2(5 − 3) = 4,新 w = 5 − 0.1 × 4 = 4.6。离目标 3 更近了,损失从 4 减小到 (4.6 − 3)² = 2.56。

🤖 可以这样问 AI

复制后把 [ ] 部分换成你的情况。不要直接相信回答,请与正文对照核实。

想用小数字亲自验证AI概念时

请用三个各含 3 个数字的向量给我讲解余弦相似度。分步计算内积、模长和相似度,但在给出最终答案之前,先只给我看中间结果,让我自己算一算。

想亲手跟着算一遍梯度下降时

我想用损失函数 L(w) = (w − 3)² 练习梯度下降。请改变初始值和学习率,分别用表格展示三种情况(顺利收敛、太慢、发散)各走五步的过程。每张表包含 w、斜率、新 w、损失这几列,前两行我会自己算来核对。

核实AI给出的数学解释时

请给刚才解释中用到的每个公式都代入一个很小的数字例子,亲手算给我看。如果解释和计算结果有不一致的地方,请标出来。
参考
  • 高中数学教材的一般内容(向量、矩阵、导数基础)
  • 高中“人工智能数学”类课程的一般内容

达成全部学习目标后,请点击完成。

📐 数学基础

  1. 1数与运算——重新认识分数和小数
  2. 2比与比率——正确读懂百分比
  3. 3方程——寻找未知数的天平
  4. 4函数与图像——读懂变化的眼光
  5. 5指数与对数——靠乘法变大的世界
  6. 6几何基础——面积与勾股定理
  7. 7概率——把不确定性变成数字
  8. 8统计——平均数、中位数、方差
  9. 9读懂数据——图表里的陷阱
  10. 10理解AI的数学
📚 推荐阅读
🧠What Generative AI Does and Where It Fails→ ✍️How to Write a Good Prompt→ 🔍Checking AI Answers→ 📚Using AI for Study and Work Without Plagiarism→
← AI时代基础学力课程