ICLR 2023: Evolutionary RL with Shared State ...
刚刚投稿结束,今天宣传一下我们实验室由我和我的师兄汤哥 @黑猫紧张 主要参与的新工作ERL-Re: Efficient Evolutionary Reinforcement Learning with Shared State Representation and Individual Policy Representation(名字太长,title装不下,绝了)。主要是从Representation Learning的角度高效地融合了Evolutionary Algorithms(EA)和Reinforcement Learning (RL),并获得了非常出色的性能收益,成为目前ERL方向中新的SOTA。本工作目前已经被ICLR 2023接受。这个工作的接受的过程很坎坷,之前7分NeurIPS被AC单方面拒稿了,直接心态炸裂,这次ICLR rebuttal也不顺利,大家可以移步到openreview看一下对线过程。不过托这个的福,还认识了国内做这个方向的两位大哥,能有进一步的交流与合作。最后欢迎大家follow与讨论!有错误欢迎大家指正!<hr/>Necessary Background
强化学习 Reinforcement Learning(RL)可以通过环境试错和梯度更新来高效地学习,并且比EA有更高的采样效率。然而,众所周知,RL鲁棒性差,探索性差,并且在梯度信号有噪声和信息量较少(sparse)的情况下,难以高效训练。
进化算法 Evolutionary Algorithms(EA)是一类黑箱优化方法,主要是维护一个个体的种群,而不是像RL只维护一个个体,通过随机扰动的方式来提升个体获得可行解。与RL不同的是,EA是无梯度的,并具有几个优点:(1)强大的探索能力、(2)鲁棒性和稳定的收敛、(3)采用累计奖励评价个体,不关心单步奖励,因此对奖励信号不敏感。尽管有这些优点,EA的一个主要瓶颈是由于对群体的迭代评估而导致的低样本效率。
很多工作都在研究如何将EA和RL的融合起来,取长补短,优势互补。其中最具有代表性的当属2018年提出的演化强化学习框架(ERL),将Genetic Algorithm(GA)与DDPG进行了融合。除了维护强化学习的actor和critic,ERL额外维护一个的actor的种群。为了融合双方的优点,EA与环境交互产生的多样性的样本会提供给RL用于off policy优化,这一方面解决了EA样本利用率低的问题,另一方面缓解了RL探索弱无法寻找到多样数据的问题。除此之外,优化后的RL 策略会定期注入到种群中参与种群进化,如果RL策略优于种群策略,那么RL策略则会促进种群的进化,否则则会被淘汰掉,不影响种群进化。最终EA与RL优势互补,在MuJoCo上实现了对DDPG算法的显著提升。(这里的EA演化都是直接在策略的参数上进行扰动优化,例如k点交叉是交换两个网络中某些层的参数,变异则直接将高斯扰动添加到网络参数上。)
Motivation:
ERL工作后,许多基于ERL基本框架的相关工作随之产生,例如CERL,PDERL, CEM-RL等。由于都遵循基本的ERL框架,导致这些算法都面临着两个基本问题:
[*]所有的策略都单独学习自己的状态表征,维护各自的网络,忽略了有效知识的共享。
[*]对于演化算子,参数层面的策略优化不能保证个体的行为语义,容易造成策略灾难性崩溃。
上图是ERL(及后续工作)与我们提出的双尺度表征框架ERL-Re的对比图。其中左图中的策略主要由传统的非线性神经网络构成。右图中的圆形表示线性策略表征,六边形则表示非线性共享状态表征,用于知识共享。
The Concept of Two-Scale State Representation and Policy Representation
为了解决上述问题,我们提出了基于双尺度表征的策略构建(Two-scale representation-based policy construction)。在此基础上,我们维护和优化EA群体和RL的策略。具体来说。EA和RL Agent的策略都是由一个共享的非线性状态表征 Z_{\phi}和一个独立的线性策略表征 W 组成。Agent i 通过结合共享状态表征和策略表征做出决策:
直观地,我们希望共享状态表征Z_{\phi}对学习过程中遇到的所有可能的策略都有用。它应该包含环境中与决策有关的一般特征,例如,共同的知识,而不是针对某一个策略。由于共享状态表示Z_{\phi},Agent不需要独立地表征状态。因此,更高的效率和更具表现力的状态表征可以通过EA群体和RL Agent共同得到。由于Z_{\phi}的高表达性,每个独立的策略表征可以由一个简单的线性形式构成,这更易于优化与探索。
算法优化流程.
整体优化流程如上图所示,具体来说,我们每次在由共享状态表征Z_{\phi}构建的线性策略空间 \Pi_{\phi} 中进行策略搜索,对线性策略进行优化。优化后我们对共享状态表征进行优化,优化的方向为对于所有个体(包括EA和RL)都有益的方向,从而达到有效的知识共享,构建对于所有个体都有利的策略空间。如此循环迭代实现知识的高效传递与策略的快速优化。下面我们介绍如何进行共享表征的优化,以及如何在线性空间如何更加高效地演化。
Optimizing the Shared State Representation for A Superior Policy Space
为了构建所有个体都有益的状态表征从而实现高效地知识共享,我们提出基于所有EA和RL策略的价值函数最大化来学习共享状态表征。对于EA策略,我们根据EA群体中的线性策略表示 W_i ,学习策略拓展值函数(PeVFA, 通过将策略表征作为输入,实现一个价值函数估计多个不同策略value的目的)。对于RL策略,我们使用原始RL算法的值函数提供更新方向。两个值函数都是通过TD error进行优化的,损失如下:
EA中的个体和RL个体都能分别从PeVFA和RL critic获得各自的优化方向. 而我们想构建的共享状态表征应该有助于所有个体的探索与优化,因此共享表征的更新方向应该考虑到EA和RL,因此我们定义了如下损失:
通过优化上述损失,共享状态表征能够向着一个统一的优化方向进行优化,从而构建一个有助于所有个体的线性策略空间,使得EA和RL能够更加高效地探索与提升。
Optimizing the Policy Representation by Evolution and Reinforcement
对于种群的进化,我们首先需要得到适配度(fitness),所产生的样本开销是EA的一个主要瓶颈,特别是当种群很大时。为此,我们提出了一个基于PeVFA _{\theta} 的新的适应度函数。对于每个Agent W_i ,我们让Agent与环境交互 步,随后使用PeVFA进行估值来节省样本开销。 fitness被定义如下:
对于遗传进化的过程,传统的交叉变异都是直接在整个策略的参数空间进行扰动,由于策略往往是由非线性的神经网络构建的。单独的改变神经网络的某些参数可能会造成策略行为的坍塌与崩溃。为了解决这个问题,我们提出了新的behavior-level 交叉和变异,允许在指定的行动维度上施加扰动,同时对其他动作不产生任何干扰。具体来说,由于共享状态表征的构建,演化发生在线性策略表征空间,线性策略表征的每个维度对应决策的一个动作,因此我们可以直接交换表征的某一维度的参数,而实现两个策略的某个动作的交叉,而不对其他动作产生扰动(behavior-level crossover),同样扰动也可以被单独加在表征的某个特定维度上,不对其他动作产生扰动(behavior-level mutation)。behavior-level 交叉变异的示意图如下图所示。
最后整个实验的伪代码:
Experiments
我们在MUJOCO的6个常用的task上验证了方法的有效性,基本上都有大幅度的性能增益。我们也尝试了一些其他环境和算法,大家可以到原文中查看更多的细节。
我们的代码会整理后直接放到ICLR的camera ready版本中,欢迎大家关注。 我应该是最早刷到的 确实是啊[大笑]
页:
[1]