强化学习5.1

第5章 蒙特卡罗方法

在本章中,我们将考虑我们用第一种学习方法来估计价值函数并发现最佳策略。与前一章不同,这里我们不假设对环境的完整了解。蒙特卡罗方法只需要经验——来自与环境的实际或模拟交互的状态,动作和奖励的样本序列。从实际经验中学习是非常引人注目的,因为它不需要事先了解环境的动态,但仍然可以获得最佳的行为。从模拟经验学习也很强大。虽然需要模型,但模型只需要生成样本转换,而不是动态编程(DP)所需的所有可能的完整概率分布转换。令人惊讶的是很多情况下很容易根据所需的概率分布产生经验,但不可能以明确的形式获得分布。
蒙特卡罗方法是解决基于平均样本返回的强化学习问题的方法。为了确保有明确定义的回报,我们在这里定义蒙特卡罗方法仅适用于情节任务。也就是说,我们假设经验是分为几个剧集,无论选择采取何种行动,所有剧集最终都会终止。只有在完成一集后,价值估算和政策才会发生变化。因此,蒙特卡罗方法可以在逐集的意义上逐渐增加,但不是一步一步(在线)的感觉。术语“蒙特卡罗”通常用于更广泛的操作涉及重要的随机成分的估算方法用途。这里我们专门用它解决基于平均完整回报的方法(相对于从部分回报中学习的方法,见下一章)。
蒙特卡罗方法对每个状态 - 动作对的样本和平均回报很像我们在第2章中探讨的强盗方法是每个动作的样本和平均奖励。主要的不同之处在于,现在有多个状态,每个行动都表现得像个不同强盗问题(如联想搜索或背景强盗)并且不同强盗问题是相互关联的。 也就是说,在一个状态采取行动后的回报取决于关于在同一集中后来的州采取的行动。 因为所有的动作选择正在学习,从先前状态的角度来看,问题变得不稳定。
为了处理非平稳性,我们调整了在第4章为DP实施的一般政策迭代(GPI)的思想。我们在那里从MDP的知识中计算出价值函数,在这里我们通过MDP从样本返回中学习值函数。值函数和相应的策略仍然相互作用,以基本同样的方式(GPI)实现最优化。与DP章节一样,首先我们考虑预测问题(为固定的任意政策计算vπ和qπ)然后政策改进,最后,控制问题及GPI解决方案。这些每一个来自DP想法都被扩展到只有样本经验可用的蒙特卡罗案例。
5.1蒙特卡罗预测
我们首先考虑蒙特卡罗方法来学习给定策略的状态值函数。回想一下,一个状态的价值是预期的回报 - 预期累积未来的折扣奖励 - 从该状态开始。那么,一种明显的由经验进行估算方法只是平均访问该状态后观察到的回报。当观察到更多的回报时,平均值应收敛到预期值。这个想法是所有蒙特卡罗方法的基础。
特别地,假设我们希望估算vπ(s),即策略π下状态s的价值,给出一组通过跟随π并通过s获得的剧集。每次状态s在一集中出现被称为访问s。当然,在同一集中s可以被多次访问;让我们把在一集中的第一次访问叫做第一次访问s。首次访问MC方法估计vπ(s)作为第一次访问s后续收益的平均值,而每次访问MC方法平均返回所有访问s。这两种蒙特卡罗(MC)方法非常相似,但有略微不同的理论属性。首次访问MC已被广泛研究,可以追溯到到20世纪40年代,这是我们在本章中关注的问题。每次访问MC都更自然地延伸到函数逼近和资格跟踪,如第9章和第12章所述,.首次访问MC以程序形式显示在框中。每次访问MC都是相同的情况除了没有检查在剧集中早些时候发生过的St。
在这里插入图片描述
当到s的访问次数(或第一次访问)进入无限时,首次访问MC和每次访问MC都会收集到vπ(s)。对于首次访问MC的情况,这很容易看出。在这种情况下,每个回报都是一个独立的,相同分布的vπ(s)估计值有限方差。根据大数定律,这些估计的平均序列收敛到他们的预期价值。每个平均值本身都是一个无偏估计,而且其误差的标准偏差为1/√n,其中n是平均值的回报数。每次访问MC不那么简单,但它的估计也是平方收敛到vπ(s)的(Singh和Sutton,1996)。
通过一个例子可以最好地说明蒙特卡罗方法的使用。
例5.1:二十一点 二十一点流行的赌场纸牌游戏的目标是获得卡片,使其数值之和尽可能大但不超过21.所有面部卡都计为10,王牌可以计为1或11。我们考虑每个玩家独立竞争经销商的版本。游戏开始时发给经销商和玩家两张牌。经销商的一张牌是面朝上而另一张面朝下。如果玩家立即有21(一张王牌和一张10牌),它被称为自然。那么他赢了,除非经销商也有自然,在这种情况下比赛是平局。如果玩家没有自然,那么他可以要求额外的卡,一个接一个(命中),直到他停止(坚持)或超过21(破产)。如果他破产,他输了;如果他坚持,那么它就成了经销商。经销商根据一个没有选择的固定策略打击或坚持:他坚持任何17或更大的和,否则就会命中。如果经销商破产,则玩家获胜;否则,结果 - 胜利,失败或平局 - 由谁最终总和接近21确定。
玩二十一点自然地被制作为一个有节奏的有限MDP。每场比赛二十一点是一集。奖励+1,-1和0用于获胜,失败和平局。游戏中的所有奖励都是零,我们不打折(γ= 1);因此这些终端奖励也是回报。玩家的行动是打击或坚持。状态取决于玩家的牌和经销商的显示牌。我们假设牌是从无限牌组发出的(即,有替换牌),所以跟踪已经发出的牌是没有好处的。如果玩家持有王牌那么他可以算作11而不会破产,然后王牌就是有用的。在这种情况下它总是被计为11,因为将它计为1会使总和为11或更小,在这种情况下没有别的选择,因为显然,玩家应该永远打击。因此,玩家根据三个变量做出决定:他的当前总和(12-21),经销商的一张牌(王牌-10),以及他是否持有可用的王牌。这使得总共200个状态。
如果玩家的总和是20或21,则考虑坚持的策略,否则命中。为了通过蒙特卡罗方法找到该策略的状态值函数,一个模拟许多二十一点游戏使用该政策并平均每个州的回报。通过这种方式,我们获得了图5.1中所示的状态值函数的估计值。对于具有可用王牌的状态的估计不太确定并且不那么规则,因为这些状态不太常见。无论如何,在500,000场比赛之后,价值函数非常好近似。
在这里插入图片描述
图5.1:仅仅20或21个的二十一点政策的近似状态值函数,由蒙特卡洛政策评估计算。
练习5.1考虑图5.1右侧的图表。为什么估计值函数在后面的最后两行发生跳跃?为什么它会在整个最后一排的左边降低?为什么上面图中最前面的值比在下面图中的更高?
练习5.2假设在二十一点上使用每次访问MC而不是首次访问MC。你会期望结果是非常不同的吗?为什么或者为什么不?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值