CMA-ES需要保存和更新协方差矩阵,其空间和时间代价都是,所以无法很好的用在高维空间。其变种都是对协方差矩阵进行改进,将协方差矩阵限定为某种特定形式,使得保存和更新更加高效。推荐可以看论文:A comparative study of large scale variants of CMA-ES。 1. Cholesky-CMA
论文:Evolution Strategies as a Scalable Alternative to Reinforcement Learning,讨论了将ES用于RL任务的问题。
文中实际使用的ES比较简单,属于NES的一种(我目前理解的NES就是先通过差分的方式求梯度,然后使用梯度更新参数),分为两步:
从标准正态分布中采样,乘以步长后作为扰动。
通过差分的方式求平均梯度,更新参数。
OpenAI-ES最大的改进是:通过少量的改进,使得不同进程之间只需要传递标量,而不是传递梯度向量,使得并行加速比接近线性,从而提出了超大规模并行ES的方法。 2. Guided ES
论文:Guided evolutionary strategies: Augmenting random search with surrogate gradients。
主要是利用最近k次的surrogate gradient,计算低维(维)的subspace,将的采样限制在subspace中,减小搜索方向的方差。
具体来讲:使用k个标准正交基构成的矩阵,采样,,第一项是从全空间中采样的协方差,对应exploration,有更大的variance和更小的bias,第二项是从之前的梯度subspace中采样的协方差,对应exploitation,有更小的variance和更大的bias。我们使用控制探索和利用以及variance和bias。 3. ASEBO
论文:From Complexity to Simplicity: Adaptive ES-Active Subspace for Blackbox Optimization。
主要是使用PCA对历史的梯度信息矩阵进行降维,作为exploitation空间。 4. SGES