ERL:ES-NES-CMA-ES-GA

  • 进化策略 ES
  • 遗传算法 GA
  • 交叉熵方法 CME
  • 协方差自适应进化策略 CMA-ES

进化策略 Evolutionary Strategy (ES)

  • 优胜劣汰,适者生存
  • 包括两个过程,重复迭代直至适应环境
    (1)选择:衡量适应度 f(x),环境适应度高的个体生存下来
    (2)进化:产生新个体 x,让新个体去接受环境的考验
  • 4个步骤:①初始化种群,②定义适应度,③选择,④进化新个体。然后重复③④

遗传算法 Genetic Algirithm (GA)

  • 和ES不一样的的步骤在于进化新的个体,GA包括两个子阶段
    (1)交叉
    (2)变异

自然进化策略 Natural Evolution Strategy (NES)

  • NES希望找到最优的参数来最大化期望的适应度(Fitness)
  • 其中是参数值, 是服从的分布,是适应度函数,是分布的参数
  • 用梯度对参数进行优化(是一个平滑变化的过程),然后用采样参数值来更新,这样就能得到参数服从的分布

交叉熵方法 Cross Entropy Method(CEM)

  • 给定参数的先验分布(高斯分布):
  • 然后根据分布进行样本采样:
  • 评估样本的适应度然后选取精英样本后验更新分布:
  • 最后得到高斯分布的参数,返回均值作为最优参数值

参考多元高斯分布中协方差矩阵的工作原理

协方差自适应进化策略 Covariance Matrix Adaptation Evolution Strategy(CMA-ES)

  • 上一代CEM方法中噪声的参数是固定,而CMA-ES希望能够自适应地改变搜索空间。

  • 标准差 σ 决定了探索的程度(通常称之为「探索步长」):当 σ 越大时,我们就可以在更大的搜索空间中对后代种群进行采样。在简单高斯演化策略中,σ(t+1) 与 σ(t) 密切相关,因此算法不能在需要时(即置信度改变时)迅速调整探索空间。「协方差矩阵自适应演化策略」(CMA-ES)通过使用协方差矩阵 C 跟踪分布上得到的样本两两之间的依赖关系,解决了这一问题。新的分布参数变为了:
  • 需要多计算一个协方差矩阵,然后根据分布进行样本采样
  • 自适应的改变噪声强度
  • 更新分布的方式


详细介绍CMA-ES

ES+RL

直接用ES优化策略网络

Evolution Strategies as a Scalable Alternative to Reinforcement Learning(OpenAI, arXiv2017)

Motivation:

  • 可以高度并行,多节点CPU使用
  • 种群内多个子代探索不同的解空间
  • 黑盒优化,不受噪声梯度、稀疏奖励的影响,对超参不敏感

Method:

  • 使用随机种子来还原模型参数,降低节点之间的通信

Result:

  • 实验表明:Atari Games中不同的frame-skip取值对ES影响不大,同时在一些运动控制的环境中sample efficiency较好

直接用GA优化

Deep Neuroevolution: Genetic Algorithms are a Competitive Alternative for Training Deep Neural Networks for Reinforcement Learning (UberAI, arXiv2017)

Motivation:

  • OpenAI的ES也是基于梯度的方法,无梯度的方法GA或许更有效
  • 某些环境下奖励信号具有欺骗性,容易陷入局部最优

Method

  • 直接采用GA来优化策略参数
  • 因为要优化的网络参数比较大,不考虑crossover,只考虑变异
  • 每个个体维护自己的随机种子,最后由种子来还原网络参数。

Result

  • 实验表明GA能够跳出某些local optimal (caused by deceptive reward signal)
  • 加入了Novelty Search 的技巧在某些实验上会更有效
  • 相比较ES需要计算后代参数的均值,大型网络的更新会更慢,GA可以快一些。
  • 相比较ES需要经过virtual batch normalization 来 generate diverse policies,需要额外的前向传播,但GA不用,population 直接探索多样策略。

NS-ES

Improving Exploration in Evolution Strategies for Deep Reinforcement Learning via a Population of Novelty-Seeking Agents(NIPS2018)

Motivation

  • 许多RL算法都有 探索-利用 机制,可以跳出稀疏奖励或者欺骗性奖励导致的局部最优,但ES缺乏类似的机制
  • 可以借助现有的Novelty-Search(NS)和Quality Diversity(QS)来设计ES的变体

Method:包括3种变体

  • NS-ES:设计一个行为特征函数来描述策略(可以简单到比如迷宫环境的横纵坐标),随后使用K近邻算法寻找种群内最近k个策略并计算距离来得出当前策略的novelty。然后使用ES来寻找使得Novelty最大化的参数,鼓励agent往没有探索过的空间去探索
  • NSR-ES:最大化Novelty并不能保证reward的最大化,在更新过程中使用Novelty和Return的平均值
  • NSRA-ES:自适应的改变Novelty和Return的权重,reward变差的时候需要提升Return的权重。

Result

  • NSRA-ES可以有效跳出局部最优点,而ES会陷入局部最优

ERL

Evolution-Guided Policy Gradient in Reinforcement Learning(NeuIPS2018)

Motivation

  • 常用强化学习算法存在三个难点
    (1)Temporal credit assignment with sparse rewards:Temporal difference可以用来解决第一个问题,使用bootstrapping技术来估计往后的值,但是当time horizon 过长并且奖励稀疏仍具有较大问题。与episode return 一样,可以使用multi step 来解决这个奖励稀疏或者time horion过长的问题,此方法对on-policy的方法比较有效。off-policy需要使用重要性采样的方法,如R-trace或者是V-trace来解决问题。
    (2)Lack of effective exploration :现有的探索方法:基于计数的,基于内在驱动的,基于好奇心以及变分信息最大化,然而这些方法都会引入敏感的超参和复杂的结构
    (3)Brittle convergence properties that are extremely sensitive to hyper-parameters :收敛问题,特别是off-policy,replay buffer 的使用,其收敛性质不太好。同时,DRL对参数较为敏感,ES更为鲁棒
  • 常用EA算法也存在一些问题
    (1)high sample complexity and high dimensional problem
    (2)作者认为,EA的high sample complexity因为没有梯度指引方向,所以需要大量的个体进行探索,可以使用RL算法的梯度来指引EA进行探索,同时使用EA来解决强化学习算法中的三个问题

Method

  • 提出EA+RL结合的框架 ERL,以及EA和RL之间的信息流动方式
    (1)EA -> RL:RL使用ES种群采样的经验进行学习
    (2)RL -> EA:间隔的将RL agent 插入到EA种群当中
  • RL使用DDPG算法,ES使用遗传算法
  • 遗传算法不考虑crossover
  • 由于EA是往更高Return的方向走的,因此种群个体的经验是bias的,能够简介指导RL算法
  • RL agent的参数直接插入到种群中影响ES,由于受到EA的机制影响,比如选择操作,如果RL agent 收到noisy gradient的影响,很容易在GA中被disgard

Result

  • 实验看出,ERL可以结合两者的有点,提高了sample effciency
  • 在稀疏奖励环境中也能很好的完成任务
  • 在两个特殊的环境中,可能也会收到RL的影响过于深刻,陷入 local optimal后,后期再也没法跳出。

GEP-PG

GEP-PG: Decoupling Exploration and Exploitation in Deep Reinforcement Learning Algorithms(ICML2018)

Motivation:

  • 标准的RL算法对环境的探索能力不够。
  • ES中的Novelty Search(NS),Quality Diversity(QD),Goal Explore Process(GEP) 能够帮助RL。

Method:

  • GEP : 使用一个behavior function来描述一个policy,在behavior space上进行探索。
    (1)在参数空间随机sample参数θ,然后使用behavior function评估得到结果o,存储数据对<θ,o>。
    (2)Behavior space中每个可能结果看成是一个goal,在behavioral feature space空间中采用多个o,
    (3)在存储的数据中寻找最近的数据对,将对应的参数进行扰动(高斯噪声)得到新的参数(策略)
    (4)新的策略可能能够或者尽量完成目标o,也或者产生另外一个新的目标的实现方式(类似Hindsight Experience Replay),使用这种方式实现exploration
  • GEP-PG :
    (1)将GEP过程对参数进行评估得到的交互经验存放到buffer当中供DDPG训练,实现exploitation
    (2)解耦 探索-利用,其他算法也类似
    (3)multi-goal exploration
    (4)avoid sparse or deceptive rewards
    (5)DDPG的信息没有传给GEP,GEP就只是在随机探索

CEM-RL

Combining evolutionary and gradient-based methods for policy search(ICLR2019)

Motivation:

  • EA存在的low sample efficiency 可以借助 off-policy 算法的 gradient 来解决

Method:

  • CEM-RL 直接使用Critic来更新种群中的个体,另外EA方面使用了CEM变体,使用当前样本的均值来更新分布,在更新方差的时候添加了噪声 来防止提前收敛。
  • CEM使用梯度信息更新种群一半个体,使用种群的top个体来更新分布
  • 种群的一半个体使用了RL的gradient 更新,受 detrimental gradient的影响可能较大

Result

  • 实验结果表明CEM-RL在mujoco上效果明显
  • 由于计算量太大,受计算资源限制,1M steps后停止更新CEM-RL
  • 通过消融实验验证用于产生子代的importance mixing 技巧和添加 action noise 作用不大,原因可能是 CEM具有较强的探索能力

CERL

Collaborative Evolutionary Reinforcement Learning(ICML2019)

Motivation

  • 现有强化学习算法缺乏有效的探索并且对超参敏感
  • 使用EA中的个体来进行探索-利用

Method

  • 在policy gradient learner中初始化多个agent,其中每个agent的折扣率不一样(衡量未来的影响)
  • 每个agent具有自己actor,critic,每个agent可以使用不同的off-policy算法
  • 所有agent共享一个replay buffer 提高 sample efficiency
  • 假定计算资源是有限的,resource manager会将资源分配给表现最好的learner(exploration-exploition well)
  • Learner pool会使用UCB原则对learner进行有放回地重新采样来更新
  • EA跟RL的信息流动机制与ERL一致

Result

  • mujoco上效果不错
  • 超参数相对不敏感
  • 计算资源比较大

PDERL

Proximal Distilled Evolutionary Reinforcement Learning(ICML2019)

Motivation:

  • GAs 的应用没有被解决
  • 传统GA中使用的机制会导致网络的灾难性遗忘问题,如变异操作,参数的丝毫改变可能无法继承到父辈优秀的行为
  • ERL中使用node为单位进行crossover,然而node的顺序仍然未定义,子代可能无法继承父代优秀的基因
  • 添加高斯噪声会带来不利的影响[1],ERL只对一部分weights进行变异,降低了GA的优化速度

Method

  • (1)每个个体具有自己的buffer,子代使用父代各一半的经验,然后使用模仿学习的方式来得到子代样本的参数(基因型-表现型),只模仿父代Q值高的动作
  • (2)Selection 设计两种机制选择父代进行交叉:Greedy和Distance based
  • (3)Mutation 借助已有的safe mutation operator
  • 综合上述三种新型算子,替换ERL中的EA算法得到如图的PDERL
  • 其中RL Critic 用于 crossover中,选取Q值高的进行模仿
  • EA和RL的信息流动机制与ERL一致
  • 计算量又加剧了,子代都需要训练才能得到
  • 子代的表现跟父代更为接近(KL距离和Return)是一种新的集成方式
  • 在selection阶段也可能使用学习的算法

Result

  • 在mujoco上的实验效果跟TD3差不多,作者还验证了引入的新算子能够使得子代和父代表现相近(从基因型到表现型)

SuperRL

Genetic Soft Updates for Policy Evolution in Deep Reinforcement Learning (ICLR 2021)

Motivation:

  • DRL和EA的并行训练对计算资源是significant overhead,通过间隔使用EA作为policy evaluation
  • 目前的框架无法与value based 算法结合,actor-critic在某些确定性环境效果不是很好。value based算法在某些continuous setting下具有 sample efficiency,better performance
  • 如何防止DRL的detrimental behavior(这是由于EA后期的agent,weights tend to be 0)

Method

  • 间歇性使用ES评估,减少资源消耗(伪代码第10-11行)
  • 寻找种群中最好的agent,如果比RL agent好则进行soft update,否则RL agent不更新(伪代码第15行)

Result

  • 在离散和连续动作的环境中都表现很好

小总结

ES的优点:
1)鲁棒性强
2)对稀疏,延迟奖励不敏感
3)高度并行化并且可以具有较低的通信开销
4)可以融合现有的不可微模块

ES的缺点:
1)参数高维优化困难
2)样本利用效率低下

RL的缺点:
1)对参数敏感
2)对稀疏,延迟奖励敏感
3)探索能力不足

RL的优点:
1)off-policy样本利用率高

你可能感兴趣的:(ERL:ES-NES-CMA-ES-GA)