核心发现
方法论
本文提出了一种基于GPU的批处理Levenberg-Marquardt求解器,用于符号回归中的常数优化。该方法利用反向自动微分在一次反向传播中构建每棵树的雅可比矩阵,使得每次迭代的主要成本与树中的常数数量无关。通过固定数量的CUDA启动实现了结构异构种群的常数优化。
关键结果
- 在早期种群中,求解器在NVIDIA A100上每秒处理高达5.1×10^5棵树。
- 在GPU饱和的基准配置下,其吞吐量是64核EPYC 7763上Operon的约9.9倍。
- 集成到EvoGP后,求解器在18个构造问题中恢复了10个的控制方程,而原始EvoGP为0。
研究意义
该研究显著提高了符号回归中常数优化的效率,尤其是在GPU加速的框架中。通过在GPU上实现批处理的常数优化,解决了传统方法中常数优化与结构搜索之间的性能瓶颈。这一进步使得更复杂的模型可以在合理的时间内得到优化,从而推动了科学发现和可解释机器学习的发展。
技术贡献
本文的技术贡献在于将批处理的二阶常数优化完全引入GPU中,并与EvoGP集成,使得常数优化在每代搜索中完全在GPU上运行。反向自动微分的使用和双精度交付保护机制确保了优化结果的精度和效率。
新颖性
这是首次将批处理的二阶常数优化完全引入GPU的符号回归中。与现有的CPU方法相比,该方法在处理异构种群时具有显著的效率提升。
局限性
- 在处理非常大的数据集时,GPU内存可能成为瓶颈。
- 算法对GPU硬件的依赖性较强,可能限制其在其他硬件上的应用。
未来方向
未来的研究方向包括优化算法以支持更大规模的数据集,以及探索在其他硬件架构上的应用潜力。
AI 总览摘要
符号回归是一种从数据中发现闭式表达式的方法,但常数优化的计算成本使得现代GPU框架往往忽略这一过程。本文提出了一种基于GPU的批处理Levenberg-Marquardt求解器,能够在结构异构的表达式树种群中优化常数。通过反向自动微分构建雅可比矩阵,使得每次迭代的成本与树中的常数数量无关。实验结果表明,该方法在NVIDIA A100上每秒处理高达5.1×10^5棵树,吞吐量是64核EPYC 7763上Operon的约9.9倍。集成到EvoGP后,求解器在18个构造问题中恢复了10个的控制方程,而原始EvoGP为0。该研究显著提高了符号回归中常数优化的效率,推动了科学发现和可解释机器学习的发展。未来的研究方向包括优化算法以支持更大规模的数据集,以及探索在其他硬件架构上的应用潜力。
深度分析
研究背景
符号回归通过同时搜索候选模型的结构和数值参数,从数据中发现闭式表达式。树形遗传编程是其主要方法,通过适应度选择和遗传操作进化表达式树。然而,遗传操作对微调实值常数效果不佳,导致结构正确的表达式可能因数值系数不佳而适应度低。常数优化通过局部优化解决这一问题,通常使用Levenberg-Marquardt方法。
核心问题
常数优化的计算成本使得现代符号回归系统往往忽略或限制其形式。GPU加速的框架虽然提高了评估吞吐量,但缺乏对常数优化的支持,导致结构搜索与精确度之间存在差距。
核心创新
本文设计了一种GPU驻留的批处理Levenberg-Marquardt求解器,专为TGP中的异构常数优化工作负载而设计,并直接集成到EvoGP中,使得常数优化在每代搜索中完全在GPU上运行。反向自动微分的使用和双精度交付保护机制确保了优化结果的精度和效率。
方法详解
- �� 设计GPU驻留的批处理LM求解器,处理异构种群的常数优化。
- �� 反向自动微分构建每棵树的雅可比矩阵,成本与常数数量无关。
- �� 每次迭代通过固定数量的CUDA启动实现,并通过双精度交付保护机制确保结果精度。
实验设计
实验在NVIDIA A100上进行,使用合成种群,其树形状、深度和常数数量分布校准至真实EvoGP运行的快照。基准测试使用合成目标,确保每个实例的已知近全局最优,允许直接评估解决方案质量和公平的吞吐量比较。
结果分析
在早期种群中,求解器在NVIDIA A100上每秒处理高达5.1×10^5棵树。在GPU饱和的基准配置下,其吞吐量是64核EPYC 7763上Operon的约9.9倍。集成到EvoGP后,求解器在18个构造问题中恢复了10个的控制方程,而原始EvoGP为0。
应用场景
该方法可用于科学发现和可解释机器学习中的符号回归任务,尤其是在需要优化复杂模型的情况下。其高效的常数优化能力使其适用于需要快速迭代和高精度的应用场景。
局限与展望
尽管该方法在GPU上表现出色,但在处理非常大的数据集时,GPU内存可能成为瓶颈。此外,算法对GPU硬件的依赖性较强,可能限制其在其他硬件上的应用。未来的研究方向包括优化算法以支持更大规模的数据集,以及探索在其他硬件架构上的应用潜力。
通俗解读 非专业人士也能看懂
想象一个工厂,工厂里有许多机器,每台机器负责生产一种产品。为了提高产品质量,我们需要调整每台机器的参数。传统方法需要逐台调整,耗时且效率低。我们的新方法就像是给工厂配备了一台超级计算机,它可以同时调整所有机器的参数,并确保每次调整后的结果都不会比之前差。这就是我们在符号回归中所做的,通过GPU加速的批处理优化,让每棵表达式树的常数都能快速准确地得到优化。
简单解释 像给14岁少年讲一样
想象你在玩一个游戏,你需要调整角色的装备来打败敌人。传统方法就像是每次只能调整一个装备,效率很低。我们的新方法就像是给你一个超级装备调整器,可以同时调整所有装备,并确保每次调整后的效果都不会比之前差。这就是我们在符号回归中所做的,通过GPU加速的批处理优化,让每棵表达式树的常数都能快速准确地得到优化。
术语表
符号回归 (Symbolic Regression)
一种从数据中发现闭式表达式的方法,涉及同时搜索模型结构和数值参数。
本文中用于发现数据的控制方程。
树形遗传编程 (Tree-Based Genetic Programming)
一种进化算法,通过适应度选择和遗传操作进化表达式树。
本文中用于符号回归的主要方法。
Levenberg-Marquardt方法
一种用于非线性最小二乘问题的优化算法,结合了牛顿法和梯度下降法的优点。
用于优化每棵树的常数。
反向自动微分 (Reverse-Mode Automatic Differentiation)
一种计算导数的技术,通过反向传播计算梯度,适合多输入单输出的情况。
用于构建每棵树的雅可比矩阵。
CUDA
NVIDIA开发的并行计算平台和编程模型,允许在GPU上执行计算密集型任务。
用于实现批处理的常数优化。
开放问题 这项研究留下的未解疑问
- 1 如何在更大规模的数据集上有效应用该方法仍需探索。
- 2 该方法在其他硬件架构上的适用性尚未明确。
应用场景
近期应用
科学发现
该方法可用于科学研究中的符号回归任务,帮助研究人员快速找到数据的控制方程。
远期愿景
可解释机器学习
通过提高符号回归的效率,该方法有望推动可解释机器学习的发展,使得复杂模型的解释变得更加容易。
原文摘要
Constant optimization refines the numerical coefficients of candidate expressions in tree-based genetic programming for symbolic regression. But its per-generation cost has led modern GPU-accelerated frameworks to omit it or restrict it to lightweight forms. We present a GPU-resident, batched Levenberg--Marquardt solver that optimizes constants across a structurally heterogeneous population of expression trees using a fixed number of population-wide CUDA launches per iteration. Reverse-mode automatic differentiation assembles the per-tree Jacobian in one backward sweep, making the dominant per-iteration cost independent of the number of constants per tree, and a double-precision delivery guard guarantees that returned constants are never worse than their initial values. On early-generation populations, the solver sustains up to $5.1{\times}10^{5}$ trees per second on an NVIDIA A100; at a GPU-saturated benchmark configuration it delivers roughly $9.9{\times}$ the throughput of Operon running on a 64-core EPYC 7763, while matching fp64-reference quality. Integrated in-process into EvoGP, the solver enables end-to-end search to recover governing equations on $10$ of $18$ constructed problems versus 0 for stock EvoGP. Our code is at https://github.com/TensorConv/CuSR.