← 上级:RL-03.算法分类与选型 · 对照:RL-03-08-算法-Policy-Gradient · 对照:RL-03-11-算法-PPO
进化策略(Evolution Strategies,ES)把策略参数 $\theta$ 的优化看作黑盒问题:扰动 $\theta$、在环境中评估回报、按适应度更新——无需反向传播穿过环境,也无需可微仿真。
段末注释:进化策略(Evolution Strategies,ES)指通过参数扰动与适应度排序更新策略的黑盒优化方法族;后文沿用 ES。
一、与策略梯度的根本区别
| 策略梯度(PG / PPO) | 进化策略 ES | |
|---|---|---|
| 梯度来源 | $\nabla_\theta J$,REINFORCE 或自动微分 | 有限差分 / 秩变换估计「方向」 |
| 环境要求 | 可微或需 score function | 纯黑盒回报即可 |
| 信用分配 | 时序结构($G_t$、GAE) | 通常整局回报一个标量 |
| 并行 | 需同步梯度 | 高度并行(各 worker 独立 rollout) |
| 样本效率 | TD / PPO 较高 | 通常较低 |
| 调参 | lr、clip 等 | 噪声 $\sigma$、种群大小 |
ES 适合:仿真不可微、CPU 集群大规模并行、参数维度中等的策略网络。
二、基本 ES 更新(OpenAI ES)
- 当前参数 $\theta$
- 采样扰动 $\epsilon_i \sim \mathcal{N}(0, I)$,评估 $R_i = F(\theta + \sigma \epsilon_i)$($F$ 为 episode 回报)
- 归一化回报 $\hat{R}_i = (R_i - \mu_R) / \sigma_R$
- 梯度估计:
$$
\nabla_\theta J \approx \frac{1}{N\sigma} \sum_{i=1}^{N} \hat{R}_i , \epsilon_i
$$
- $\theta \leftarrow \theta + \alpha \nabla_\theta J$
对称采样:同时评估 $\theta + \sigma\epsilon_i$ 与 $\theta - \sigma\epsilon_i$,减方差。
OpenAI 2017 用 ES 在 MuJoCo 上训练数千 CPU worker,无 GPU 反传,与 PPO 性能可比(同样本预算下 PPO 往往更优,但 ES 实现极简)。
三、CMA-ES
协方差矩阵自适应进化策略(Covariance Matrix Adaptation Evolution Strategy,CMA-ES)维护搜索分布 $\mathcal{N}(m, \sigma^2 C)$:
- 采样种群 → 按适应度排序 → 更新均值 $m$、步长 $\sigma$、协方差 $C$
- 自适应调整探索方向,在低维参数($< 1000$)连续优化上极强
| 适用 | 不适用 |
|---|---|
| 小网络、控制器参数化 | 百万级深度网络 |
| 超参搜索、策略结构搜索 | 需极高样本效率的 RL |
深度 RL 中 CMA-ES 常用于 架构 / 超参 层,而非端到端 Atari。
段末注释:协方差矩阵自适应进化策略(Covariance Matrix Adaptation Evolution Strategy,CMA-ES)通过自适应高斯分布协方差进行黑盒连续优化;后文沿用 CMA-ES。
四、Natural ES 与 PEPG
Natural Evolution Strategies 在参数空间用 Fisher 度量更新,与 TRPO 的自然梯度思想相通。
PEPG(Parameter Exploring Policy Gradients)直接对策略参数加噪 rollout,用回报加权更新——介于 ES 与 PG 之间。
五、Population-Based Training(PBT)
PBT 不完全是 ES,但属进化式训练:
- 维护种群 ${\theta_i}$,各自训练
- 周期性:淘汰差个体,复制好个体参数 + 扰动超参(lr、$\gamma$ 等)
- 在线自动调参 + 探索
DeepMind 用于 Dota、抓取等长训练任务;与 Ray Tune / W&B Sweeps 的「手动搜索」互补。
六、ES vs PPO 选型
| 场景 | 倾向 |
|---|---|
| 默认可微仿真、GPU | PPO / SAC |
| 不可微物理引擎、渲染器 | ES |
| 超大规模 CPU 并行 | ES |
| 高维深度网络 + 图像输入 | PPO(样本效率) |
| 控制器参数少(< 1k) | CMA-ES |
| 长训 + 自动调 lr | PBT |
七、伪代码(OpenAI ES)
1 | theta = init_policy_params() |
evaluate 跑完整 episode 累加回报,无 backward()。
八、局限
| 局限 | 说明 |
|---|---|
| 样本效率 | 每代需 $N$ 次完整 episode |
| 高维参数 | 噪声估计方差大,深度 CNN 难训 |
| 时序信用 | 整局回报,难精细归因 |
| 非平稳 | 与 MARL 结合少,研究多单 Agent |
九、在算法谱系中的位置
1 | 黑盒优化 |
十、小结
- ES = 参数扰动 + 适应度排序 + 无环境梯度;OpenAI ES 与 CMA-ES 为代表。
- 优势:并行、黑盒;劣势:样本效率、高维深度网络。
- 工程默认仍用 PPO/SAC;不可微仿真或 CPU 集群可试 ES / PBT。
- 上一篇:模仿与逆 RL · 对照:Policy Gradient