强化学习 5.2

虽然我们对二十一点任务中的环境有完整的了解,但使用DP方法计算值函数并不容易。 DP方法需要分发下一个事件——特别是它们需要由四参数函数p给出的环境动态——而且并不容易确定。例如,假设玩家的总和是14,他选择坚持。作为经销商出示卡片的函数,他以+1的奖励终止的概率是多少?必须在应用DP之前计算所有概率,并且这种计算通常很复杂且容易出错。相反,蒙特卡罗方法所需的生成样本游戏很简单。经常出现这种情况;该蒙特卡罗方法单独处理样本事件的能力也有重要的优势,即使人们完全了解环境的动态。
我们可以将备份图的概念概括为蒙特卡罗算法吗?备份图的一般概念是在顶部显示要更新的根节点在下面显示所有有助于更新奖励和估计值的转换和叶子节点。 对于vπ的蒙特卡罗估计,根是一个状态节点,它下面是特定单集的过渡的整个轨迹,在终端状态结束,如右图所示。 DP图(第59页)显示所有可能的转换,蒙特卡罗图仅显示在一集中的那些采样。 DP图仅包括一步过渡,蒙特卡罗图一直到剧集的结尾。这些图中的差异准确地反映了两种算法之间的基本差异。
在这里插入图片描述
蒙特卡罗方法的一个重要事实是对每个状态的估计是独立的。一个状态的估计不是基于对任何其他状态的估计,如DP的情况。换句话说,蒙特卡罗方法不是我们在前一章中定义的引导程序。
特别要注意估算一个状态的值的计算费用与状态的数量无关。当仅需要一个或一个子集状态的值时,蒙特卡洛特别有吸引力。人们可以从感兴趣的状态开始生成许多样本集,仅从这些状态平均返回,忽略所有其他状态。这是蒙特卡罗方法超过DP方法的第三个优点(在获得从实际经验和模拟经验中学习的能力之后)。
例5.2:肥皂泡 假设一根电线形成闭合环的框架在肥皂水中浸泡形成肥皂表面或泡沫符合在它的边缘到线框。如果线框的形状是不规则但已知的,你怎么能计算出表面的形状?
形状具有在邻近点施加的每个点上的总力为零的特性(否则形状会改变)。这意味着任何一点的表面高度是它的在这个点周围一个小圆上的点的高度的平均值。另外,表面必须在电线的边界处相遇。解决这类问题的常用方法是在由表面所覆盖的区域上放置网格并通过迭代计算求解其在网格点处的高度。边界处的网格点被强制到线框,而所有其他点都被调整到离它们最近的四个点的平均高度。然后,迭代这个过程,像DP的迭代策略评估一样,最终近似收敛到理想的表面。
这类似于最初设计的蒙特卡罗方法的问题。不按上面描述的迭代计算,想象站在表面并随机走一步,从网格点随机踩到邻近网格点,概率相等,直到到达边界。事实证明,边界处高度的预期值与在起点处的所需表面高度的近似值近似(事实上,它正好是由上面描述的迭代方法计算出的值)。因此,人们可以通过简单地将在这个点开始的许多步的边界高度的平均值近似估计为一个点的表面高度。如果一个人只对某一点或任何固定的一些点的价值感兴趣,那么基于本地一致性,蒙特卡罗方法可以比迭代方法更有效。
5.2动作价值的蒙特卡罗估计
如果模型不可用,那么估计动作价值(状态 - 动作对的值)比估计状态值有用。对于模型,仅有状态值足以确定策略;一个人只是向前看一步并选择其中一个使得奖励和下一个状态最佳组合的行动,正如我们在DP章节中所做的那样。然而,如果没有模型,仅仅状态价值是不够的。一个人必须明确估计每个行动的价值,以使价值在建议政策时有用。因此,我们蒙特卡罗方法的主要目标之一是估计q*。为了实现这一目标,我们首先考虑动作价值的策略评估问题。
动作价值的策略评估问题是估计qπ(s,a), 即在状态s时开始,采取行动a,然后遵循策略π的预期回报。蒙特卡罗方法与刚刚提出的状态值基本相同,除了现在我们访问的是一个状态-动作对而不是一个状态。如果状态s被访问且行动a被采取,就说在一集中访问了一个状态-动作对。每次访问MC方法将所有访问后的回报的平均值作为状态 - 动作对的值。首次访问MC方法将访问状态并选择了行动的剧集中第一次的回报的平均值。这些方法像以前一样以二次方式收敛到每个状态 - 动作对的访问次数接近无穷时的真实期望值。
唯一的复杂因素是许多状态 - 动作对可能永远不会被访问。如果π是一个确定性的策略,然后在下面π将只观察每个状态的一个行动的回报。没有平均回报,蒙特卡洛对其他行动的估计不会随着经验而改善。这是一个严重的问题,因为学习行动价值的目的是帮助每个状态选择可用的行动。为了比较替代方案,我们需要估算每个状态所有行动的价值,而不仅仅是我们目前所青睐的状态。
如上文所讨论的第2章中的k武装强盗问题,这是维持探索的一般问题。用于行动价值的政策评估,我们必须保证不断探索。一种方法是指定剧集以一个状态 - 动作对开始,并且每对都以非零的概率被选为开始。这保证了在无限多集的极限中所有状态 - 动作对都将被访问无限次数。我们称之为探索开始假设。
探索开始的假设有时是有用的,但当然不可能推广到一般,尤其是直接从与环境的实际互动中学习时。在这种情况下,起始条件不太可能有用。最常用的替代方法是确保遇到的所有状态 - 动作对的仅考虑具有在每个状态选择全部动作的非零概率的随机策略。 我们将在后面的章节中讨论这种方法的两个重要变体。目前,我们保留了探索开始和完成完整的蒙特卡罗控制方法的表示的假设。
练习5.3 qπ的蒙特卡洛估计的备份图是什么?
5.3蒙特卡罗控制
我们现在准备考虑如何将Monte Carlo估计用于控制,来近似最优政策。 整体想法是按照DP章节中相同的模式进行,即根据广义策略迭代的思想(GPI)。 在GPI中,我们保持一个近似的政策和一个近似值函数。为更接近于现行策略的值函数,值函数是不断改变的,关于当前值函数的策略反复得到改善,如右图所示。 这两种变化在某种程度上相互作用,每个都为另一个创造了一个移动目标,但是它们共同导致政策和价值功能接近最优。
在这里插入图片描述
首先,让我们考虑一下经典政策迭代的蒙特卡洛版本。 在这种方法中,我们执行政策评估和政策改进的交替完整步骤,从任意政策π0开始,以最优政策和最优动作-值函数结束:
在这里插入图片描述
E表示完整的政策评估,1表示完整的政策改进。完全按照上一节所述完成政策评估。经历了许多剧集,近似的动作 - 价值功能即将接近渐近的真正函数。现在,让我们假设我们确实观察了无限数量的剧集,此外,随着探索开始还会产生剧集。在这些假设下,蒙特卡罗方法将对任意πk,精确计算每个qπk。
政策改进是通过关于于当前值函数的贪婪策略来完成的。在这种情况下,我们有一个动作值函数,因此不需要模型制定贪婪的政策。对于任何动作-值函数q,对应的贪婪政策是指,对每个sϵS,确定性地选择一个行动得到最大动作值:
在这里插入图片描述
然后可以通过将每个πk+1构建为关于qπk的贪婪策略来完成策略改进。然后,政策改进定理(第4.2节)适用于πk和πk+1,因为:
在这里插入图片描述
正如我们在前一章中所讨论的那样,该定理保证每个πk+1都一致优于πk,或者与πk一样好,在这种情况下,它们都是最优政策。这反过来保证了整个过程会收敛到最优政策和最优值函数。通过这种方式,只给出样本集,没有其他环境动态知识,可以使用蒙特卡罗方法来找到最优策略。
我们做了两个不太可能的假设,以便轻松获得蒙特卡罗方法的收敛性的保证。一个是episodes有探索开始,另一个是政策评估可以用无数个episodes来完成。为了获得实用的算法,我们必须删除这两个假设。我们推迟到本章后面的第一个假设的考虑。
目前我们关注的是在无限剧集中政策评估运行的假设。这个假设相对容易删除。实际上, 在经典的DP方法中也会出现同样的问题,例如迭代的政策评估,它也只是渐近于真值函数收敛。在DP和蒙特卡罗中都有有两种方法可以解决这个问题。一个是在每个政策评估中坚持接近qπk的想法。进行测量和假设以获得关于估计中误差的大小和概率的界限,然后在每次政策评估期间采取足够的步骤,以确保这些界限足够小。从保证正确收敛到某种程度的近似的角度来看,这种方法可能完全令人满意。但是,除了最小的问题之外,它也可能需要很多有用的episodes。
还有第二种方法可以避免名义上政策评估所需要的无限数量的剧集,我们放弃尝试在回到政策改进之前完成政策评估。在每个评估步骤中,我们将值函数转到qπk中,,但除了很多步骤时,我们不希望实际接近。当我们在4.6节中首次介绍GPI的概念时,我们使用了这个想法。一个极端形式的想法是价值迭代,其中只有迭代政策评估的一次迭代在政策改进的每个步骤之间执行。就地版本的价值迭代更加极端;我们在单个状态改进和评估步骤之间交替。对于蒙特卡罗政策迭代,在逐个剧集的基础上评估和改进之间交替是很自然的。每集后,观察到的回报用于政策评估,然后在所有访问过的状态改进政策。沿着这些线的完整简单算法,我们称之为蒙特卡罗ES,在下框中以伪代码给出:
在这里插入图片描述
练习5.4 蒙特卡洛ES的伪代码效率低下,因为对于每个状态-动作对,它维护所有回报的列表并重复计算它们的平均值。它会更有效地使用类似于第2.4节中解释的技术来维护平均值和计数(对于每个状态 - 动作对)并逐步更新它们。描述如何改变伪代码来实现这一目标。
在蒙特卡洛ES中,无论在观察时有哪些政策生效,每个状态 - 动作对的所有回报都是累积的、平均的。这很容易理解蒙特卡洛ES无法收敛到任何次优政策。如果它做到了,那么值函数最终会收敛到该策略的值函数,并且这反过来会导致政策改变。只有政策和价值函数都是最佳的才能实现稳定性。随着时间的推移,动作 - 值函数的变化会减少,收敛到这个最佳定点似乎是不可避免的,但尚未正式证明。我们认为,这是强化学习中的最基本的开放理论问题之一(部分解决方案见Tsitsiklis,2002)。
例5.3:解决二十一点 将Monte Carlo ES应用于二十一点。因为剧集都是模拟游戏,所以很容易安排包括所有可能性的探索开始。在这种情况下,只需选择经销商的卡片,玩家的总和,以及玩家是否具有可用的ace即可,他们都有随机等可能性。作为最初的政策,我们使用之前二十一点评估的政策例子,仅在20或21时sticks。对于所有状态-行动对,初始动作值函数可以为零。图5.2显示了蒙特卡洛ES发现的二十一点的最佳策略。这项政策与Thorp(1966)的“基本”战略相同,唯一的例外是政策中最左边的一个可用的ace,但在Thorp的战略中不存在。我们不确定这种差异的原因,但有信心这里显示的确实是我们所描述的二十一点版本的最佳策略。
。
图5.2:蒙特卡洛ES发现的二十一点的最优策略和状态值函数。显示的状态值函数是根据蒙特卡洛ES找到的动作值函数计算的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值