跳转至

FunctionEvolve: Structure-Guided Symbolic Regression with LLMs

会议: NeurIPS 2026
arXiv: 2606.07704
论文: https://arxiv.org/abs/2606.07704
代码: https://github.com/Phoinikas03/FunctionEvolve
领域: Reasoning
关键词: 符号回归, 大语言模型, 抽象语法树, 进化算法, 结构感知优化

一句话总结

针对大语言模型驱动符号回归缺乏显式语法约束与参数拟合不稳定的问题,FunctionEvolve 构建以抽象语法树为核心的进化框架,联合 AST 规则编辑、大模型局部提议与变量投影结构感知优化,在 LLM-SRBench 合成基准上取得 82.9% 的 SA@50 和 55.8% 的 SA@1 突破。

研究背景与动机

从实验数据中挖掘出可解释的确定性数学定律,是现代计算驱动科学发现的核心愿景。黑盒深度学习模型虽然能拟合高维观测数据,但其复杂的内部表征难以揭示物理现象背后的内禀机理。符号回归(Symbolic Regression, SR)旨在直接从观测数据中逆向重构显式解析数学表达式,因而具备出色的可解释性、外推泛化能力以及物理跨域迁移潜力。传统符号回归通常采用遗传规划(Genetic Programming, GP),将数学公式编码为抽象语法树(AST)并利用交叉变异算子进行离散组合优化。然而,符号回归在数学本质上属于 NP-hard 难题,缺乏领域先验指导的纯随机演化极易在高维巨大的离散假设空间中陷入组合爆炸。

近期兴起的大语言模型(LLM)驱动符号回归尝试引入物理背景、变量量纲等语义先验,以自然语言或代码生成的范式引导候选公式生成。然而,在以全新合成法则构建的严苛基准(如 LLM-SRBench)评测下,纯语义引导的方法与精确符号恢复之间依然存在巨大的性能鸿沟。这种停滞暴露出三大系统性瓶颈:其一,冷启动阶段缺乏针对具体任务几何特性的结构先验;其二,父代选择器通常将候选公式视为黑盒字符串或不透明代码,使得有限的搜索算力无法感知不同分支的拓扑差异,造成公式结构多样性迅速坍缩;其三也是最为关键的,现存系统普遍依赖通用的黑盒局部非线性优化器(如直接调用 L-BFGS),当探索到拓扑结构完全正确的数学骨架时,由于连续参数优化的局部极小值或高维病态鞍点,常导致拟合误差偏大,进而使得正确的符号骨架被评估系统误杀并提前剪枝丢弃。

这种结构盲目性(Structure-Blindness)在公式变异时尤为致命:许多公式的进化并不需要推倒重写,而仅需对特定算子分支做局部微调(例如将外层正弦参数由 \(\sin(x)\) 修正为 \(\sin(c_1 x + c_2)\))。遗传规划的变异虽然作用于局部子树,但演化方向盲目随机;而基于大模型的文本或代码级重写虽然具备方向感,却无法锁定 AST 的局部拓扑,极其容易在重写时破坏父代已探索到的正确子结构。核心 idea:将显式抽象语法树贯穿于符号回归全生命周期,通过演化树摘要引导多样性父代选择,结合确定性 AST 规则加减与大模型上下文引导局部提议,并配合基于变量投影的结构感知参数优化器,使离散结构搜索与连续参数求解紧密协同。

方法详解

整体框架

FunctionEvolve 将科学定律发现形式化为任务条件引导的“单样本冷启动初始化 + 迭代树形进化”闭环架构。系统包含四个紧密协同的模块:生成器(Generator)、选择器(Selector)、变异器(Mutator)与结构感知优化器(Optimizer)。首先,生成器基于任务的自然语言科学背景、变量定义及物理量纲,推导全局先验并生成多样化初始种子表达式池;在每一轮演化迭代中,选择器根据包含 AST 拓扑信息与训练拟合表现的演化树摘要,筛选出高潜力且兼具结构多样性的父代节点;变异器随后针对选定父代展开互补的局部操作,包括确定性 AST 规则添加、AST 规则剪枝以及基于显式树结构指导的 LLM 局部重构提议;最后,生成的候选骨架交由结构感知优化器,利用变量投影解耦线性与非线性参数、执行参数吸附与代数化简,在严格评估训练 NMSE 与退化筛选后存入演化知识库,实现全局闭环演化。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["任务背景与数值数据输入<br/>文本背景 T, 变量定义与量纲, 数据 D={(x_i, y_i)}"] --> B["1. 语义先验与结构化种子生成<br/>任务物理先验抽取 + 单项式/复合式种子池初始化"]
    B --> C["2. 演化树拓扑感知父代选择<br/>综合 AST 深度/算子特征/训练 NMSE/选择历史"]
    C --> D["3. 显式 AST 混合驱动局部变异<br/>规则增删(单目/双目基元) + LLM局部ADD/SUBST"]
    D --> E["4. 变量投影与吸附结构感知优化<br/>线性参数 OLS 投影 + 非线性全局搜索 + 有理指数吸附"]
    E --> F["5. 复杂度感知后验 Pareto 筛选<br/>训练 NMSE 配合结构复杂度过滤输出精确符号法则"]

关键设计

1. 语义先验与结构化种子生成:解耦冷启动依赖与无偏初始化

传统符号回归通常从随机组合的简单表达式开始搜索,而纯语言模型往往倾向于输出预训练数据中高频出现的通用物理定律。FunctionEvolve 的生成器(Generator)通过两个子流程完成有指导的初始化:首先,generate_domain_knowledge 解析任务上下文 \(T\) 与输入变量量纲,若无长文本背景则依赖量纲分析推导结构启发式规则与潜在函数关系形态(如衰减、振荡、饱和特性),并与通用科学先验库合并;随后,initialize_seeds 综合任务背景与提炼的领域知识,受控采样 20 个初始种子表达式。生成的种子兼顾约 50% 的通用初等函数构型(如紧凑单项式、乘积、比例与复合形式)与 50% 融入科学机理的构型。所有输出通过 SymPy 严格解析并执行结构指纹校验,确保自由变量与待估参数匹配,有效避免了冷启动阶段在不合规表达式上的无效计算。

2. 演化树拓扑感知父代选择:规避单一指标贪心与结构退化

如果父代选择单纯依赖训练误差(如 NMSE)排序,搜索算力会迅速被数值拟合优秀但结构过于繁复的次优分支垄断。选择器(Selector)在每一轮迭代中引入全局演化树视图,向大模型提供最多 200 个处于激活状态的候选节点摘要。该摘要对每个候选节点不仅暴露训练误差 \(\text{NMSE}_{\text{train}}\),还显式结构化展示 AST 树深度(Tree Depth)、算子统计分布(Operator Counts)、可调标量参数量(Parameter Count)以及已拟合的参数数值。为了杜绝数据穿越,选择器仅能访问训练误差,完全屏蔽测试集与分布外(OOD)评估表现。选择器综合考量拟合精度、公式紧凑度及历史选择频率,每轮挑选 5 个互补的父代节点分配变异预算,并在发现公式拟合达到成熟阈值时将其归档,促使搜索向潜在未充分探索的拓扑方向转移。

3. 显式 AST 混合驱动局部变异:互补确定性加减与语义重构

变异器(Mutator)是实现结构渐进式演进的核心引擎,它摒弃了将公式视为纯文本黑盒代码的盲目重写,将操作细化为三条协同路径: - 确定性规则添加(Rule Addition):基于无偏初等函数库(包含线性 \(c_1 x_j + c_2\)、三角函数 \(c_1 \sin(c_2 x_j + c_3)\)、幂函数 \(c_1 x_j^{c_2}\)、指数 \(c_1 \exp(c_2 x_j)\)、对数 \(c_1 \log(1+c_2 x_j)\) 及有理分式),通过加法 \(f+g\)、乘法 \(f \cdot g\)、除法 \(f/(1+g_s)\) 以及单目函数包裹(\(\exp(cf), \log(1+cf), \sin(cf), |cf|, f^c\))对父代树进行确定性扩展,保证基础结构的完备覆盖。 - 确定性规则剪枝(Rule Deletion):对 AST 节点实施逆向修剪,例如从加法节点中剥离冗余项、从乘法节点中剔除非数值因子、解包初等函数包裹(如 \(\exp(g) \mapsto g\))或将高阶幂次降维,主动剔除无效冗余结构。 - LLM 局部重构提议(LLM-Guided Proposal):大模型接收父代公式的详细带深度标注语法树特征 \(\mathcal{F}(f) = \{\texttt{Op}(\text{Depth}:k)\}\)、已拟合系数及规则变异历史,针对父代生成 20 个具备语义解释性的局部变异提议。提议被明确约束为保留骨架外围包裹的 ADD 操作,或是精准替换特定错误子树的 SUBST 局部替换,既利用了大模型的发散推理能力,又牢牢保留了父代的正确拓扑骨干。变异生成的公式经由结构参数不变量指纹 \(\kappa(f)\) 去重与代数化简,剔除病态候选。

4. 变量投影与吸附结构感知优化:根除骨架误杀假阴性

连续参数拟合失败是导致正确符号骨架被错杀的根本诱因。优化器(Optimizer)深度结合公式拓扑,构建了一套多阶段结构感知求解管线: - 变量投影解耦(Variable Projection, VarPro):自动将候选公式参数划分为仿射线性参数 \(\mathbf{c}_L\) 与非线性参数 \(\mathbf{c}_N\),即表示为 \(f(\mathbf{x}; \mathbf{c}) = \sum_{k=1}^K c_{L,k} \psi_k(\mathbf{x}; \mathbf{c}_N) + \psi_0(\mathbf{x}; \mathbf{c}_N)\)。在任意给定的非线性参数下,线性系数直接通过普通最小二乘法(OLS)求得全局解析最优解,将优化自由度压缩至纯非线性参数子空间 \(\mathbf{c}_N\)。 - 结构化网格预搜索:针对复合幂次结构 \((x+c_1)^{c_2}\),首先在离散有理集合 \(\{1, 2, 1/2, 3, 1/3, -1, 3/2, 4, 5, -1/2, -2, -3\}\) 上穷举指数并配合 OLS 求解;对高斯中心或平移参数 \((x-c_i)\),在输入特征的极值区间均匀扫描 100 个网格中心点,为后续连续优化提供稳固的初值盆地。 - 全局与局部混合求解:在非线性参数空间中,先分配预算采用信赖域最小二乘、CMA-ES 与差分进化(DE)进行全局探索,随后切换至 L-BFGS-B 进行精细梯度抛光。 - 参数吸附与重拟合(Snap and Refit):对优化后的非线性参数,自动检测其是否贴近稳定有理数(分母为奇数的有理数或临近整数网格);吸附固定该参数后再次调用 L-BFGS-B 拟合剩余自由参数,若拟合误差不恶化则保留吸附结果。该策略极大增强了骨架的数学可解释性,并从根本上消除了数值下溢导致的骨架误判。

5. 复杂度感知后验 Pareto 筛选:打破训练拟合与真实拓扑的排序偏置

在搜索终止后,由于高阶泰勒展开或复杂有理近似在有限局部样本点上可能取得比真实简洁公式更低的经验训练 NMSE,直接以训练误差 Top-1 选出最终公式存在系统性排序偏差。FunctionEvolve 在搜索结束后的全局候选轨迹上引入无监督复杂度感知后验选择机制。定义综合复杂度评分: $\(q_i = s_i + w_o o_i + w_p p_i + w_h h_i\)$ 其中 \(s_i\) 为语法树节点总数,\(o_i\) 为算子总数,\(p_i\) 为自由参数量,\(h_i\) 为超越特殊函数量。系统基于 \((\log \text{NMSE}_{\text{train}}, q_i)\) 构建 Pareto 非支配排序前沿,优先从首层非支配前沿中依序截取候选结果;或采用奥卡姆剃刀准则(Occam),在训练 NMSE 逼近最优拟合阈值 \(\Delta\) 的近优候选集合内,严格按复杂度 \(q_i\) 从小到大排序。该策略在不接触任何测试集标签的前提下,大幅提振了紧凑真实物理法则的终选排名。

实验关键数据

主实验

主实验在权威合成符号回归基准 LLM-SRBench(包含 129 项来自生物学、化学反应动力学、物理振荡及材料科学的未知物理任务)上进行,评估指标包括命中候选池 Top-50 中存在真实公式的符号准确率(\(\text{SA}@50\))、Top-1 单选符号准确率(\(\text{SA}@1\))、容差准确率 \(\text{Acc}_{0.1}\) 以及中位数测试归一化均方误差(NMSE)。

方法 主干模型 / 演化策略 SA@50 ↑ SA@1 ↑ Acc0.1 (任务数) ↑ 测试 NMSE (中位数) ↓
Direct Prompting GPT-4o-mini - 2 10 -
Direct Prompting Claude Opus 4.6 2 1 18 \(1.36 \times 10^{-3}\)
PySR (传统GP基线) Genetic Programming - 2 51 -
OpenEvolve Claude Opus 4.6 24 5 27 \(4.30 \times 10^{-6}\)
LaSR GPT-4o-mini - 14 51 -
LLM-SR GPT-4o-mini - 17 64 -
LLM-SR (复现) Claude Opus 4.6 24 11 40 \(9.80 \times 10^{-7}\)
PiT-PO (前SOTA) Llama-3.1-8B (RL强化学习) - 20 86 -
FunctionEvolve (无LLM) 纯 AST 变异 + 结构感知优化 29 16 78 \(1.47 \times 10^{-10}\)
FunctionEvolve (本文) Llama-3.1-8B (无RL微调) 62 23 90 \(1.17 \times 10^{-12}\)
FunctionEvolve (本文) Qwen3.6-27B 86 38 109 \(2.06 \times 10^{-13}\)
FunctionEvolve (本文) DeepSeek-V4-Pro 99 71 111 \(1.78 \times 10^{-13}\)
FunctionEvolve (本文) GPT-5.2 medium 103 69 111 \(2.08 \times 10^{-13}\)
FunctionEvolve (本文) Claude Opus 4.6 107 72 113 \(\mathbf{1.38 \times 10^{-13}}\)
Ground Truth (理论上限) 真实解析物理公式 129 129 120 \(4.98 \times 10^{-14}\)

在经典 AI-Feynman 物理物理数据集(100 个经典问题 + 20 个高难度奖励问题,共 120 项任务)上,FunctionEvolve 实现了 120/120(100%) 的 Top-1 完全精确符号恢复,显著优于 LaSR(72/100)、SR-LLM(69/90)与 QDSR(107/117)。

消融实验

消融实验在 LLM-SRBench 129 项合成任务上系统检验了各功能模块对于符号发现的影响。

配置 GPT-5.2 medium SA@50 (SA@1) Claude Opus 4.6 SA@50 (SA@1) 机制说明
Full Model (完整框架) 103 (69) 107 (72) 完整 FunctionEvolve 框架
w/o Generator 79 (49) 91 (58) 移除领域先验生成,采用固定通用种子列表冷启动
w/o Selector 62 (44) 74 (46) 移除 LLM 选择器,改用适应度排名的玻尔兹曼概率采样
w/o AST Mutator 70 (42) 84 (50) 仅保留 LLM 文本提议,禁用确定性 AST 规则加减
w/o AST Structure - 60 (40) LLM 完全无法感知 AST 深度与算子结构,退化为纯文本代码搜索
w/o Struct. Optimizer 46 (16) 53 (22) 替换结构感知优化器为通用 L-BFGS-B,缺乏参数解耦
w/o All (退化为LLM-SR并发版) 35 (6) 34 (10) 剥离所有结构引导与高级优化,退化为纯文本盲目演化

针对后验候选选择准则的消融分析表明,引入复杂度感知的多目标筛选显著收窄了高阶过拟合带来的伪阳性:

终选排序准则 截断候选数 (Shortlist) 精确匹配任务数 (Exact Matches) 核心特性
Train NMSE (贪心拟合) Top-1 72 易被高阶有理泰勒展开截胡
Train NMSE (贪心拟合) Top-5 89 扩大候选池可捕获部分真实公式
Train NMSE (贪心拟合) Top-10 95 逐渐逼近深层真解
Pareto 非支配排序 Top-5 102 联合考虑误差与公式树大小,前沿筛选提效显著
Occam 奥卡姆准则 Top-5 101 在拟合最优邻域内按紧凑度排序
Pareto 非支配排序 Top-10 102 维持极高精度
Occam 奥卡姆准则 Top-10 104 逼近 Top-50 理论上限 (107)

关键发现

  • 结构感知参数优化是防范骨架错杀的头号屏障:消融数据显示,移除结构感知优化器导致 Claude Opus 4.6 的 \(\text{SA}@50\) 从 107 断崖式下滑至 53,\(\text{SA}@1\) 从 72 锐减至 22。独立基准测试证明,在包含高阶有理或复合零振幅干扰项时,通用 L-BFGS 陷入局部极小的概率极高,而变量投影与网格吸附使优化成功率从不足 50% 跃升至 90% 以上。
  • 纯规则加连续优化的 baseline 即逼近前沿强化学习水平:值得注意的是,FunctionEvolve 在完全不接入 LLM 的纯算子规则变异与结构优化配置下(No LLM),即斩获了 29 的 \(\text{SA}@50\) 与 16 的 \(\text{SA}@1\),已然逼近在 Llama-3.1-8B 上施加重度强化学习微调的 PiT-PO(Top-1 仅为 20)。这印证了符号回归中“结构表达”与“数值求解解耦”本身蕴含着巨大的未开发红利。
  • 大模型调用算力效率显著优于传统并发搜索:FunctionEvolve 平均每项任务仅消耗 66.86 次 LLM API 调用,远低于 LLM-SR 的 1000.27 次与 OpenEvolve 的 201.50 次;通过单次批量推演 20 个提议与多核 CPU 并发执行数值优化,加权 Token 成本相较 LLM-SR 降低约 40%。

亮点与洞察

  • 将 AST 语法树作为 LLM 与连续优化器共同的通用语言:传统方案要么割裂为“LLM 生成代码 \(\to\) 黑盒执行”,要么局限在“符号回归专用语法 \(\to\) 盲目交叉”,本文将带深度层级标记的 AST 特征显式暴露在 Prompt 中,使大模型能够直接下达子树级 SUBST 指令,实现了语义驱动与离散语法约束的无缝缝合。
  • 解耦线性与非线性参数求解空间的变量投影机制:将符号回归的连续求解转化为“外层非线性演化搜索 + 内层普通最小二乘解析解”,把高维病态鞍点搜索直接降维,规避了高维连续参数优化灾难。
  • 揭示了主流合成基准中致命的共线性与不可辨识性缺陷:作者深入审计发现,LLM-SRBench 中材料科学(MatSci)子集的 25 项任务存在严重的输入数据降维坍缩(温度 \(T\) 与应变 \(\epsilon\) 呈现相关系数高达 \(1 - 2.7\times 10^{-12}\) 的严格线性依赖 \(T \approx 273 + 500\epsilon\)),且阿伦尼乌斯项变动极其微弱(小于 0.1%),导致结构错误的替代公式可以获得与真实公式完全无异的数值拟合,这一深刻反思为后续科学基准的数据集设计敲响了警钟。

局限与展望

  • 对强观测噪声极其敏感:当向训练样本注入 1% 与 5% 的高斯噪声时,FunctionEvolve 的 \(\text{SA}@50\) 显著滑落至 54 与 40。原因在于算法以均方误差为第一驱动力,噪声扰动使得复杂的过拟合代数形式在经验误差上显著战胜真实的简洁物理律,亟需融入物理不变量或贝叶斯不确定性正则化。
  • 计算图依赖于封闭形式的解析代数解:当前系统主要针对静态解析方程,无法直接端到端拓展至不可积的非线性动力学系统微分方程逆问题(ODE/PDE 发现)。
  • 材料科学等病态数据的识别盲区:在高度共线性的输入特征下,系统无法从纯数值角度鉴别耦合机制,未来需要引入主动实验设计(Active Experiment Design)生成探索性扰动样本以解耦变量相关性。

相关工作与启发

  • vs LLM-SR (Shojaee et al., 2024):LLM-SR 直接通过 Python 程序代码迭代变异,缺乏 AST 显式树结构的约束与变量投影优化。FunctionEvolve 通过 AST 结构摘要使 LLM 能够进行精准的局部节点替换,配合解耦优化使 Top-1 恢复率提升了 4 倍以上。
  • vs PySR (Cranmer, 2023):PySR 是基于 Julia 的纯遗传规划经典基准,依赖多岛演化与模拟退火。FunctionEvolve 引入大模型语义背景推理填补了 GP 在宏观搜索方向上的盲目性,同时吸收了 GP 精细的树结构演变优势。
  • vs PiT-PO (Wang et al., 2026):PiT-PO 使用 PPO 强化学习微调 Llama 模型以对齐物理量纲约束,但计算开销巨大且跨域泛化受限。FunctionEvolve 无需昂贵的在线强化学习训练,即插即用任意前沿大模型,凭借卓越的结构与数值协同架构在同等骨架下全面超越前者。

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 巧妙融合显式抽象语法树拓扑、变量投影参数求解与大语言模型语义先验,提出了一套兼顾可解释性与求解效率的全新演化架构。
  • 实验充分度: ⭐⭐⭐⭐⭐ 涵盖 129 项合成任务与 120 项经典物理基准,跨越多个前沿开源/闭源模型,消融实验直击各组件贡献,并深度剖析了评测基准的共线性缺陷。
  • 写作质量: ⭐⭐⭐⭐⭐ 结构清晰严谨,数学公式与图表呈现规范详实,对符号回归中拟合与结构错杀的矛盾剖析极为透彻。
  • 价值: ⭐⭐⭐⭐⭐ 为大模型赋能科学发现(AI for Science)提供了极具实用价值且可复用的符号推演范式,对推动可解释经验定律发现意义重大。