MetaDE:用差分进化来进化差分进化

差分进化(DE)作为进化计算中的核心算法之一,因其简洁性和高效性而被广泛应用于黑箱优化问题。然而,其性能高度依赖于超参数和策略的选择,这一直是研究人员面临的难题。为应对这一挑战,EvoX 团队近期在 IEEE Transactions on Evolutionary Computation (IEEE TEVC) 上发表了题为”MetaDE: Evolving Differential Evolution by Differential Evolution”的研究。MetaDE 作为一种利用 DE 来进化自身超参数和策略的元进化方法,能够动态调整参数和策略,同时结合 GPU 加速的并行计算。这一设计在显著提升计算效率的同时也改善了优化性能。实验结果表明,MetaDE 在 CEC2022 基准测试套件和机器人控制任务上均表现出色。MetaDE 的源代码已在 GitHub 上开源:https://github.com/EMI-Group/metade

背景

在进化计算领域,算法的性能往往受到超参数选择的显著影响。为特定问题确定最合适的参数设置一直是一个长期存在的研究挑战。差分进化(DE)作为一种经典的进化算法,因其简洁性和强大的全局搜索能力而广受青睐;然而,其性能对超参数选择高度敏感。传统方法通常依赖经验调参或自适应机制来提升性能。但面对多样化的问题场景,这些方法往往难以在效率和广泛适用性之间取得平衡。

“元进化”的概念早在上个世纪就已被提出,旨在利用进化算法本身来优化这些算法的超参数配置。尽管元进化已存在多年,但其实际应用一直受限于高昂的计算需求。近年来 GPU 计算的进步缓解了这些限制,为进化算法提供了强大的硬件支持。特别是分布式 GPU 加速的 EvoX 框架的推出,极大地促进了基于 GPU 的进化算法的发展。在此背景下,我们的研究团队提出了一种新颖的元进化方法,利用 DE 来进化自身的超参数和策略,从而为解决进化算法中长期存在的参数调优问题提供了新的途径。

什么是元进化?

元进化的核心思想可以概括为”用进化算法来进化自身”(Evolving an Evolutionary Algorithm by an Evolutionary Algorithm)。这一概念超越了传统的进化计算方法,不仅使用进化算法搜索问题的最优解,还通过算法自身的进化过程来调整其超参数和策略。

换言之,元进化引入了一种”自我进化”范式,使算法在探索问题解空间的同时能够优化自身。通过在进化过程中不断自我完善,算法变得更具适应性,能够在各种问题场景中保持高效率。

以 MetaDE 为例,其设计根植于这一理念。在双层结构中,下层(“执行器”)使用参数化的 DE 来求解给定的优化问题。上层(“进化器”)同时使用 DE 来优化执行器的超参数配置。这一框架使 DE 不仅作为求解器,还能”探索”如何最佳地调整自身参数和策略,以更有效地解决不同问题。这一过程类似于一个系统逐步理解和完善自身——从**“被动求解问题”到”主动自我进化”**的转变。因此,它能更好地适应多样化的任务。如果我们将 DE 视为一个复杂系统,MetaDE 实际上实现了该系统内部”递归”式的自我理解和自我改进。

递归”一词在计算机科学中通常描述一个调用自身的函数或过程。在 MetaDE 中,这一概念被赋予了新的含义:它是一种内部递归的优化机制,使用 DE 来进化 DE 的超参数。这种自引用方案不仅体现了强大的适应性,还为”没有免费午餐”定理提供了新的视角。由于不存在对所有问题都普遍最优的单一参数集,让算法自主进化是为特定任务找到最佳参数配置的关键。

通过这种递归式的元进化方法,MetaDE 实现了以下几个优势:

1. 自动化参数调优

 消除了费时费力的手动调参过程。算法自身学习如何调整超参数,减少了人工干预并提高了效率。

2. 增强的适应性

 MetaDE 能够动态响应变化的问题特征和条件,实时修改策略以提升性能。这显著增强了算法的灵活性。

3. 高效搜索 通过利用固有的并行性,MetaDE 大幅加速了大规模优化问题的搜索过程。它能在合理的时间范围内为高维复杂问题提供可行解。

算法实现

MetaDE 采用基于张量的技术和 GPU 加速来实现高效的并行计算。通过同时处理种群中的大量个体,整体计算效率得到显著提升,这在单目标黑箱优化和大规模优化问题中尤为有利。通过对关键参数和数据结构(如种群、适应度、策略参数)进行张量化,MetaDE 不仅实现了更高的计算效率,还增强了应对复杂优化挑战的能力。与经典 DE 和其他进化算法(EAs)相比,MetaDE 在求解大规模问题方面表现出更优越的性能。得益于基于张量的方法,MetaDE 能更有效地利用计算资源,比传统方法获得更快的求解速度和更精确的优化结果。

1.png

PDE 架构

研究团队首先提出了一个完全支持参数和策略修改的参数化 DE 算法框架(PDE)。在该框架中,F 和 CR 是连续参数,而其他参数是离散的。虚线框表示允许的参数值范围。变异函数由左右基向量以及控制差分向量数量的参数推导而来。

2.png

MetaDE 架构

MetaDE 采用双层结构,由进化器(上层)和多个执行器(下层)组成。进化器是一个 DE(或可能是其他进化算法),负责优化 PDE 的参数。进化器种群中的每个个体spacer.gif x_i 对应一个唯一的参数配置 θ_i。这些配置被传递给 PDE 以实例化不同的 DE 变体,每个变体由一个执行器管理,在给定的优化任务上独立运行。每个执行器将其最佳适应度值 y^* 返回给进化器,进化器将该适应度值 y_i 分配给对应的个体 x_i。

实验性能

为全面评估 MetaDE 的有效性,研究团队进行了涵盖多个基准测试和实际场景的系统性实验。每个实验使用一个进化器(采用 rand/1/bin 策略的 DE)和执行器(种群大小为 100 的 PDE)。主要实验内容包括:

CEC2022 基准测试 将 MetaDE 与各种 DE 变体在单目标优化任务上进行比较。

与 CEC2022 前四名算法的比较 在相同的函数评估次数(FEs)预算下,评估 MetaDE 与 CEC2022 竞赛中表现最佳的四个算法。

固定挂钟时间下的函数评估次数(FEs) 分析 MetaDE 在 GPU 加速下的计算效率。

机器人控制任务 将 MetaDE 应用于 Brax 平台环境中的机器人控制任务,以验证其实际应用价值。

CEC2022 基准测试:与主流 DE 变体的比较

研究团队在 CEC2022 基准测试套件上将 MetaDE 与几种代表性的 DE 变体进行了比较,包括:

  • 标准 DE (rand/1/bin)
  • SaDE 和 JaDE(自适应 DE 算法)
  • CoDE(策略集成 DE)
  • SHADE 和 LSHADE-RSP(基于成功历史的自适应 DE)
  • EDEV(集成 DE 变体)

所有算法均在 EvoX 平台上实现,利用 GPU 加速,种群大小统一为 100 以确保公平性。实验在不同维度(10D 和 20D)下进行,计算时间约束相同(60秒)

3.png

10D CEC2022 优化结果

4.png

20D CEC2022 优化结果

MetaDE 在大多数测试函数上通常能实现更快速和稳定的收敛。其参数化 DE(PDE)结合上层优化,能够动态适应不同的问题空间,提升整体鲁棒性和搜索性能。

与 CEC2022 前四名算法的比较(相同 FEs 下)

为进一步评估 MetaDE 的优化能力,我们在相同的函数评估预算下将其与 CEC2022 竞赛的前四名算法进行了比较:

  • EA4eig:一种集成多种 EAs 的混合方法
  • NL-SHADE-LBC:一种改进的自适应 DE
  • NL-SHADE-RSP-MID:一种带中点估计的增强 SHADE
  • S-LSHADE-DP:一种通过动态扰动维持种群多样性的 DE 变体

每个算法均使用其官方参数设置和源代码,在相同的 FE 约束下运行。在 CEC2022 测试套件上对 MetaDE 与每个基线进行了统计比较(Wilcoxon 秩和检验,显著性水平 0.05)。

表格最后一行显示了每个算法与 MetaDE 在不同测试函数上的比较结果:+(显著优于)、≈(无显著差异)和 −(显著劣于)。

5.png

10D CEC2022 竞赛算法比较(相同 FEs)

6.png

20D CEC2022 竞赛算法比较(相同 FEs)

MetaDE 始终表现出强劲的性能,尤其在需要稳健收敛的复杂问题上。得益于其自适应机制,MetaDE 能够针对不同的搜索景观有效调整策略,从而提升搜索效率和全局优化能力。这些结果表明,MetaDE 不仅优于主流 DE 变体,还与顶级竞赛算法具有很强的竞争力。

计算效率:固定时间(60秒)内的 FEs

研究团队进一步记录了不同算法在相同固定运行时间(60秒)内完成的函数评估次数(FEs)

图片2.png

       各算法在60秒内达到的 FEs

在相同的 EvoX 框架和 GPU 加速并行计算下,MetaDE 平均达到了 10⁹ 级别的 FEs,而传统 DE 变体仅达到约 10^6 级别的 FEs。这一优势源于 MetaDE 的参数化方法,它对个体进行大规模并行评估,实现了更高效的硬件资源利用。因此,算法在相同时间窗口内能探索更多解,提升了解的质量和稳定性。

进化强化学习:机器人控制任务

在强化学习(RL)中,策略优化的效率和稳定性至关重要。基于梯度的方法如 PPO 和 SAC 在高维环境中可能遭遇梯度消失或梯度爆炸问题。相比之下,进化强化学习(EvoRL)通过使用无梯度搜索直接优化策略参数来规避这些问题。

8.png

进化强化学习流程

在 EvoRL 框架中,MetaDE:

  • 自动优化神经网络参数,提升策略模型的适应性。
  • 动态调整超参数,改善训练稳定性。
  • 利用 GPU 加速来加快策略优化。

为评估 MetaDE 在复杂优化任务上的性能,我们将其应用于 Brax 仿真平台中的机器人控制问题,使用 GPU 加速优化。研究包含三个任务——SwimmerHopperReacher——每个任务由三层全连接神经网络(MLP)建模,目标是最大化奖励。值得注意的是,每个 MLP 包含约 1,500 个参数,为进化算法(EAs)带来了 1,500 维的优化挑战。这对搜索能力和计算效率都提出了严格要求。

9.png

三个 Brax 环境的收敛曲线

如图所示,MetaDE 在基于 Brax 的机器人控制任务中表现出色,在 Swimmer 任务上取得了最佳结果,在 Hopper 和 Reacher 上取得了接近最优的结果。其主要优势在于初始种群的高质量,使得早期阶段能够快速收敛并产生高质量的解。这些发现表明,MetaDE 能够高效优化神经网络策略,使其非常适合具有复杂物理仿真的机器人控制任务,并具有广阔的实际应用前景

结论与未来方向

MetaDE 是一种创新的元进化方法,不仅在求解优化任务方面表现出色,还能自主调优和完善自身策略。凭借差分进化的优势,MetaDE 在自适应参数配置和策略进化方面展现出强大的潜力。实验结果表明其在一系列基准测试中具有优越的鲁棒性,而通过进化强化学习在机器人控制任务中的成功应用也验证了其实际适用性。核心挑战在于保持泛化与专业化之间的最佳平衡——确保算法既能适应多样化的任务,又能针对特定问题进行有效优化。这项研究为自适应进化算法提供了新的视角,并可能推动元进化在复杂系统中的进一步发展。

开源代码与社区

论文https://arxiv.org/abs/2502.10470

GitHubhttps://github.com/EMI-Group/metade

上游项目(EvoX)https://github.com/EMI-Group/evox

QQ群:297969717

image.png

QQ群 | Evolving Machine Intelligence

MetaDE 基于 EvoX 框架构建。如果您对 EvoX 感兴趣,请查阅 EvoX 1.0 的相关文章了解更多详情。

image.png

(https://mp.weixin.qq.com/s/uT6qSqiWiqevPRRTAVIusQ)

image.png