How to automatically design better machine learning programs is an open problem within AutoML. While evolution has been a popular tool to search for better ML programs, using learning itself to guide the search has been less successful and less understood on harder problems but has the promise to dramatically increase the speed and final performance of the optimization process. We propose guiding evolution with a binary discriminator, trained online to distinguish which program is better given a pair of programs. The discriminator selects better programs without having to perform a costly evaluation and thus speed up the convergence of evolution. Our method can encode a wide variety of ML components including symbolic optimizers, neural architectures, RL loss functions, and symbolic regression equations with the same directed acyclic graph representation. By combining this representation with modern GNNs and an adaptive mutation strategy, we demonstrate our method can speed up evolution across a set of diverse problems including a 3.7x speedup on the symbolic search for ML optimizers and a 4x speedup for RL loss functions.
翻译:如何自动设计更好的机器学习程序是自动机器学习领域的一个开放问题。虽然进化方法一直是搜索更优ML程序的常用工具,但在更困难的问题上,利用学习本身来引导搜索的成功率较低且理解不足,但这一方向有望显著提升优化过程的速度与最终性能。我们提出使用二元判别器引导进化,该判别器在线训练,用于区分两个程序中哪一个更优。该判别器能够在不执行昂贵评估的情况下选择更优程序,从而加速进化收敛。我们的方法可将包括符号优化器、神经架构、强化学习损失函数及符号回归方程在内的多种ML组件编码为统一的有向无环图表示。通过将这种表示与现代图神经网络及自适应变异策略相结合,我们证明了该方法可在多种不同问题上加速进化过程,包括在ML优化器的符号搜索中获得3.7倍加速,在强化学习损失函数搜索中获得4倍加速。