建模:把数学当工具用 —— 从托勒密的本轮到 GPT 的权重,一条四千年没断过的线

2026-08-07 · Steve Chan

"所有模型都是错的,但有些是有用的。" —— George Box, 1976

"用四个参数我能拟合一头大象,用五个我能让它的鼻子摆动。" —— 冯·诺依曼(Dyson 转述)

"自然界这本大书是用数学语言写成的。" —— 伽利略,1623

前面几篇讲的是数学内部的事:换视角(Ch 0)、公式的直觉化石(Ch 0.5)、符号怎么读(Ch 0.6)、物理优先(Ch 0.7)、怎么把公式解压成代码(Ch 0.98 / 0.99)。

这一篇讲数学向外的那一面:当数学离开纸面、去对付一条真实的河、一颗真实的行星、一台真实的蒸汽机、一段真实的人类语言时,它叫什么名字 —— 它叫建模(modeling)

本文要论证三句话,一句比一句更冒犯直觉:

  1. AI 的本质就是数学建模,没有任何新东西。Transformer 和开普勒拟合火星轨道,是同一件事的不同规模。
  2. 数学建模的背后是物理。不只是"物理提供了应用场景",而是AI 里几乎每一个核心构件,都能在物理里找到它的原型:loss 是能量,softmax 是玻尔兹曼分布,扩散模型是朗之万动力学,卷积是平移对称性,训练是耗散系统弛豫到基态。
  3. 建模就是把数学当工具用 —— 数学在这里不是要被"证明"的对象,而是被拿来削、切、量、逼近现实的一套刀具。分不清"数学作为真理"和"数学作为工具"这两种模式,是绝大多数人对 AI 又敬畏又困惑的根源。

本文的核心断言:人类历史上只发明过三种建模范式 —— 拟合派(托勒密)、机理派(牛顿)、统计学习派(现代 AI)。第三种不是对前两种的否定,而是在算力便宜、数据充裕的条件下,第一种的复活与工业化。看懂这一点,你就不会再问"大模型到底懂不懂"这种问错了层次的问题。


🧭 0.4.1 先把"建模"这个词还原成人话

学校里的"数学"是封闭的:题目给全了条件,答案唯一,对错分明。 现实里的"建模"是开放的:条件不全、数据有噪声、答案不唯一、只有"更有用"和"更没用"。

一个模型,本质上就是一句这样的话:

我不打算描述真实世界的全部。我只保留我认为重要的那几个量,假设它们之间有某种关系,然后看这个假设能不能预测我还没看过的数据。

所以建模永远是这样一个闭环,四千年没变过:

   现实现象  ──①抽象──▶  数学对象     ──②求解──▶  数学结论
      ▲                    (变量/方程/                 │
      │                     分布/网络)                 │
      │                                             ③回代
      └───────────────④检验/证伪───────────────────────┘
                    (残差、外推、新实验)

四步里,学校只教了第 ② 步(解方程),而 ①③④ —— 抽象、回代、检验 —— 恰恰是建模里全部的难度和全部的乐趣所在。

用代码把这个闭环写死,比用文字说一百遍都有用:

import torch

# ① 抽象:现象 = 自由落体。我决定只保留 (时间 t, 高度 h),忽略空气、地球自转、相对论
t = torch.tensor([0.0, 0.1, 0.2, 0.3, 0.4, 0.5])
h_obs = torch.tensor([20.00, 19.95, 19.80, 19.56, 19.21, 18.77])  # 带噪声的观测

# ② 求解:假设空间 = {h = h0 - 0.5*g*t^2},未知参数 (h0, g)
h0 = torch.tensor(1.0, requires_grad=True)
g  = torch.tensor(1.0, requires_grad=True)
opt = torch.optim.Adam([h0, g], lr=0.3)
for _ in range(2000):
    loss = ((h0 - 0.5 * g * t**2 - h_obs) ** 2).mean()   # ← 高斯 1801 的最小二乘
    opt.zero_grad(); loss.backward(); opt.step()          # ← 牛顿的流数,现代化

# ③ 回代:参数有没有物理意义?
print(f"h0 = {h0.item():.2f} m,  g = {g.item():.2f} m/s^2")   # g ≈ 9.8 → 模型抓到了真东西

# ④ 检验:外推到没见过的 t,跟新观测比
t_new = torch.tensor([0.8, 1.0])
print(h0 - 0.5 * g * t_new**2)

请注意这段 20 行代码里同时站着四个人:牛顿(自由落体的机理)、莱布尼茨(微分)、高斯(最小二乘 + 误差假设)、柯西(梯度下降)。这就是一次完整的数学建模,而它跟你训练一个 GPT 的代码,逐行同构 —— 后面 0.4.5 节会把这个同构一条一条对上。

建模的第一性定义:建模 = 选一个假设空间 + 定一个"错得多严重"的度量 + 在假设空间里搜到最不错的那个 + 拿没见过的数据检验它。 这四件事,托勒密做过,开普勒做过,高斯做过,OpenAI 也在做。区别只在假设空间的大小从 3 个参数变成了 \(10^{12}\) 个。


🕰️ 0.4.2 建模史:四千年,三次范式

先把整条河摆出来,后面逐段展开。看年份,看那一列"为了回答什么真实问题" —— 没有一个模型是数学家闲着无聊造出来的。

年份 人 / 事件 现实问题 造出来的数学工具 范式
前 1800 巴比伦泥板 分地、算粮仓、放高利贷 二次方程、复利(指数)表 拟合/算法
前 250 阿基米德 王冠掺假、船会不会沉、杠杆 浮力定律、力矩、穷竭法 机理
约 150 托勒密《天文学大成》 行星为什么"逆行" 本轮(圆周叠加)= 傅里叶级数雏形 拟合
263 刘徽注《九章算术》 分配粮税、测量田亩 消元法(比高斯早 1500 年)、割圆术 算法
1609 开普勒 火星轨道对不上第谷的数据 椭圆轨道(8 角分的残差不肯放过 数据驱动
1687 牛顿《原理》 苹果和月亮是不是同一回事 三定律 + 万有引力 → 从公理推出椭圆 机理
1738 丹尼尔·伯努利 水管、船体阻力 流体的能量守恒 机理
1748 欧拉 弦怎么振动、梁怎么弯、船怎么稳 偏微分方程成为建模的通用语言 机理
1801 高斯 谷神星丢了,只有 41 天观测 最小二乘 + 正态误差 → 算回来了 数据驱动
1807 傅里叶 蒸汽机金属件的热传导 热方程 + 三角级数(催生了整个实分析) 机理
1822–1845 纳维、斯托克斯 水管阻力、船舶设计 Navier–Stokes(至今没被完全解决) 机理
1865 麦克斯韦 电和磁到底什么关系 四个方程 → 预言了没人见过的电磁波 机理(巅峰)
1877 玻尔兹曼 热为什么只往一个方向流 \(S=k\log W\):微观随机 → 宏观定律 统计
1900 巴施里耶 巴黎股价怎么动 布朗运动(比爱因斯坦早 5 年) 统计
1918 诺特 对称性和守恒律的关系 诺特定理:每个连续对称 ⇒ 一个守恒量 元定理
1925 海森堡 / 薛定谔 原子光谱线为什么是分立的 矩阵力学 / 波动方程 机理
1940s 布莱克特、二战运筹学 护航船队编多大、深水炸弹设多深 运筹学(OR)的诞生 优化
1946 乌拉姆、冯·诺依曼 中子在材料里怎么走(曼哈顿工程) 蒙特卡洛方法 统计模拟
1947 丹齐格 空军后勤调度 单纯形法 → 线性规划 优化
1948 香农 电话线最多能传多少信息 信息论:熵 = 不确定性 统计
1948 维纳 高射炮怎么打提前量 控制论、滤波 反馈
1952 图灵 豹子身上的斑点怎么长出来的 反应扩散方程(形态发生) 机理
1963 洛伦兹 天气能预报多久 混沌:模型自身的极限 机理(证伪)
1973 布莱克–斯科尔斯 期权该值多少钱 把傅里叶的热方程搬进金融 机理(跨界)
1982 霍普菲尔德 记忆怎么存在神经网络里 伊辛模型(磁铁)做联想记忆 物理→AI
1986 鲁梅尔哈特等 多层网络怎么训 反向传播(数学上是 1970 年 Linnainmaa 的反向模式自动微分) 优化
2012 AlexNet ImageNet 分类 GPU + 卷积 + 大数据 统计学习
2015 Sohl-Dickstein 等 怎么生成图片 扩散模型:直接搬非平衡热力学 物理→AI
2017 Transformer 机器翻译的长程依赖 注意力 = 可微的检索 = 平均场 统计学习
2020– 大语言模型 "预测下一个词" \(10^{12}\) 参数的条件概率模型 统计学习(工业化)
2024 霍普菲尔德、辛顿获物理学诺奖 —— 官方盖章:神经网络是统计物理 ——

三次范式转移,一句话各自概括:

  • 托勒密范式(拟合):我不知道为什么,但我能加更多的圆,把观测拟合得越来越准。
  • 牛顿范式(机理):我用三条公理,推出所有观测 —— 而且能推出还没观测到的
  • 现代范式(统计学习):我不写方程,我写一个巨大的假设空间和一个损失函数,让数据自己去挑参数。

第三种是第一种的工业化版本。 这是本文最关键的一句判断,下一节展开。


🌀 0.4.3 托勒密的本轮:人类第一个"过拟合",也是傅里叶级数的祖先

公元 150 年前后,托勒密面对一个真实且要命的问题:行星在天上有时会倒着走(逆行)。地心说下这解释不了。

他的解法极其"现代":行星在一个小圆(本轮 epicycle)上转,而这个小圆的圆心又在一个大圆(均轮)上转。 不够准?再加一层本轮。 还不够?再加。

用代码写出来,你会当场认出这是什么:

import torch

def epicycle(t, radii, freqs, phases):
    """托勒密的本轮叠加:每一层是一个匀速转动的复数向量,首尾相接。"""
    z = torch.zeros_like(t, dtype=torch.cfloat)
    for r, w, p in zip(radii, freqs, phases):
        z = z + r * torch.exp(1j * (w * t + p))   # ← 一层本轮 = 一个复指数
    return z            # 实部 = 黄经,虚部 = 另一个方向

这就是傅里叶级数。 一字不差。托勒密比傅里叶早 1650 年,写下了三角级数展开的物理版本 —— 只是他以为自己在描述天体的真实运动,而傅里叶知道自己在做函数逼近。

于是历史开了一个巨大的玩笑,而这个玩笑正是今天理解 AI 的钥匙:

托勒密的本轮 现代神经网络
假设空间 \(N\) 层圆周运动的叠加 \(N\) 个神经元/参数的组合
表达力 加够本轮,任意闭合轨道都能拟合 万能逼近定理:加够宽度,任意连续函数都能拟合
拟合精度 千年内是最准的星表 SOTA
可解释性 (本轮不对应任何真实物体) (第 37 层第 2048 维不对应任何概念)
外推能力 差(长期预测崩坏) 差(分布外泛化崩坏)
被谁打败 开普勒的椭圆(1 个方程 vs 80 个本轮)

加更多的本轮 = 加更多的参数。 冯·诺依曼那句"四个参数拟合大象",说的就是这件事:表达力足够强的模型族,能拟合任何东西 —— 包括噪声。 这不是模型的优点,是它的危险

但请注意另一半,这才是公平的:托勒密的模型是真管用的。航海用了一千多年。一个不解释因果、只做预测的模型,在实践上完全可以是无敌的。 这就是今天大模型的处境 —— 说它"只是统计"没错,但托勒密"只是几何",照样把船开到了美洲。


🔭 0.4.4 开普勒 vs 牛顿:数据驱动与机理驱动的第一次分工

开普勒(1609) 手上有第谷·布拉赫二十年的火星观测数据 —— 当时全世界精度最高的数据集。他用圆轨道拟合,误差 8 角分(约 1/4 个月亮直径)。

以当时的观测精度,8 角分完全可以说"够好了,收工"。开普勒拒绝了。 他写道:这 8 角分是上帝赐给我的礼物,它指向一场天文学的彻底改革。

8 角分 = 残差(residual)。 现代建模的第一条铁律 —— 认真对待残差,模型的下一次革命藏在残差里 —— 就诞生在这里。今天你训练模型时盯着 loss 曲线里那个下不去的平台,你和开普勒在做完全相同的事。

他花了六年,试遍各种曲线,最后得到椭圆。但开普勒不知道为什么是椭圆。他的三定律是从数据里拟合出来的经验律,没有机理。

牛顿(1687) 反过来:从三条运动定律 + 一条平方反比引力律出发,数学上推出轨道必须是圆锥曲线。开普勒定律从"观测总结"变成了"定理"。

代码上,这两种范式的差别是这样的(同一个现象,两套写法):

# ── 开普勒范式:数据驱动。我不知道机理,我拟合参数 ──────────
# 假设空间:椭圆 r = p / (1 + e·cos θ),未知 (p, e)
p, e = torch.tensor(1.0, requires_grad=True), torch.tensor(0.1, requires_grad=True)
for _ in range(2000):
    r_pred = p / (1 + e * torch.cos(theta_obs))
    loss = ((r_pred - r_obs) ** 2).mean()          # 只跟"观测像不像"较劲
    loss.backward(); opt.step(); opt.zero_grad()

# ── 牛顿范式:机理驱动。我写下力,让轨道自己长出来 ──────────
# 假设空间:F = -GMm/r^2,未知只有 GM 一个物理常数
def step(pos, vel, GM, dt):
    acc = -GM * pos / pos.norm() ** 3              # ← 平方反比,唯一的假设
    vel = vel + acc * dt
    pos = pos + vel * dt
    return pos, vel                                 # 椭圆是**积分出来的**,不是拟合出来的

两者的分水岭不在精度,在外推

开普勒(拟合) 牛顿(机理)
参数个数 每颗行星一套 全宇宙共用一个 \(G\)
数据需求 大(二十年观测) 小(几个点定常数)
换个新行星 要重新拟合 直接算
能预言未知吗 不能 —— 亚当斯/勒维耶 1846 用它算出了海王星的位置,然后天文台照着一看,真的在那儿
现代对应物 神经网络、大模型 物理仿真、微分方程、第一性原理

"能预言一个还没被观测到的东西",是机理模型的独门特权。 麦克斯韦 1865 从方程里推出电磁波并算出它的速度等于光速(于是断言"光就是电磁波"),赫兹 1887 才在实验室里造出它 —— 模型比现实早了 22 年

至今没有任何一个大模型做到过这个级别的事。这不是贬低,是定位:统计学习擅长内插,机理模型擅长外推。混淆二者,是当下 AI 讨论里最贵的错误。


🤖 0.4.5 AI 的本质就是数学建模:逐行对照

现在把"训练一个神经网络"这件事,拆成建模的四个标准部件,并给每个部件标上它的历史发明人

# ═══ 部件 1:假设空间 H —— "我允许世界长成什么样" ═══════════
# 历史原型:托勒密的本轮层数 / 多项式的次数 / 傅里叶级数的项数
model = torch.nn.Sequential(
    torch.nn.Linear(784, 128),   # ← 凯莱 1858:矩阵作为代数对象
    torch.nn.ReLU(),             # ← 非线性,否则整个网络塌缩成一个矩阵
    torch.nn.Linear(128, 10),
)

# ═══ 部件 2:损失函数 L —— "错得多严重" ═══════════════════
# 历史原型:高斯 1801 最小二乘(= 假设误差服从正态分布下的极大似然)
#           费雪 1922 极大似然 / 香农 1948 交叉熵
loss_fn = torch.nn.CrossEntropyLoss()    # = -log p(正确答案) = 香农的"意外程度"

# ═══ 部件 3:优化器 —— "怎么在 H 里找到最好的那个" ══════════
# 历史原型:牛顿-拉弗森迭代 (1669) / 柯西 1847 最速下降法
opt = torch.optim.SGD(model.parameters(), lr=0.1)

# ═══ 部件 4:检验 —— "没见过的数据上还行吗" ════════════════
# 历史原型:开普勒拿椭圆去预测下一次冲日 / 高斯拿最小二乘去预测谷神星再现的位置
for x, y in train_loader:
    loss = loss_fn(model(x), y)
    opt.zero_grad(); loss.backward(); opt.step()   # ← 牛顿的流数 ẋ,1665
evaluate(model, test_loader)                       # ← 这一行才是"科学",前面都是"拟合"

四个部件,没有一个是 21 世纪发明的。 最年轻的是 1948 年的交叉熵,最老的是 1669 年的牛顿迭代。

深度学习真正新的东西只有两样,而且都不是数学:

  1. 自动微分的工程化(Linnainmaa 1970 提出反向模式 → 1986 反向传播普及 → 2016 PyTorch 让它变成一行 .backward())。数学上它就是链式法则,1676 年莱布尼茨就有了。新的是"任意复杂的程序都能自动求导"这个工程能力。
  2. 算力与数据的规模。CUDA(2007)让矩阵乘法便宜了三个数量级,互联网让文本数据便宜了六个数量级。

所以那句"AI 就是数学建模"不是修辞,是字面事实。 一个大语言模型是一个条件概率模型 \(p(\text{下一个词} \mid \text{上文})\),用极大似然拟合,用梯度下降优化,用留出集检验。每一个环节都能在 1948 年之前的数学文献里找到。

变的不是数学,是成本结构:以前"让人想出机理"比"让机器搜参数"便宜,所以牛顿范式赢;现在反过来了,所以托勒密范式复活了。这就是 Sutton 那篇《苦涩的教训》的经济学实质 —— 它不是在说"人类的知识没用",它是在说"在算力年年降价的世界里,赌算力的那一方复利更高"。


⚛️ 0.4.6 建模的背后是物理:AI 的每一个零件都能在物理里找到原型

这是本文最想让你记住的一节。人们说"深度学习是炼金术",通常是因为没看见它下面那层地基 —— 它绝大部分核心构件,是统计物理直接搬过来的。2024 年霍普菲尔德和辛顿拿的是物理学诺贝尔奖,不是巧合,是盖章。

对照表:AI 构件 ↔ 物理原型

AI 里的东西 物理里的原型 谁、什么时候
loss(损失) 能量 / 哈密顿量 —— 系统总要往低能态滚 拉格朗日 1788、哈密顿 1833
梯度下降 耗散系统的弛豫\(\dot{x} = -\nabla E\),就是过阻尼的牛顿第二定律 亚里士多德式动力学 / 柯西 1847
带动量的 SGD 真·牛顿第二定律 \(m\ddot{x} = -\nabla E - \gamma\dot{x}\)(小球滚下山谷带摩擦) 牛顿 1687
softmax(含温度 \(T\) 玻尔兹曼分布 \(p_i \propto e^{-E_i/kT}\) —— 采样温度就是物理温度 玻尔兹曼 1877
配分函数 / 归一化项 配分函数 \(Z=\sum e^{-E_i/kT}\),一字不改 吉布斯 1902
Hopfield 网络 伊辛模型(磁铁里自旋互相拉扯,滚向最低能量态) 伊辛 1925、霍普菲尔德 1982
玻尔兹曼机 直接以玻尔兹曼命名的随机伊辛模型 辛顿、谢诺夫斯基 1985
扩散模型 非平衡热力学 + 朗之万方程:加噪 = 扩散,去噪 = 逆扩散 朗之万 1908、Sohl-Dickstein 2015
VAE 的 ELBO 变分自由能 \(F = E - TS\) 的最小化 吉布斯 / 费曼变分原理
注意力机制 平均场近似:每个粒子感受到的是其他所有粒子的加权平均 外斯 1907 平均场理论
BatchNorm / LayerNorm 量纲无关化、重整化群里的尺度变换 白金汉 Π 定理 1914、威尔逊 1971
卷积网络 平移不变性 —— 物理定律在哪儿都一样 诺特 1918
Transformer 的置换等变 全同粒子的不可区分性 量子统计 1926
残差连接 / ResNet 微分方程的欧拉步 \(x_{t+1}=x_t+f(x_t)\),即 Neural ODE 欧拉 1768
正则化 / 权重衰减 最小作用量里的约束项 / 弹性势能 莫佩尔蒂 1744
早停、退火 模拟退火:温度慢慢降,避开局部极小 冶金 → Kirkpatrick 1983

每一行都不是比喻,是数学上的同一个式子。 你可以用代码验证最著名的那一行:

import torch
# 断言:softmax 就是玻尔兹曼分布,logits 就是负能量,采样温度就是物理温度
E = torch.tensor([0.0, 1.0, 2.5])     # 三个微观态的能量(单位 kT=1)
T = 0.7

boltzmann = torch.exp(-E / T) / torch.exp(-E / T).sum()   # 玻尔兹曼 1877
softmax   = torch.softmax(-E / T, dim=0)                  # PyTorch 2016

print(boltzmann)   # tensor([0.7888, 0.1890, 0.0222])
print(softmax)     # tensor([0.7888, 0.1890, 0.0222])
assert torch.allclose(boltzmann, softmax)                 # ← 同一个东西,隔了 139 年

你调 LLM 的 temperature=0.7 时,你字面意义上是在设定一个热力学温度:\(T\to 0\) 系统冻结在基态(贪心解码,永远输出最可能的词),\(T\to\infty\) 系统完全无序(均匀随机胡说)。"温度"这个参数名不是比喻,是它的本名。

再深一层:为什么"物理能被数学建模"这件事本身成立?

这是维格纳 1960 年那篇著名论文的标题:《数学在自然科学中不合理的有效性》。他说这是"一份我们既不理解也不配得到的奇妙馈赠"。

到今天,最有解释力的回答是一个词:对称性

诺特定理(1918):每一个连续对称性,对应一个守恒量。

  • 物理定律在时间上平移不变 ⟹ 能量守恒
  • 在空间上平移不变 ⟹ 动量守恒
  • 在旋转下不变 ⟹ 角动量守恒

这句话把"世界为什么可建模"讲清楚了:世界之所以能被少量方程描述,是因为它高度对称、高度冗余。 如果每个时刻每个地点的规律都不同,就没有任何模型可言,也不会有科学。

而这条定理直接就是深度学习里"归纳偏置"的定义

你假设的对称性 你得到的网络架构
平移等变(图像里猫在左在右都是猫) CNN
置换等变(集合里元素没有顺序) Transformer / Deep Sets
旋转等变(分子转个角度还是那个分子) 等变图网络(AlphaFold、分子模拟)
时间平移等变(规律不随时刻变) RNN / 状态空间模型的权重共享

架构设计 = 声明你相信世界有哪些对称性。 这是"几何深度学习"纲领的一句话总结,也是诺特定理在 21 世纪的转世。

最小作用量原理(莫佩尔蒂 1744、哈密顿 1833)是最后那块拼图,也是全文最漂亮的收束:自然界的一切演化,都是在让某个泛函取极值。 光走最快的路(费马),粒子走作用量最小的路(哈密顿),系统滚向自由能最低点(吉布斯)。

也就是说 —— 物理是自然在做优化,AI 是我们在做优化,用的是同一门数学(变分法)。 你写 loss.backward() 的那一刻,你在做的事和一束光穿过水面时做的事,是同一件事。


📈 0.4.7 为什么建模在今天"起来了"?—— 一条七件套的历史依赖链

"AI 突然爆发"是一个错觉。真实情况是:建模需要七件工具,人类花了 2000 年才凑齐最后一件。缺任何一件,这事都发生不了。

# 必要条件 何时到位 缺了它会怎样
1 符号代数(能写出"任意的方程") 韦达 1591 → 笛卡尔 1637 只能像花拉子米那样用整段话描述一个方程,无法处理 \(10^9\) 个参数
2 微积分(变化率、极值) 牛顿/莱布尼茨 1666–1675 没有"沿梯度往下走"这个概念
3 误差理论 / 概率(数据是脏的) 高斯 1801、拉普拉斯 1812 数据一有噪声模型就崩,无法处理真实世界
4 统计力学(大量随机个体 → 宏观规律) 玻尔兹曼 1877、吉布斯 1902 没有能量/熵/配分函数这套语言,也就没有 loss
5 可计算性 + 计算机(能真的把式子跑出来) 图灵 1936、ENIAC 1945 高斯手算谷神星要几周;今天的模型手算要几亿年
6 自动微分(任意程序都能求导) Linnainmaa 1970 → BP 1986 → PyTorch 2016 每换一个模型就要人肉推一遍梯度,迭代速度慢 1000 倍
7 算力 + 数据(便宜到可以浪费) CUDA 2007、互联网语料 2010s 有算法也训不动 —— BP 1986 年就有了,卡了 26 年

第 7 条是最容易被低估的。反向传播 1986 年就发表了,AlexNet 是 2012 年。 中间那 26 年缺的不是数学,是便宜的算力和数据

这就引出建模范式转移的经济学本质

        建模的总成本 = 人想机理的成本  +  机器搜参数的成本
                        (随时间恒定)      (每 2 年减半)
  • 在 1687 年,"人想机理"是唯一可行的路(机器搜参数的成本 = ∞)→ 牛顿范式必然获胜
  • 在 2025 年,"机器搜参数"的成本掉到了地板上 → 托勒密范式(加更多本轮)必然复活

范式转移从来不是"谁更聪明",而是"当下哪种成本更低"。 这也预言了下一步:当算力继续变便宜、而数据变稀缺时(高质量语料已接近枯竭),钟摆会往回摆一点 —— 那就是"物理信息神经网络(PINN)"、"神经算子"、"世界模型"、"AI for Science" 正在做的事:把机理(微分方程、守恒律、对称性)重新塞回损失函数里,用机理换数据。

一行代码就能看懂这个"回摆": ```python

纯统计学习:只跟数据较劲

loss = ((u_pred - u_obs) ** 2).mean()

物理信息神经网络(PINN):再加一项"你必须服从这条物理定律"

residual = du_dt - alpha * d2u_dx2 # ← 傅里叶 1807 的热方程 loss = ((u_pred - u_obs) ** 2).mean() + lam * (residual ** 2).mean() ``` 第二行就是牛顿范式和托勒密范式的握手:数据管内插,物理管外推。这大概率是下一个十年的主线。


🔨 0.4.8 "建模就是数学当工具用":两种数学模式,别搞混

这是全文的落点。数学有两种用法,它们的评价标准完全相反

数学作为真理(纯数学) 数学作为工具(建模)
问的问题 这是不是真的 有没有用
评价标准 证明是否严格 预测是否准、决策是否变好
对近似的态度 近似是缺陷,要消除 近似是全部 —— 忽略什么才是核心技艺
对反例的态度 一个反例就毙掉定理 一个反例只是"适用范围之外"
典型句式 "\(\forall x\),……" "在 \(x \ll 1\) 且噪声近似高斯时,……"
失败的样子 证明有洞 模型在真实数据上崩了
代表人物 欧几里得、希尔伯特、格罗滕迪克 阿基米德、傅里叶、冯·诺依曼、香农

傅里叶是最好的例子。 1807 年他宣称"任意函数都能展成三角级数",拉格朗日当场反对,因为他的证明是错的(不严格)。但他的模型是对的 —— 热方程算出来的结果跟实验吻合。

后来发生的事最有意思:为了搞清楚"傅里叶到底在什么条件下成立",数学家被迫发明了 —— 严格的收敛概念(柯西、狄利克雷)、黎曼积分、勒贝格积分、康托尔的集合论(康托尔研究的正是三角级数的唯一性问题)。

一个"不严格但有用"的工程模型,逼出了整个 19 世纪的实分析和集合论。 这是"数学当工具用"最壮观的一次反哺:工具捅出的窟窿,成了下一代纯数学的疆域。

今天的深度学习正处在完全相同的位置:它是"不严格但极其有用"的傅里叶时刻。所谓"缺乏理论"不是耻辱,是1807 年的正常状态 —— 泛化理论、缩放律、表示学习理论,就是正在被逼出来的那个"实分析"。

建模者的六条工作守则

把上面的历史压缩成能带走的东西:

  1. 没有误差项的不是模型,是信仰。 高斯的伟大不在于他会解方程,而在于他显式地给误差建了模(正态分布)。任何一个模型,你都要能说出"我预期它错多少、往哪个方向错"。
  2. 所有模型都是错的,有些是有用的(Box)。问"这个模型对不对"是问错了;要问"在什么范围内、以多大误差、为哪个决策服务时它够用"。
  3. 先量纲,再数值。 白金汉 Π 定理是最便宜的查错工具:等号两边量纲不同,后面全白算。深度学习里的对应物是 shape 对不对 —— 这是 99% 的 bug 所在。
  4. 查极限情形。 \(t\to 0\)\(t\to\infty\)、参数取 0、取 \(\infty\) 时,模型是否退化成一个你已知正确的简单模型?(相对论要退化回牛顿,Transformer 在序列长度 1 时要退化回 MLP。)
  5. 守恒量是免费的测试用例。 能量、质量、概率归一、总人数 —— 模拟跑一万步后它们还守恒吗?不守恒说明积分器或代码错了。
  6. 分清三个层次:描述 / 预测 / 干预。 拟合曲线是描述,测试集准确率是预测,"如果我改变 X 会怎样"是干预(因果)。相关性给不了你干预。 今天的大模型主要活在第二层,而科学和决策要的是第三层 —— 这是"AI 能不能做科学"这个问题的真正技术焦点。

以及三条戒律(用血写的)

  • LTCM(1998):两个诺奖得主的对冲基金,模型假设收益率分布有薄尾。俄罗斯违约,尾部事件发生,四个月亏掉 46 亿美元。错的不是数学,是"我假设的分布"这句话被忘掉了。
  • 洛伦兹(1963):三个变量的简化对流方程,初值差 \(10^{-6}\),几十步后完全发散。混沌不是模型不好,是这类系统的本性 —— 有些东西原理上就无法长期预测。 知道模型的极限在哪,是建模者的成年礼。
  • 托勒密(150–1543):一个预测极准、可解释性为零的模型,可以统治一千四百年,并且在它被推翻之前,所有人都觉得它是对的

🎨 0.4.9 配套脚本(待实现于 ch00_4_modeling/

按本项目的规矩:每个脚本必须产出一张图,且必须从真实现象出发

脚本 现象 → 数学 产出的可视化
ptolemy_epicycle_fourier.py 火星逆行 → 本轮叠加 → 傅里叶级数 动画:\(N\) 层本轮逐步逼近任意闭合曲线,\(N\) 越大越像
kepler_vs_newton.py 第谷的火星数据 → 拟合 vs 积分 并排:拟合椭圆的残差 vs 从 \(F=-GMm/r^2\) 积出的轨道
kepler_8_arcmin.py 那 8 角分 残差图:圆轨道的残差有系统性结构 = 模型没抓完
overfit_elephant.py 冯·诺依曼的大象 4 个复参数画出一头大象,5 个让鼻子摆动 —— 过拟合的视觉证明
softmax_is_boltzmann.py 磁铁自旋 → 采样温度 温度 \(T\) 从 0 扫到 \(\infty\),玻尔兹曼分布与 softmax 曲线完全重合
gradient_descent_is_physics.py 小球滚山谷 同一个势能面上:过阻尼(SGD) vs 带惯性(Momentum) 的轨迹对比
hopfield_ising.py 磁铁退磁 → 联想记忆 能量地形 + 从残缺图案收敛回原图的过程
pinn_heat_rod.py 傅里叶的热棒 纯数据拟合 vs 加了热方程残差项:外推区域的差距
lorenz_predictability.py 天气 两条初值差 \(10^{-6}\) 的轨迹分道扬镳,画出可预测时间窗
modeling_loop_falling_body.py 自由落体 抽象→求解→回代→检验 四步闭环的一张总图(本文 0.4.1 的代码)
dimensional_analysis_check.py 单摆周期 只靠量纲分析推出 \(T\propto\sqrt{L/g}\),不解任何方程

与其他章节的关系

  • Chapter 0.5math_his_cha0_6_symbols.md 之前那篇,公式即直觉的化石):本文的"物理原型表"是它的展开 —— 为什么建模里反复出现平方、\(1/r^2\)\(\log\)\(e^{-x}\)
  • Chapter 0.7ch00_7_physics_first/):物理优先。本文是它的方法论总纲 —— 0.7 讲"从现象出发学公式",本文讲"从现象出发公式"。
  • Chapter 0.96ch00_96_computability/):可计算性。它回答了建模的一个前置问题 —— 凭什么相信程序能模拟世界(丘奇–图灵),以及哪些东西原则上模拟不了
  • Chapter 5(傅里叶):本文 0.4.3 的本轮 = 那一章的三角级数,建议两边互相链接。
  • Chapter 6(概率):高斯的误差理论、玻尔兹曼的统计力学,是本文第 3、4 件必要条件。
  • Chapter 7(深度学习):本文 0.4.5 的四部件表,就是那一章"每行代码标注历史来源"的纲。

🧠 本文小结

建模就是把数学当工具用。 不是求真,是求用;不是消灭近似,是挑选近似。

AI 就是数学建模,四个部件(假设空间、损失函数、优化器、检验)没有一个是 21 世纪的发明,最年轻的也有 78 岁。变的不是数学,是成本结构:算力便宜到让托勒密的"加更多本轮"重新成为最优策略。

建模背后是物理:loss 是能量,softmax 是玻尔兹曼分布,梯度下降是耗散弛豫,架构是对称性声明,训练是自然界干了四十亿年的那件事 —— 最小化一个泛函

而世界之所以可以被建模,是因为它对称(诺特),因为它冗余,因为同一条规律在昨天和今天、在这里和那里都成立。这才是那份"不合理的有效性"的来源。

所以:托勒密教会我们,一个不懂原理的模型可以极其好用;开普勒教会我们,残差里藏着下一场革命;牛顿教会我们,机理换来的是外推的权力;高斯教会我们,没有误差项的不是模型;傅里叶教会我们,不严格但有用的工具会逼出下一代纯数学;洛伦兹教会我们,有些东西原理上就不可预测。

这六个人的教训加起来,就是今天你坐在一块 GPU 前,该有的全部世界观。