用JAX加速遗传编程,高效演化可解释程序。
Kozax: Flexible and Scalable Genetic Programming in JAX
- 基于JAX实现可扩展的符号表达式演化
- 支持大规模种群与数据集的快速评估
- 适合科学计算中需要可解释解的场景
遗传编程是一种受进化启发的优化算法,可自动演化出可解释的计算机程序结构。其适应度评估存在高计算开销,限制了在复杂问题上的表现。为此,我们开发了Kozax,一个使用JAX构建的遗传编程框架,能够对任意问题演化符号表达式。JAX的支持使适应度评估可在GPU上高效扩展至大规模种群或数据集。Kozax还支持常量优化、自定义算子定义及多树并行演化。我们展示了Kozax在发现自然定律方程、恢复隐藏动态变量方程、演化控制策略和优化目标函数中的成功应用。总体而言,Kozax提供了一个通用、快速且可扩展的库,适用于科学计算领域中白盒解的优化。
原文摘要 · Abstract (English)
Genetic programming is an optimization algorithm inspired by evolution which automatically evolves the structure of interpretable computer programs. The fitness evaluation in genetic programming suffers from high computational requirements, limiting the performance on difficult problems. Consequently, there is no efficient genetic programming framework that is usable for a wide range of tasks. To this end, we developed Kozax, a genetic programming framework that evolves symbolic expressions for arbitrary problems. We implemented Kozax using JAX, a framework for high-performance and scalable machine learning, which allows the fitness evaluation to scale efficiently to large populations or datasets on GPU. Furthermore, Kozax offers constant optimization, custom operator definition and simultaneous evolution of multiple trees. We demonstrate successful applications of Kozax to discover equations of natural laws, recover equations of hidden dynamic variables, evolve a control policy and optimize an objective function. Overall, Kozax provides a general, fast, and scalable library to optimize white-box solutions in the realm of scientific computing.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。