查看原文
其他

【综述专栏】强化学习 safe RL小综述 从TRPO出发 捋清CPO | CUP

在科学研究中,从方法论上来讲,都应“先见森林,再见树木”。当前,人工智能学术研究方兴未艾,技术迅猛发展,可谓万木争荣,日新月异。对于AI从业者来说,在广袤的知识森林中,系统梳理脉络,才能更好地把握趋势。为此,我们精选国内外优秀的综述文章,开辟“综述专栏”,敬请关注。

来源:知乎—顽固
地址:https://zhuanlan.zhihu.com/p/510136070

TRPO:Trust Region Policy Optimization

CPO:Constrained Policy Optimization

CUP:CUP: A Conservative Update Policy Algorithm for Safe Reinforcement Learning

阅读门槛:要完全读懂本文,需要了解一些强化学习的基础概念。

写在前面:

简单陈述一下背景,可以跳过

直观来讲,safe RL研究的问题是如何让agent在learn和test过程当中,考虑行为的边界,而不是可以做出任意的探索行为。

从优化的过程本身来说,就是在求解一个带约束的优化问题。

大学微积分都有学过,求解一个带约束的优化问题,可以使用拉格朗日乘数法。实际上safe RL需要解决的问题,与学微积分的时候做过的这些题是一个类型的问题。只是此时,我们把目标函数作为要优化的对象,而把对安全的保障,建模成一种约束的形式(即为cost必须小于等于给定的阈值)。

理论上,只要解一组方程,就可以得到一组精确的解。

然而,在许多强化学习的实际问题当中,若MDP的规模过于巨大,或者是连续问题。这个理论解是不可求的。因此不得不使用神经网络来做函数的近似,对于我们关心的重要状态,尽量近似一个最接近真实的解。

我们先回顾一下传统的强化学习,本质上,我认为强化学习的出发点是这样的:

首先,我们将强化学习问题建模成了一个MDP上的决策问题,目标是最大化累积reward,每一步需要从一个state出发,选择一个服务于最终目的 的最好的action。假定可以得到一个精确的MDP,那么实质上,每次做决策,是求解一个最短/长路问题,这样就可以知道,在当前状态下,应该朝哪个方向走,才能获得最大奖励。但实际问题当中,这样的考量首先有两个问题:

  1. 很多问题的求解,MDP的规模巨大,不可能求解或保存。

  2. 环境状态的转移,可能不是确定性的,而是一个概率分布,这样即使有精确的MDP,也不能保证每次都正好按照既定的规划去转移到可以最大化奖励的状态。(人生也是如此,人类把这叫时也命也)

考虑到第二点,如果把强化学习的目标,建模成一个最大化期望累积reward的问题,将会更有普适性。

考虑到第一点,我们定义了一个概念:价值函数。直观来说也就是这个节点到终止节点的最短/长路径期望分数的度量。因此,在精确的MDP上,其实只要求解到了精确的价值函数,那么根据这个价值函数,就可以做出最优的决策。在MDP无法被建模的情况下,我们也希望能尽可能精确地取得价值函数。这个时候人们就想到了利用函数近似,去尽可能精确地近似常用状态的价值。这样就可以做出很好的决策。(Q-learning和DDPG等)

但是还有一个问题,如果动作也是连续的,我们就没有办法直接基于价值的近似去做决策,需要一个能够直接产生动作的机制,这时候很自然地,人们就使用另外一个函数近似去做决策。也就有了actor-critic。

所以本质上,critic是去近似MDP当中一个节点的累积期望回报的值,而actor,是学习如何基于critic的判断,做出这种判断下最好的决策。

这时候,我们可以对任何强化学习问题导出一个结论:只要价值函数估计得足够准确,那么策略一定不会差。

on-policy的算法,是与环境互动一轮之后,根据经验来对policy网络和value网络进行更新,我们考虑最初的网络,实际上是随机初始化的,也就是说,误差相当大,那么在这种情况下,如果我们不能选取合适的步长进行更新,就会导致很多问题,如训练过程不稳定,难以收敛等。

TRPO的出现,就解决了这个问题。

而CPO是继承了TRPO的思想,用同样的方式将cost约束引入。

CUP呢,通过将GAE引入推导,得出了更紧的上下界,同时又在具体的实现上做了改变,使得每次更新对计算资源的需求更小。

好,接下来进入正题。

注意:每一篇论文的叙述当中,我引用的公式编号是独立的。

TRPO

考虑如上公式,其中  是想要求得的新策略,  是当前策略,  是一个策略的期望回报,  是状态出现的概率,  是折扣状态分布(s出现的折扣概率)。式子本身刻画了两个策略的期望回报之间的差距。

直观来说,就是新的策略的表现,是老的策略的表现加上由于策略改变导致的 状态分布和决策同时改变引发的每一个动作的优势值的变化。

理想来说,我们只要在更新的同时,维持(2)式等号右边的第二项整体是大于等于0即可,这样每一次策略更新,都不会让表现变差。策略迭代就是在做这件事情。

好的,问题解决了!

等等,是不是有哪里不对劲?

不,请注意,上面的叙述都是建立在A这一项,是精确估计的前提下来说的,当我们估计的这一项,出现偏差的时候,就会导致实际的A为负值,那么在所难免,会出现更新之后,策略反而变差的情况。

此外,  很难估计,具体来说,我们怎么知道当前这样更新的方式,会使得实际状态出现的概率出现怎么样的改变呢?要么MDP可以被我们建模;要么我们实际去测一测,用样本对分布进行估计,不过如果可以对策略穷举,那么我们还有什么必要用函数近似呢?

所以上述两点就是问题所在!

继而引入近似:

对比(2)式,(3)式忽略了策略更新带来的状态分布改变。这也就隐含了,每次更新的步长,不可以太大,这样才能把这种近似的误差,控制在可接受的范围内。

并且还有一个良好的性质:

即:如果如果策略  是一个参数为  的可微分的函数,那么  和  在一阶导的意义上可以相等。这就保证了,我们在一个小的区间内对近似函数求梯度与对原函数求梯度是一样的。

经过一系列的推导,我们得出了如下式子:

其含义在于,任何新策略本身的表现,关于新策略的近似函数存在一个下界。

于是到此为止,我们就得到了一个更可行的目标函数,并且呢,对这个函数作优化,还有表现下界的保证。

此时从理论上,可以得出,采取(9)式作为目标函数,可以保证策略表现单调不减:

很好对吧?不过我们还是没有解决优势值估计误差的问题,所以只是理论上一定不减。但实验表明效果确实很好。

考虑到实践,如果直接优化(9)式的目标函数,会导致步长很小。

TRPO选择对KL divergence进行硬约束。这样可以在更新步长较大的情况下,保证更新过程稳定。也就是这里,Trust Region出现了:

不过考虑对每一个点的KL divergence都进行约束,在空间很大的情况下,还是很难做到。

于是就采用了平均的KL divergence进行实践。其实就是在新老策略之间,在样本上考虑KL divergence的平均值。

展开(12)式

但是,在(13)式当中,可以看到,需要基于策略  进行采样,利用importance sampling来实现:

具体求解的时候,对目标函数和约束,分别进行了一阶和二阶的泰勒展开:

并且,求解每一步更新,都要求满足约束。这一点很重要。

可以看到,这样一个优秀的算法,是从最理想化的情况开始,在保证可行且表现可接受的前提下,从推导到实现,逐步通过各种近似的考虑,将各个环节变为现实当中可行的操作。

CPO

CPO的出发点:在RL当中,通过指定reward function和约束去塑造想要的行为,要比单纯通过reward function来实现简单得多。

基于prime-dual的方法可以保证收敛到满足约束的策略,不过目前还没有方法可以在连续CMDP空间当中保证学习期间的每一个策略都保证满足约束。

本文提出了这样的一个方法。

将TRPO的目标函数:

引入约束,变为:

可以看到,就是直接以对divergence做约束的同样思路,去对cost做约束。

这个式子,与TRPO一样,在实践当中很难计算,因为需要对约束函数的估计,以确定新策略是否可行。

通过选择特定的D,以及将目标函数和约束函数都用替代函数替换,对(3)进行了理论近似;近似得到的替代函数是目标和约束的良好估计,并且很容易通过当前策略收集到的样本去估计。

然后就是跟TRPO一样的理论分析:

这里把TRPO当中推导的符号A换成了一个广义函数的TD error,并且推导了一个上下界。其形式相比于TRPO一样。不过这里的  是新旧策略期望表现的差距的近似,而TRPO当中是新策略本身表现的近似。

令  ,有如下推论:

考虑新旧策略间的精确差异:

下式是采用  替换  ,从而对精确差异进行近似:

根据[(Kakade & Langford, 2002).],上述两式在  的一个邻域当中一阶导相等。(跟TRPO给出的一致)

因此这个界可以视为最坏情况下的近似误差,并且它满足作为精确差异下界的条件。

当考虑auxiliary cost,有同理的结论:


对  根据已有的不等式:

做替换:

然后比TRPO多考虑的,CPO当中还对最坏情况做了考虑:

其实就是考虑到divergence是有界的,那么就有如上的表现下降的最坏情况。

简单证明:如果新策略满足(8)式,那么KL散度有上界,直接替换,又因为(8)式保证策略表现不减,所以A不为负,因此成立。

优化这个式子:

一定可以保证表现单调不减,并且满足约束,当然还是建立在A完全精确的假定上。

分析一下为什么是上式:因为目标是越大越好,所以直接优化新旧策略表现的差距就可以,不过约束是只要满足就可以,所以需要对(6)式进行移项。

可以看到,状态都是来自采样分布,因此可以缓解离策略估计问题。

此时,与TRPO一样,考虑到KL divergence的系数对更新步长的影响,使用trust region去替代惩罚项,从而允许更大的步长。

与命题(1)类似,对于新策略违反约束的情况,同样有上界:

与TRPO类似,目标难以直接求解,对目标和cost采取一阶近似,在采样策略的邻域当中可以被很好地近似,对于KL散度采取二阶近似。

得到如下的近似问题:

可以看到,CPO整体来说,就是继承了TRPO的全套思想,然后将cost考虑进来。

CUP

CUP的出发点:近来的一些方法(如CPO),用了一些替代函数去替代目标和约束;不过,这些方法包含了对非凸目标和非凸安全约束的凸近似,这会产生许多误差和问题。

具体来说,这些方法使用了一阶或二阶泰勒展开去近似非凸目标(或约束),然而这些方法没有从理论上阐明原始函数和凸近似之间产生的误差。此外这些方法包含对FIM求逆的操作,处理高维任务的时候,每次更新需要较大的计算开销。

为了解决上述问题,提出CUP,具有理论安全保证,基于一个新的替代函数推导出了CUP,并且提供了一种在实际当中不依赖于凸近似的CUP实现以应用于高维safe RL任务。

CUP改进的bound优势:

1.使用了GAE,并且进行了理论分析。

2.bound要更加紧,并且更容易从样本当中去估计。

与上面两篇论文一样,CUP开门见山:

[Kakade and Langford, 2002]

于是可以优化:

不过对于基于采样的策略优化方法,这个式子非常难以处理,因为需要来自未知的策略的数据。

接着,推导开始:

当p = 1,q = 无穷:

令  ,并结合定理(3.1)有:

其实就是跟前两篇一样的推导,但是在过程中把TD error换成了GAE。

对比式(12)与CPO当中的式子:

可以看到CUP给出了一个更紧的界。

并且,由于使用了GAE,这意味着作为替代函数有更大的提高表现的潜力。

注意到,式(11)当中含有:

上式是对新旧策略表现差异的近似,这一点也与前两篇论文一样。

式(14)采取采样策略的状态分布期望,解决了难以直接使用式(6)优化的问题。因此,式(11)给出了一个基于采样的优化方法可处理的目标函数。还是与前两篇论文一样。

同理,考虑代价,当  ,也就是cost版本的GAE,(或者叫GCE?)有:

以此保证策略优化的过程当中满足约束。

同样,这篇也有这样的一个替换:

接下来就稍稍有一些不同了!

具体实现:

这篇论文当中实现更新分为两步。

提升表现:

根据定理(3.2),定理(3.4),如下更新策略:

映射:

使用对分布差距的度量,在满足约束的前提下,最小化最终得到的策略分布与上一步得到策略分布之间的距离:

然后又给出了CPO类似的,更新导致的最坏表现下降和最坏约束违反:

CUP的上述两个界也要比CPO紧。

实际更新的目标函数:

接着,使用如下的prime-dual方法解约束问题,使得cost最小:

可以看到,不需要使用二阶近似,也不需要用凸函数对非凸目标近似。

所以总结一下,CUP的关键在两点:

1.使用GAE进行推导,得出更好的界,也获得了GAE本身的理论保证。

2.更新过程没有使用凸函数去近似目标,而是先直接在惩罚下最大化目标,然后再用prime-dual方法,解对偶函数,使得不违反约束,同时最小化最终策略与中间最大化表现的策略之间的divergence。

总结:

TRPO,CPO,CUP,这三篇工作,就是一脉相承。

TRPO本身是经过一系列推导和近似,变成了在一个约束下求解的优化问题。

CPO直接继承TRPO的思想,将cost变成约束,然后TRPO对reward的推导,就可以套用在cost上,给出一个cost提升的上界和违反约束的上界。

CUP引入GAE,给出更紧的界,但这不是唯一的贡献,其独特的闪光点在于,并没有单纯套用TRPO的最终形式,在优化目标上,采取了直接最大化的方式,再结合cost约束对优化结果进行修正。这样就规避了对目标做近似的过程。但其实又引入了TRPO说的,步长难以确定的问题,但是毕竟问题的背景不同,TRPO的论证方式也是实验,大概CUP也通过实验选择了这样的策略。

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“综述专栏”历史文章


更多综述专栏文章,

请点击文章底部“阅读原文”查看



分享、点赞、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存