Appearance
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 系统要监控分布而不只是接口是否存活。
数学理解的实际标准
达到下面的程度就可以开始工程实践:
- 能说清一个张量各维表示什么。
- 能理解权重如何组合输入。
- 能区分训练损失、预测概率和业务指标。
- 能解释梯度、学习率和参数更新的关系。
- 能意识到概率需要校准、阈值需要结合业务成本。
- 能判断训练分布和线上分布可能不同。
后续遇到具体算法,再补充对应数学细节,比脱离任务堆公式更有效。
