SR-Scientist: Scientific Equation Discovery With Agentic AI
核心思想
符号回归(Symbolic Regression)是从数据中发现简洁数学方程的任务——给定 $(x_i, y_i)$ 数据对,找到 $f$ 使得 $f(x_i) \approx y_i$,同时方程要尽可能简洁可解释。
现有方法中,LLM 只是被动地”提出候选方程”。SR-Scientist 将 LLM 变成自主的 AI 科学家:
- 自己写代码分析数据
- 自己提出方程假设
- 自己提交评估、查看结果
- 自己根据反馈迭代改进
结果:跨化学、生物、物理、材料科学 4 个学科,比基线提升 6-35%。
背景知识
什么是符号回归
与普通回归(拟合固定形式的参数)不同,符号回归同时搜索方程形式和参数:
| 方法 | 搜索内容 | 示例 |
|---|---|---|
| 线性回归 | 参数 $(a, b)$ | $y = ax + b$ |
| 神经网络 | 权重矩阵 | $y = \text{NN}(x)$(黑箱) |
| 符号回归 | 方程结构 + 参数 | $y = a \sin(bx) + c e^{-dx}$ |
难点:方程结构的搜索空间是组合爆炸的——运算符、函数、变量的排列组合无穷多。
传统符号回归方法
| 方法 | 策略 | 局限 |
|---|---|---|
| GPLearn | 遗传算法进化方程 | 纯随机搜索,效率低 |
| PySR | 多目标遗传算法 | 对复杂方程力不从心 |
| DSR/uDSR | 深度学习引导搜索 | 缺乏科学直觉 |
| LLM-SR | LLM 提出候选方程 | LLM 是被动的,不能分析数据 |
为什么 LLM 适合做符号回归
LLM 具有:
- 科学知识:知道物理定律、化学方程的常见形式
- 代码能力:能写代码分析数据特征(周期性、指数衰减等)
- 推理能力:能根据反馈调整假设
但需要工具来弥补 LLM 不擅长的精确数值计算。
方法详解
1. 推理框架(Algorithm 1)
智能体的轨迹由三元组序列组成:$(r_i, T_i, o_i)$
- $r_i$:自然语言推理(”数据看起来有周期性…”)
- $T_i \subseteq T$:调用的工具
- $o_i$:工具返回的观察结果
工具设计
$T_1$:数据分析器
- 是一个代码解释器,可以访问观测数据
- 智能体可以写代码做统计分析(画图、FFT、自相关等)
- 帮助发现数据中的模式
$T_2$:方程评估器
- 接受带参数占位符的方程骨架(如 $y = a \sin(bx + c)$)
- 用 BFGS 优化拟合参数
- 报告性能指标:MSE、NMSE、MAPE
经验缓冲区
维护历史探索记录 $E = {(e_i, s_i)}_{i=1}^N$——存储已探索的方程和对应的 MAPE 分数。
关键设计:每次迭代开始时,取 Top-K 最优方程作为上下文示例 → 解决 LLM 上下文长度限制问题。
评估指标
\[\text{MAPE} = \frac{100\%}{n} \sum_{i=1}^{n} \left|\frac{y_i - f(x_i)}{y_i}\right|\]2. 训练框架
2.1 奖励设计
对数线性函数将 MAPE 分数映射到 $[0, 1]$:
\[\mathcal{R} = \text{clip}\left(\frac{\lg s_{\max} - \lg s}{\lg s_{\max} - \lg s_{\text{goal}}}, 0, 1\right)\]- $s_{\max}$:MAPE 上限阈值
- $s_{\text{goal}}$:目标精度
- 对数尺度使奖励对精度提升更敏感
2.2 GRPO 训练
使用 Group Relative Policy Optimization(无 KL 惩罚项):
\[J_{\text{GRPO}}(\theta) = \mathbb{E}\left[\frac{1}{G} \sum_{i=1}^{G} \min\left(\frac{\pi_\theta(o_i|q)}{\pi_{\theta_{\text{old}}}(o_i|q)} A_i, \text{clip}\left(\frac{\pi_\theta(o_i|q)}{\pi_{\theta_{\text{old}}}(o_i|q)}, 1-\varepsilon, 1+\varepsilon\right) A_i\right)\right]\]其中 $A_i$ 是组内相对优势(不需要单独的价值网络)。
2.3 训练数据合成
| 配置 | 值 |
|---|---|
| 学科 | 化学、生物、物理、材料科学 |
| 数据生成 | LLM 合成方程骨架 + 规则生成 |
| 静态系统 | 均匀采样 |
| 动态系统 | SciPy solve_ivp(RK45) |
| 去重后总数 | 1024 个问题 |
| RL 训练硬件 | 32 × NVIDIA H200 GPU |
| RL 框架 | verl |
3. 运行配置
| 参数 | 值 |
|---|---|
| 每次迭代最大轮数 | 25 |
| 总迭代次数 | 40 |
| LLM 调用次数上限 | ~1000 次/问题 |
| 经验缓冲区大小 | Top-K 最优方程 |
实验结果
评估数据集
LLM-SRBench Synthetic (LSR-Synth):129 个问题
- 化学 36、生物 24、物理 44、材料科学 25
- 每个问题有训练集、域内测试集、域外测试集
评估指标
-
$\text{Acc}_\tau$:$\max (\hat{y}_i - y_i)/y_i \le \tau$ → $\tau \in {0.01, 0.001}$ - 符号准确度:方程结构是否匹配真实方程
主要结果
| 模型 | $\text{Acc}_{0.01}$ | $\text{Acc}_{0.001}$ |
|---|---|---|
| GPLearn | 低 | 低 |
| PySR | 中低 | 低 |
| LLM-SR (Qwen3-480B) | 41.08% | — |
| SR-Scientist (GPT-OSS-120B) | 63.57% | 49.35% |
| SR-Scientist (Qwen3-480B) | 49.09% | 24.55% |
| SR-Scientist (GLM-4.5-Air) | 48.32% | 25.06% |
最佳配置比之前最好的 LLM-SR 提升 22.5 个百分点。
RL 训练效果
| 模型 | $\text{Acc}_{0.01}$ |
|---|---|
| Qwen3-30B(基线) | 32.30% |
| Qwen3-30B + RL | 40.92% |
RL 训练带来 +8.6% 的提升。
符号准确度
| 方法 | 符号准确度 |
|---|---|
| uDSR | 0.77% |
| PySR | 4.65% |
| LLM-SR | 5.43% |
| SR-Scientist | 7.00-7.75% |
SR-Scientist 发现了最多与真实方程结构匹配的方程。
噪声鲁棒性
在 $\sigma \in {0.01, 0.05, 0.1}$ 的高斯噪声下,所有方法性能下降,但 SR-Scientist 始终保持最优,尤其是 Qwen3-480B 和 GLM-4.5-Air 骨干。
消融实验
| 变体 | 效果 |
|---|---|
| 无数据分析器 ($T_1$) | 下降 6-28 个百分点 |
| 无经验缓冲区 | 下降 8-22 个百分点 |
| 完整方法 | 最优 |
两个组件都至关重要。
轮数分析
固定 ~1000 次 LLM 调用,改变最大轮数(10→40):
- 10→25 轮:性能显著提升
- 25→40 轮:性能饱和
- 最优策略:较少迭代次数 × 较多单次轮数
工具调用行为
| 模型类型 | 方程评估占比 | 数据分析占比 |
|---|---|---|
| Qwen/GLM | ~80% | ~20% |
| GPT-OSS-120B | 更灵活 | 更多残差分析 |
| RL 训练后 | — | 数据统计使用增加 |
个人思考
- “AI 科学家”而非”AI 计算器”:SR-Scientist 不只是拟合方程,而是分析数据 → 提出假设 → 验证 → 迭代——这是科学发现的完整循环。
- 经验缓冲区解决了上下文长度限制:40 轮迭代 × 25 步/轮 = 1000 步的完整历史远超上下文窗口 → 只保留 Top-K 最优方程是优雅的压缩方式。
- 数据分析器是关键差异化因素:消融实验中去掉 $T_1$ 后下降 6-28 个百分点 → 说明”先分析数据特征再猜方程”比”直接猜方程”高效得多。
- GRPO 无 KL 项的选择:符号回归需要大胆探索新的方程形式 → KL 正则化会限制探索 → 去掉 KL 是合理的。
- 符号准确度仍然很低(7.75%):说明发现精确的科学方程仍然极具挑战——大部分”正确”的方程只是数值拟合好,但结构不同。