科研随笔——量纲与符号回归

2026-03-18

1. 超越量纲本身的语义

量纲分析,或者 Buckingham-PI 定理被经常拿来做符号回归算法的先验物理约束。量纲提供了一种极其廉价、却又确实有效的物理正则。它把变量从纯粹的数值列中拎出来,使模型至少知道哪些量可以相加,哪些量只能相乘,哪些组合在物理上没有意义。

常见的量纲约束分为2种:

    1. 以本课题组发展的DHC-GEP、SITE框架为代表的量纲校核约束。这类方法常常先任意进行符号组合,随后将预先给定的符号量纲进行运算,给无法通过校核的表达式赋予大额的损失,强制淘汰。另一种类似的方式是,把量纲的匹配程度量化为一个罚函数,再通过一个可调超参数进行scaling,然后加到主损失函数上,这种做法不会百分百杜绝量纲不齐次的方程,但也因此不至于出现种群难以进化的现象(SITE的seed injection strategy就是用来解决直接赋予大损失带来的进化停滞问题)。
    1. 以Fukami的JFM(2024)、Bakarji的NCS(2022)、Xie的NC(2021)以及Xia的EAAI(2026)为代表的无量纲学习(dimensionless learning)方法。这类方法都是先用量纲约束把候选表达限制在“物理上允许”的空间里,再用数据去解决 Buckingham Π 定理“可行但不唯一”的问题,找出最能解释输出、最有泛化能力的低维无量纲表示。

然而,量纲能提供的物理量的物理本质信息是很有限的,它刻画的是物理量可参与何种形式运算的边界,却没有触及这个物理量在理论结构中究竟扮演什么角色。同量纲变量之间的差别,正好暴露了这一层缺失。例如,速度、声速、扩散波速、相速度,量纲完全一致,数值尺度却可能相差多个数量级,更关键的是,它们进入方程的方式并不相同。某些量是系统状态,某些量是传输通量,某些量是材料参数,某些量则体现外部驱动或边界条件。只看量纲,这些差异全部被压缩了;只看数值,这些差异又被具体问题中的尺度、单位和采样方式淹没了。真正缺失的,似乎是量纲之上、数值之下的那一层物理语义

这层语义首先不是语言学意义上的名字,而是变量在物理结构中的位置。一个物理量是否守恒,是否可积,是否依赖参考系,是否具有方向性,是否描述局域状态还是跨边界交换,是否更接近原因还是结果,这些性质比变量名稳定得多,也比量纲更接近机制。换句话说,速度之所以不是声速,不在于它们叫法不同,也不在于单位不同,而在于它们分别对应不同的生成机制、不同的控制参数、不同的理论角色。前者通常是物体运动状态的一部分,后者更接近介质性质与热力学状态共同决定的传播特征。二者可以在同一组方程中相遇,但很少处于同一语义位置。

因此,更合适的中间表示,未必是再造一个比量纲稍复杂一些的离散标签,而应当是一组描述变量物理角色的语义坐标。这个表示可以包含若干彼此独立的轴:它是状态量还是参数,是广延量还是强度量,是守恒变量还是本构变量,是局域定义还是非局域定义,是标量、矢量还是张量,是坐标变换下不变还是协变,是主要体现时间演化还是空间耦合。它们不像自然语言那样松散,也不像数值那样依赖具体样本分布,而是贴近理论建模时真正关心的结构信息。

这件事还有一层更深的意义。量纲本质上是一种代数约束,它告诉我们表达式能否成立;语义角色则更接近结构约束,它告诉我们表达式为何会出现。代数约束能缩小搜索空间,结构约束则能改变搜索空间的形状。符号回归若只使用量纲,它依然在表达式层面搜索,只是少走一些死路;若进一步掌握变量的语义角色,它就有机会在机制层面组织搜索,把候选表达式限制在某类物理过程允许的范围内。这样一来,模型寻找的就不再只是形式上合法的组合,而是更可能对应真实生成机制的组合。从这个角度看,变量名本身也不应被简单丢弃。多数工作把变量名视为无信息标签,这在机器学习上很自然,因为字符串本身确实不携带稳定的数学结构。但在科学问题里,变量名往往是研究共同体长期压缩后的知识入口。压力、温度、密度、化学势,这些名称背后连着的是实验操作、理论传统、适用范围与典型近似。直接把名字输入模型当然过于粗糙,也容易引入语料偏见;可若把它们完全抹去,同样是在主动舍弃知识。更合理的做法,是不把名称当作最终表示,而把它当作检索语义属性的入口,再把这些较稳定、可形式化的属性编码为中间层。

2. Beyond data-to-equation

我们知道符号回归的目标是给定一组labeled的data(其实很多论文中都不做labeled,例如PSE和phyE2E,举例说就是输入数据的标签是无信息的,他只是$x_1$, $x_2$, … 这样子,不关注这列数据向量背后的名字是啥,因为模型也不知道这个名字有什么意义,很多端到端的模型都是只看数据的语义信息),那么上一点中说的量纲其实很特殊,它仍属于标签信息,却已不再是纯粹的符号,而是物理语义压缩后的最简投影(仅用长度为7的向量,且该向量的值一般为小整数,用INT4即可表示)。问题在于,这种压缩也极其剧烈。量纲保留下来的是代数兼容性,折叠掉的却是变量在物理理论中的角色、生成机制和适用范围。

我的直觉告诉我,真正的差异,可能真是在这部分被折叠的信息里。数值序列携带的信息量最大,却高度依赖尺度、单位、采样区间和具体任务;量纲最容易处理,却只给出最低限度的结构边界。两者之间显然还存在一层更有价值的中间表示。它不必像原始数据那样拥挤,也不能像量纲那样过于稀薄。对速度这一类同量纲变量而言,模型需要辨认的并不是单位是否一致,而是它究竟属于系统状态、传播特征、材料参数,还是某种外部驱动;它是否参与守恒关系,是否受参考系影响,是否主要决定时间演化,是否对应局域传输或全局约束。声速、光速和物体运动速度之所以不能互换,关键不在量纲,也不在数值大小,而在它们处于不同的物理角色。

一旦这层表示能够稳定提取,从数据到方程之间那段过长的推断链条就会明显缩短。模型面对的将不再只是匿名数值列,而是一组带有物理角色和结构关系的变量。它先判断哪些量更像状态变量,哪些量更像本构参数,哪些组合可能形成不变量,哪些相互作用更接近守恒律、响应关系或尺度律;随后再在这些语义边界内搜索表达式。这样得到的方程,并非只是拟合误差更小,而是更接近科学问题本身的生成逻辑。

早期的端到端 Transformer 模型则直接从样本点预测完整公式,试图跳过先定骨架、再拟合常数的两阶段流程;SymFormer 又把符号与常数一并生成,减少了后续优化与前向生成之间的割裂。这些工作证明,数据到公式的直接映射是可能的,也说明预训练模型确实能学到某种分布层面的公式先验;不过输入端依旧大多是匿名表格,变量在物理上的身份并未真正进入模型内部。

PhyE2E 往前多走了一步。它先借助 oracle neural network 的二阶导数把问题拆成若干更易处理的子问题,再用 Transformer 做端到端公式翻译(这里还嵌入了量纲信息),并在末端接上 MCTS 与遗传编程做精修。这里最值得注意的,不是具体用了哪一套搜索器,而是它已经不满足于让模型从原始数值直接猜公式,而是先从数据中抽取局部结构信号,再把这些信号送入符号生成阶段。LLM 路线也呈现出类似趋势。LLM-SR 把方程视为程序,用预训练科学知识提出骨架假设,DrSR 更进一步,先分析数据中的单调性、非线性和相关结构,再让生成与反思形成闭环。到了 2026 年,PiT-PO 框架把物理约束与 token 级正则一并纳入策略优化,使搜索反馈真正进入模型参数更新;符号回归的重心也随之从更快生成公式,转向更早恢复决定公式形态的结构信息。

因此,我认为量纲约束的下一步,并不是再设计一个比量纲稍复杂一些的标签系统,而是学习一种可计算的物理语义表征。它既能比量纲承载更多内容,又不至于像原始数值那样混杂。这样的表征至少应当包含三层信息:变量自身的角色,变量之间的关系,变量进入方程时可能服从的结构规则。前一层区分状态量、控制量、材料参数、响应量、守恒量、本构量;中间一层刻画依赖图、耦合强弱、可分离性、对称性、尺度关系和可能的不变量;最后一层限定候选算子族与组合方式,例如哪些量更可能通过梯度、散度、乘性耦合、指数律或幂律进入表达式。到这一步,模型做的就不再是无差别的式子拼接,而是在一个已经受到语义约束的空间里搜索。

TLDR,符号回归未必要从数据直接走到方程。中间完全可以插入一个物理语义层,把数值、量纲、变量名、实验条件、坐标系信息、边界条件和已有知识库共同压缩成统一表示。端到端并不要求取消这一步;更成熟的端到端系统,很可能要把这一步学进模型内部。它先输出变量的语义角色和关系图,再在此基础上生成表达式。符号回归若要真正进入科学发现的核心地带,恐怕绕不过这一步。