David Silver《强化学习RL》第七讲 策略梯度

本文深入解析David Silver的强化学习课程中的策略梯度方法,探讨了直接参数化策略的优点,包括在收敛性和高维问题上的优势。介绍了有限差分策略梯度和蒙特卡罗策略梯度,以及Actor-Critic算法,讨论了它们的优缺点和应用场景。此外,文章还探讨了策略目标函数的选取,如start value、average value和average reward per time-step。最后,文章强调了确定性策略在特定情况下的优势,并展望了确定性策略的最新进展。
摘要由CSDN通过智能技术生成

前一讲主要讲解的是价值函数的近似,然后根据价值函数来制定策略。本讲中策略P(a|s)将从一个概率集合摇身变成函数本身π(s,a),通过借助策略相关的目标函数梯度的引导,寻找与目标函数的极值,进而得到最优策略。

本讲组织架构如下:先提出价值函数在某些情况下不能很好的解决问题,同时直接基于策略的分析在某些场合具有价值函数不能替代的优点,接着引入了直接基于策略学习所需要的目标函数的设计,引入了策略梯度的概念,从有限差分法理论分析两种途径解释了策略梯度的计算原理,介绍了两种基本的策略及梯度计算方法。在以上内容基础上,提出了应用策略梯度进行强化学习的Actor-Critic算法,给出了其算法流程并一些算法改善的方法。同样,随着深度学习库的发展,本讲中提到的一些策略的梯度计算公式在实际应用中不多,但对于理论理解还是非常有帮助的。与对价值函数的近似优化一样,基于策略函数的优化同样是不依赖模型(Model Free)的。

由于本讲的视频中少了David Silver的现场讲解,因此对于理解部分内容增加了难度,特别是本讲后期的一些讲解,我没有完全弄明白,理解不深,只是按照字面做了一些翻译。这其中可能存在较大的错误。我会阅读一些相关文献以加深对这部分内容的理解,而后逐渐修改完善这部分内容,使得其尽可能准确。同时我在理解本讲时做了较多的编程实践,其中有很多次不好的结果,结合这些实践,写了较多的“个人体会”,这些体会也可能是不准确的,欢迎读者批评指正。

简介 Introduction

上一讲主要内容是如何对价值函数进行近似的参数化表达,包括状态价值函数和行为价值函数:

随后一个策略可以直接从价值函数中产生,比如使用Ɛ-greedy探索方法。

本节将直接参数化策略本身,同时参数化的策略将不再是一个概率集合而是一个函数:

上式将策略函数理解成参数化的策略函数 \pi_\theta策略函数确定了在给定的状态和一定的参数设置下,采取任何可能行为的概率,因此事实上它是一个概率密度函数。在实际应用策略产生行为时,是按照这个概率分布进行行为采样的。策略函数里的参数决定了概率分布的形态

参数化的目的是为了解决大规模问题。在大规模的问题里,把每一个状态严格的独立出来指出某个状态下应该执行某个行为是不太可能的。因此我们需要参数化,用少量的参数来合理近似实际的函数。

我们要做的是利用参数化的策略函数,通过调整这些参数来得到一个较优策略,遵循这个策略产生的行为将得到较多的奖励。具体的机制是设计一个目标函数,对其使用梯度上升(Gradient Ascent)算法优化参数以最大化奖励。

 

  • 回顾:基于价值和基于策略的强化学习

比较了Value-Based和Policy-Based的强化学习,指出前者通过学习价值函数指导策略制定(例如Ɛ-greedy执行方法);后者则没有价值函数,直接学习策略;还有一种既学习价值函数也学习策略的方法,叫Actor-Critic强化学习,本讲稍后会讲解它。

 

 

  • 基于策略学习的优缺点

优点:

1. 基于策略的学习可能会具有更好的收敛性,这是因为基于策略的学习虽然每次只改善一点点,但总是朝着好的方向在改善;但是上讲提到有些价值函数在后期会一直围绕最优价值函数持续小的震荡而不收敛。

2. 在对于那些拥有高维度或连续状态空间来说,使用基于价值函数的学习在得到价值函数后,制定策略时,需要比较各种行为对应的价值大小,这样如果行为空间维度较高或者是连续的,则从中比较得出一个有最大价值函数的行为这个过程就比较难了,这时候使用基于策略的学习就高效的多。

3. 能够学到一些随机策略,下文举了一个很好的例子;但是基于价值函数的学习通常是学不到随机策略的。

4. 有时候计算价值函数非常复杂。比如当小球从从空中某个位置落下你需要左右移动接住时,计算小球在某一个位置时采取什么行为的价值是很难得;但是基于策略就简单许多,你只需要朝着小球落地的方向移动修改策略就行。

缺点:

原始的、未经改善(Naive)的基于策略的学习有时候效率不够高,有时候还有较高的变异性(方差,Variance)。因为基于价值函数的策略决定每次都是推促个体去选择一个最大价值的行为;但是基于策略的,更多的时候策略的选择时仅会在策略某一参数梯度上移动一点点,使得整个的学习比较平滑,因此不够高效。有时候计算朝着梯度方向改变的增量也会有较高的变异性(方差),以至于拖累了整个算法速度,但是通过一些修饰,可以改进。

在具体解决问题时,需要评估问题的特点来决定是主要使用基于价值的学习还是基于策略的学习。

  • 随机策略有时是最优策略

对于石头剪刀布的游戏,只要一方有一个确定性的策略,就会被对手抓住进而整体上输掉。这个时候最好的策略就是随机选择每次出法,以得到最大可能的总体奖励。

再举一个例子:在下图的格子世界中,个体需要避免碰到骷髅而尽可能找到钱袋子。在上方的5个格子组成的“长廊”中,当以某些对个体来说较容易观测的特征来描述状态空间时,灰色的两个格子将会是无法区分的。

比如我们用某一个格子的某个方向是否有墙挡住这些特征来描述格子状态,也就是作为格子世界状态空间的特征时,就会发生灰色格子状态一样的情况,这就是状态重名(Aliased)。

又比如我们可以用“某格子在北面有墙,同时向东移步”来作为状态行为空间的特征时,也会发生上述情况。

  • 基于价值函数的策略有时无法得到最优策略

在上述情况中,发生了格子重名的(Aliased)情况,如果采用确定性的策略话,在个体处于无论哪个灰色格子时,都只能选取相同的行为。假设个体现在学到了一个价值函数,在这个价值函数里状态就是基于上述特征的参数化表示,此时当个体处在灰色格子中,如果采取的是greedy执行的方式,价值函数给出的策略要么都是向东,要么都是向西。如果是向西,那么当个体处在左侧灰色格子时,它将一直(对于greedy执行)或很长时间(对于Ɛ-greedy执行)徘徊在长廊左侧两个格子之间而无法到达有钱袋子的格子,因而很长时间得不到奖励。

发生状态重名情况时,随机策略将会优于确定性的策略。之前的理论告诉我们对于任何MDP总有一个确定性的最优策略。不过那是针对状态可完美观测、或者使用的特征可以完美描述状态的情况下的。当发生状态重名无法区分或者使用的近似函数里描述状态的特征限制了对状态的完美描述时,个体得到的状态信息等效于部分观测的环境信息,问题将不具备马儿可夫性。此时最优策略将不再是确定性的。而直接基于策略的学习将能学习到最优策略,这就是我们为什么要直接基于策略进行强化学习的原因。

  • 策略目标函数

那么直接基于策略的学习是如何优化策略的呢?要搞清楚这个问题,我们得搞清楚下面这个问题:我们优化策略的最终目的是什么?尽可能获得更多的奖励。我们设计一个目标函数来衡量策略的好坏,针对不同的问题类型,这里有三个目标函数可以选择:

1. Start value:在能够产生完整Episode的环境下,也就是在个体可以到达终止状态时,我们可以用这样一个值来衡量整个策略的优劣:从某状态s1算起直到终止状态个体获得的累计奖励。这个值称为start value. 这个数值的意思是说:如果个体总是从某个状态s1开始,或者以一定的概率分布从s1开始,那么从该状态开始到Episode结束个体将会得到怎样的最终奖励。这个时候算法真正关心的是:找到一个策略,当把个体放在这个状态s1让它执行当前的策略,能够获得start value的奖励。这样我们的目标就变成最大化这个start value:

2. Average Value:对于连续环境条件,不存在一个开始状态,这个时候可以使用 average value。意思是 考虑我们个体在某时刻处在某状态下的概率,也就是个体在该时刻的状态分布,针对每个可能的状态计算从该时刻开始一直持续与环境交互下去能够得到的奖励,按该时刻各状态的概率分布求和:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值