Skip to content

AI 所需的数学直觉

学习 AI 不要求先完成一整套数学专业课程,但需要理解模型计算中几类数学对象分别承担什么职责。重点不是手算复杂公式,而是能看懂输入、参数、误差和更新之间的关系。

标量、向量、矩阵和张量

  • 标量是一个数,例如温度或学习率。
  • 向量是一列有顺序的数,例如一名用户的特征或一个词的 Embedding。
  • 矩阵是二维数表,例如一批样本的特征集合或神经网络一层的权重。
  • 张量是更高维的数据容器,例如一批彩色图片可以表示为 批大小 × 高度 × 宽度 × 通道

神经网络的大部分计算,本质上是张量之间的线性变换、非线性变换和聚合。

点积:衡量方向和组合信息

两个向量的点积是对应位置相乘后求和:

text
x · w = x1*w1 + x2*w2 + ... + xn*wn

在线性模型中,点积把多个特征按不同权重组合成一个分数。在向量检索中,经过归一化的点积可以反映两个表示方向是否接近。在 Attention 中,查询和键的相似程度也来自类似计算。

概率:表达不确定性

分类模型通常输出概率或可转换为概率的分数。概率不是事实,而是模型在当前数据和假设下的置信程度。

需要区分:

  • 条件概率:已知某些信息后事件发生的概率。
  • 先验概率:观察当前证据前的基础概率。
  • 似然:假设参数成立时,当前数据出现的可能性。
  • 校准:模型给出 0.8 的样本中,是否真的约有 80% 为正例。

业务阈值不应固定照抄 0.5,而应根据误报、漏报成本和处理容量选择。

导数和梯度:损失往哪里变化

导数描述输入发生微小变化时,输出如何变化。模型有大量参数时,每个参数对应一个偏导数,合在一起就是梯度。

如果损失函数记为 L(参数),梯度告诉优化器:哪些参数对损失影响最大,以及向哪个方向调整可以降低损失。

text
新参数 = 旧参数 - 学习率 × 梯度

学习率太大,更新可能越过较好的位置甚至发散;太小,训练会很慢或停在不理想区域。

损失函数:把目标转换成可优化数字

不同任务需要不同损失:

任务常见损失直观目标
回归均方误差、绝对误差预测值靠近真实值
分类交叉熵正确类别概率更高
排序Pairwise / Listwise Loss正确项目排在更前
语言模型Token 交叉熵下一个 Token 的真实选项概率更高

损失函数服务于训练,业务指标服务于最终目标。二者相关但不总是相同,例如训练用交叉熵,上线可能更关心召回率和人工审核量。

分布:数据不是孤立的点

模型从训练数据分布中学习。如果线上数据的取值范围、人群构成或行为规律变化,模型即使代码没有变化也会退化。

常见变化包括:

  • 节假日改变消费行为。
  • 新产品导致旧类别体系不完整。
  • 采集设备升级改变图像颜色分布。
  • 政策变化改变标签和决策规则。

因此,AI 系统要监控分布而不只是接口是否存活。

数学理解的实际标准

达到下面的程度就可以开始工程实践:

  • 能说清一个张量各维表示什么。
  • 能理解权重如何组合输入。
  • 能区分训练损失、预测概率和业务指标。
  • 能解释梯度、学习率和参数更新的关系。
  • 能意识到概率需要校准、阈值需要结合业务成本。
  • 能判断训练分布和线上分布可能不同。

后续遇到具体算法,再补充对应数学细节,比脱离任务堆公式更有效。

别急,先让缓存热一下。