圆弧裁剪算法c++_算法实战|强化学习:TRPO算法和PPO算法背后,神奇的数学!...

b92b90c4a187034d7e18413716ff8d9c.png

照片来源于 Nigel Tadyanehondo

TRPO 算法 (Trust Region Policy Optimization)和PPO 算法 (Proximal Policy Optimization)都属于MM(Minorize - Maximizatio)算法。

接下来,阿里云信息服务 将为大家介绍基础的MM算法,并且通过几个步骤推导出TRPO和PPO的目标函数。

本文之中,将会展示数学细节给这些好奇的、想了解这些目标函数背后原因的朋友们。

Surrogate function(替代函数)

RL( Reinforcement Learning即强化学习) 的目标就是最大化预期折扣奖励(the expected discounted rewards)。下图之中,红色的线表示期望折扣回,其中 η 被定义为:

748ffe3e3d2b5f851ccaa69aea257c46.png
c28ea5dc54b1b39d05af80e96ad30417.png

Modified from source

MM是一种迭代方法,对于每次迭代,我们发现替代函数M(蓝线)有如下性质:

  • 是η的下界函数
  • 可用于估计当前策略的 折扣奖励 η
  • 易于优化(我们将会把替代函数近似估计为一个二次方程)

在每一次迭代之中,我们找到最佳的M点并且把它作为当前的策略。

c20aa2a41b0fc531550acf53da685500.png

之后,我们重新评估新策略的下界并且重复迭代。当我们持续这个过程,策略也会不断的改进。因为可能的策略是有限的,所以我们当前的概率最终将会收敛到局部或者全部最优的策略。

56b424bfb30590e17e3bc9d0cc2075ed.png

目标函数

如下所示,有原始的策略梯度PG、置信域策略梯度TRPO和近端策略优化PPO版本的目标函数。接下来我们将详细进行证明。

d1d29f864bac693d8802dd9fe1e0887b.png

简而言之,我们想最大化优势函数:动作值函数(奖励的最大期望)减去对应状态拥有的基准值。约束条件为新旧策略的差异不能过大。本文余下部分将数学证明该约束问题。

值函数、动作值函数和优势函数的表达式

首先,我们先定义Q值函数、状态值函数和优势函数。直接书写如下:

2416d7ae9e4b10157cf74f5ce08765e6.png

折扣奖励函数

折扣奖励η的期望计算如下:

93729441942792903f0ddf154861b0f6.png

或者,我们可以使用其他策略计算策略的奖励。以便比较两种政策。

176b00c1097e7ed085e0637b76b297b4.png

证明:

c26acc3a6a62e02d041950c62bc59fe9.png

函数

接下来,使用MM算法找到当前策略下近似η下界局部值的函数 。让我们将函数 定义为:

d18ef25540e9c97b7e41a5cb4119fcb2.png

如图, 是下界函数M 的一部分(红色下划线)。

76f4633aab142ac8c5638b95bda50d08.png

M中的第二项是KL-divergence KL散度

d4d7ca77585298a9284485bf071b9695.png

在当前的策略中,KL(θi, θi)=0. C*KL 项可以看作是 的上限误差。

在当前的政策θi 中,我们可以证明 Lη 的第一个阶导数相同。

316b44782a1628f8c3e024b1d48ee55c.png

KL(θi, θi)=0 时, M 在近似于预期的奖励的局部值:这是对MM算法的要求。接下来我们讨论下界函数M的细节 。TRPO论文附录A中的两页证明 η的有一个确定的下限 。

4ed1c57ff565561fcc90028ce66d87a4.png

Modified from source

D_TV是总的散度方差。但这并不重要,因为我们将马上使用KL散度替代它,因为(找下界)

cef7cb124aee23b52ddcbc3abca662a0.png

下界函数可以被重定义为:

1f12410091086f355cb0175d68f565c6.png

注意,符号可以简记为:

27c69a5f80034691cd721dec9b798f67.png

单调上升的保证

自然策略梯度的关键思想是保证了函数单调上升。它是Policy Gradient方法家族中的“用货币担保”的版本(笑)。简而言之,至少在理论上,任何策略策更新都将比之前的好。我们在这需要证明的是,基于优化M的新策略 可以保证在 η (实际预期回报)方面的表现优于之前的策略。由于策略的数量是有限的,持续更新策略最终能达到局部或全局最优。这是证明:

8a8887d8d393accd47d59198e67588bd.png

Mi(πi+1)对比Mi(πi)的任何改进都会使得η(πi+1)获得改进。

9d1ab91ab201d5fd085fac3446542c76.png

策略迭代中梯度单调上升的证明

这是迭代算法,它保证新策略总是比当前策略执行得更好。

cda4bcc5028ee7d160b2864bd370f273.png

然而,很难(在所有策略中)找到KL散度的最大值。因此我们将放宽要求为使用KL散度的均值。

eabd9470f4f78a1e40915ed19fff3881.png

其中 函数:

3169e15bc419ab659448e837e0ef7e89.png

我们可以使用重要性抽样,从策略q中抽样来估计上式左边:

c4953a7ea44af56654f1c53fa19273af.png

因此,目标函数可以被改写为:

2fe4d056140d418f2d839154c09e9d3d.png

利用拉格朗日对偶性,可以将目标函数的约束成带拉格朗日乘子的目标函数。两者在数学上是等价的:

dd11c15a37839cdacc3eb5f68b81389d.png

直觉的看法(Intuition)

在梯度上升法中,我们判断最陡峭的方向,之后朝着那个方向前进。但是如果学习率(learning rate)太高的话,这样的行动也许让我们远离真正的回报函数( the real reward function ),甚至会变成灾难。

e99f2996c671da63f7adae9a5ffa5e83.png

Modified from Source

在信任的区域之中,我们用 δ 变量 限制我们的搜索区域。我们在前一章中用数学证明过,这样的区域可以保证在它达到局部或者全局最优策略之前,它的优化策略将会优于当前策略。

c84c7b0336fd114e7ed172e797ff46a9.png

当我们继续迭代下去,我们就可以到达最优点。

优化目标函数(Optimizing the objective function)

正如我们之前提到过的,下界函数M应该是易于优化的。事实上,我们使用泰勒级数(Taylor Series)来估计 L函数 和 KL距离(KL-divergence)的平均值,分别用泰勒将L 展开到一阶,KL距离 展开到二阶:

4b07a6b44ce00d4c36726407b9b62879.png

其中g是策略梯度, H 被叫做费雪信息矩阵(FIM,the Fisher Information matrix),以海森Hessian矩阵的形式(Hessian matrix)

f795864c167d39b5fe8974a4d69e7455.png

那么优化问题就变成了:

1cec94e82393e5351da729172ae48930.png

我们可以通过优化二次方程来解决它,并且解集为:

7c76e4924184b283d1bf03e378142c95.png

上面的计算方法被叫做自然策略梯度法(the natural policy gradien)。以下是使用MM算法和自然梯度算法优化过的算法:

e80b336a701c736094932085dc33971b.png

TRPO

但是,FIM (H) 及其逆运算的成本非常的高。TRPO估计如下:

db99a5649b0f06da98a65a576abd5dbd.png

通过求解x得到以下线性方程:

815d45668e992f46115244af841c3c49.png

这证实了我们可以通过共轭梯度法(conjugate gradien)来求解它,并且这比计算矩阵H 的逆(inverse)更加简单。共轭梯度法类似于梯度下降法,但是它可以在最多N次迭代之中找到最优点,其中N表示模型之中的参数数量。

05ac1151d446284dcaea708810cf3c35.png

最终的算法是:

b3ad3dd1f6fc87e94363c28eba28af6e.png

使用裁剪目标函数的近端策略优化算法PPO

在(使用裁剪目标函数的)PPO中,如果我们希望每次迭代可以较大的改变策略,可以使用类似梯度下降这样的一阶优化方法,并带有软约束正则像的目标来优化我们的问题。

在实现中,我们要维护两个策略网络。第一个是当前步我们想要改进的策略。

ad24dd4aa4571ea917fd2c9c77f731e6.png

第二个是我们上步中用于采样的策略。

2623c6beb779dac75386b837b8aee0a0.png

使用重要性抽样的思想(the idea of importance sampling),我们可以从之前策略中收集的样本来估计新的策略。这样可以提高样本的使用效率。

b25a7f3c7f0c15c83e941508f55f0a6f.png

但是随着我们对当前策略的改进,当前策略和旧策略间的差距会不断变大,估计的方差也会增加。所以,假设每4次迭代,我们就将第二个网络于当前的策略同步一次。

c4005f0a98159d9dd2630ed422b94bb9.png

在PPO之中,我们要计算新旧策略的比率:

1557f77a5f9652f14a751e8f1e3a7de1.png

并且,如果新策略严重偏离旧策略,我们会构建一个新的目标函数来剪切(clip)被估计为优势(advantage)的函数。新的目标函数为:

fadff283ab02128cc3b89b31f43268ec.png

如果新策略和旧策略之间的概率比落在区间 (1- ε)和 (1 + ε)外面,那么优势函数就会被剪贴。对于在PPO论文中(详见贡献和参考之中)的实验,ε设定为0.2。

3a0eb818bc6d900a99e3bdbfb44f2a15.png

实际上,剪贴这一动作会极大的减少策略的改变的数量。这里是算法:

e98cd6109199d5846a1a034c4068bda1.png

领取阿里云 ¥1888元 限时红包

fcd64030d69dbea5b41f657d9d4e17f3.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值