深度强化学习之Policy Gradient & Actor-Critic Model & A3C

本文详细介绍了深度强化学习中的Policy Gradient算法,包括其优势和在高维连续动作空间中的应用。接着,讨论了Actor-Critic模型,通过引入baseline函数减少variance,并探讨了如何利用DQN近似Q值来进一步优化。最后,介绍了A3C(Asynchronous Advantage Actor-Critic)算法,这是一种分布式更新策略和价值函数的高效方法,被广泛应用于现代深度强化学习研究。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

policy gradient

在之前的DQN是进行value function的approximation,是value-vased RL。这次要讲的是policy-based RL。

对于RL的policy直接进行参数表示:比如可以输入state(一幅图片,一个feature vector),然后由带有参数的某种算法(比如linear regression,deep learning)计算得出对不同的action的一个probability distribution。对于符号的表示,Sutton的书里面用的是另外一种符号。
这里写图片描述

policy-based RL可以使用model-free进行训练,就是不需要对environment进行建模。policy-based RL可以更好收敛,可以在高维和连续action space进行训练。可以学习stochastic policy(概率,可求导)缺点是容易陷入local optimum。同时对于一个policy进行evaluating会有high variance,这里主要是因为采用MC计算了value,所以有较大的variance。之后会说到如何解决这个问题。

Stochastic Policy相比于Deterministic Policy有它的好处在于不确定性,随机性。Stochastic Policy的输出采用sampling或者是argmax。比如在猜拳的时候,如果策略的固定的,那么就容易被猜中你的下一步是什么。采用Stochastic Policy,uniform random policy,就可以得到更优的reward,比如纳什均衡。

value-based RL在同样的状态的时候,有时候获得最优解的概率更低。比如下图中gridworld,灰色部分是一模一样的state,如果是value-based RL就会对这两个state执行一样的action,那么就会有50%的概率无法拿到黄金(reward)。
这里写图片描述

如果是采用policy-based policy,那么就会随机向两边走,都有可能。那么获取更高reward的概率更高。
这里写图片描述

那么给定了一个policy,如何判断一个policy的好坏呢?衡量一个policy的好坏呢?

我们采用MC或者TD计算state value来获得policy objective function的表达。可以用start value,计算某个state的value(在episodic environments)。
这里写图片描述

在continuing environment中,使用average value:
这里写图片描述
或者采用average reward per time step:
这里写图片描述

这里的d是Markov chain,是在policy的作用下的stationary distribution,其实都是含有 θ 的函数表达式。

所以policy-based RL就是要找到参数来最大化 J( θ ),有些方法用hill climbing,genetic algorithms,更有效的方法就是梯度下降(gradient descent,conjugate gradient,quasi-Newton)那么要最大化J( θ ),那么更新应该就是应该往梯度的方向更新(这里是最大化Objective,和深度学习的minimize loss要注意区分)
这里写图片描述
α 是learning rate,另外一部分是policy gradient。
这里写图片描述

在计算求导部分,有一个叫做automation differentiation的东西,计算的是J( θ )的导数,当里面的unit vector为0的时候,gradient不变,通过这样的方法debug代码。
这里写图片描述

所以,至此我已经把policy-based RL中的优化目标介绍了 J( θ )。接下来介绍policy function求导,再介绍两者之间的联系。

policy gradient可以写成如下形式:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值