强化学习系列(十三):Policy Gradient Methods

本文是关于强化学习的Policy Gradient系列文章的基础篇,探讨了Policy-based方法与Value-based方法的区别,介绍了Policy Gradient的基本思想,包括Policy Approximate及其优势,并讲解了Policy Gradient Theorem。文章还详细阐述了REINFORCE算法及其改进版REINFORCE with Baseline,以及Actor-Critic方法在连续问题中的应用。最后,讨论了Policy Gradient在连续动作空间中的参数化方法。
摘要由CSDN通过智能技术生成

这是PG的基础篇,在深度强化学习系列中,有结合例子和监督学习的深刻理解PG的进阶篇

一、前言

之前我们讨论的所有问题都是先学习action value,再根据所得的action value 来选择action(无论是根据greedy policy选择使得action value最大的action ,还是根据 ϵ \epsilon ϵ-greedy policy以 1 − ϵ 1-\epsilon 1ϵ的概率选择使得action value最大的action ,action的选择都离不开action value 的计算)。即没有action value的估计值就无法进行action选择,也就没有Policy,这类方法被称为value-based methods。但我们难道不可以直接产生不依赖于action value的policy吗?当然可以,这类直接生成action的方法就是policy-based methods。他们的关系如下:

这里写图片描述

  • value-based方法,需要计算价值函数(value function),根据自己认为的高价值选择行为(action)的方法,如Q Learning, sara, 之后会提到的Deep Q Network(DQN)。
  • policy-based方法,不需要根据value function选择action,可以直接得出policy的方法,如PG。
  • 图中第三类方法结合了上述两者,即计算value function,但不直接根据value function选择action,action 由policy-based方法得到。

本章用性能函数 J ( θ ) J(\theta) J(θ)的梯度来计算policy 参数 θ \theta θ:
在这里插入图片描述

该方法旨在求出使得 J ( θ ) J(\theta) J(θ)最大的policy 参数 θ \theta θ。这种方法被称为Policy Gradient。在episode case中, J ( θ ) J(\theta) J(θ)为start state value,在continuing case中, J ( θ ) J(\theta) J(θ)为第10章第4节提到的average reward rate。

二、Policy Approximate and its Advantage

在Policy Gradient(PG)中,Policy可以用任何参数表示成任意形式,只要 π ( a ∣ s , θ ) \pi(a|s,\theta) π(as,θ) θ \theta θ一一对应,且 ∇ θ π ( a ∣ s , θ ) \nabla_\theta \pi(a|s,\theta) θπ(as,θ)存在且有限。实际运用中,为了保证一定的探索性(Exploration),通常假设policy 是不确定的(即对所有s,a, θ \theta θ而言都有 θ π ( a ∣ s , θ ) ∈ ( 0 , 1 ) \theta \pi(a|s,\theta) \in (0,1) θπ(as,θ)(0,1))。此处,我们先介绍离散动作空间的参数化,并说明这种方法比value-based方法好在哪里。连续空间的PG在第8节介绍。

当 action space 离散且不太大时,一般对每个state-action pair 都有一个带参数的性能函数 h ( s , a , θ ) ∈ R h(s,a,\theta) \in R h(s,a,θ)R。**性能函数值越大,对应的action被选择的可能性也越大。**例如,根据exponential softmax distribution:
在这里插入图片描述

其中 e x p ( x ) = e x , e ≈ 2.71818 exp(x) = e^x, e\approx2.71818 exp(x)=ex,e2.71818为自然对数,注意,这需要每一个state对应的所有action probabilities的和为1。性能函数的表达形式比较随意,可以是之前提到的所有函数逼近器。如可以有深层神经网络构成,此时 θ \theta θ表示网络的所有权重(如第16章中将说到的AlphaGo);也可以是特征量的线性函数:
在这里插入图片描述

用(13.2)式选择action的明显优点就是可以获得一个deterministic policy,而不是根据 ϵ \epsilon ϵ-greedy 从action value中选择action(这样有 ϵ \epsilon ϵ的概率会选到一个随机action)。讲到这里,细心的你应该发现了一个问题,这 “性能函数值越大,对应的action被选择的可能性也越大” 是不是和value function选择 action 很像,那为啥不直接用value function作为性能函数呢?

那很自然可以想到根据 action value用 softmax选择action, action-value估计值最终会收敛到对应的true values(通常是不同的有限数,可以转化为0到1之间的概率),因此通常会获得一个确定的策略(deterministic policy)。如果softmax包含一个随着时间降温的温度参数,那么可以得到一个deterministic policy, 但在实际运用时,很难在没有true action value的先验知识时,选择衰减规律或初始化温度参数。

而性能函数不一样,他们不会收敛到一个确定性的值,另外他们会趋向于生成optimal stochastic policy。如果optimal policy是deterministic的,那么optimal action对应的性能函数将远大于suboptimal actions对应的性能函数。

上述解释了policy-based方法和value-based方法在生成policy上的差异:一个随机,一个确定。那么还有什么不同呢?


value-based的特点:

  • 这类方法通常会获得一个确定的策略(deterministic policy),但很多问题中的最优策略是随机策略(stochastic policy)。(如石头剪刀布游戏,如果确定的策略对应着总出石头,随机策略对应随机出石头、剪刀或布,那么随机策略更容易获胜)
  • value function 的微小变化对策略的影响很大,可能直接决定了这个action是否被选取
  • 在连续或高维度动作空间不适用。 因为这类算法的本质是连续化了value function,但动作空间仍然是离散的。对于连续动作空间问题,虽然可以将动作空间离散化处理,但离散间距的选取不易确定。过大的离散间距会导致算法取不到最优action,会在这附近徘徊,过小的离散间距会使得action的维度增大,会和高维度动作空间一样导致维度灾难,影响算法的速度。

Policy-based method 克服了上述问题,可以用于连续或高维度动作空间,且可以生成stochastic policy。

三、The Policy Gradient Theorem

了解了policy-based方法的优点,那么现在来聊聊具体实现的事情吧!下面来说一下,在episode case 和 continuing case中,性能函数 J ( θ

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值