蒙特卡罗学习之策略迭代(21点游戏的延续)

上一趴讲的是无模型预测中用蒙特卡罗思想来进行策略评估,即离线评价某个特定策略的表现,但未进行策略的优化。这一趴对前一篇博文做一个完善和延续,因为在一个问题或者游戏中,你光会评价自己的策略好坏是远远不够的,固守成规没有用,我们得让自己变得聪明,找到最明智最优的策略,仍然采用蒙特卡罗思想,不同的是需要在策略评估后做一个策略的迭代,在一个内部循环中找到可能的最优解。这从一个预测问题上升到了控制问题,当然,所有所有方法的前提是MDPS。


一、原理——一边评估一边提升

控制思想的核心是广义策略迭代(Generalised Policy  Iteration)简单来说,在一个过程中建立两个网络,一个是评估网咯,另一个是策略优化网络,开始时我们有初始策略π和价值函数V,我们先对策略π进行评估(上升箭头表示,可以得到新的价值函数V),评估的原理和方法见上一篇博文,评估结束后,我们根据结果用各种方法(greedy算法 或ε-greedy算法等)优化策略(下降箭头表示,可以得到熄灯呢策略π),与DP中的迭代类似,这两个网络的作用过程可以用下面这个图来表示:


二、trick——use Q instead of V

不知道这个算不算trick,反正当我们只有State-Value(V)的时候,如果要用贪婪等方法找出比原来好的策略,是需要通过已知的MDP(模型)的,为了计算最大的V(s),我们需要知道每个接下来的状态的状态转移概率和下一个状态s'的价值函数,因此就难以用状态价值函数V来进行无模型问题的迭代计算。这里我们采用Action-Value(实际行为函数值Q)来代替V,Q(s,a)表示的是在某个状态s下,采取行为a的好坏,所以当我们优化策略时,仅仅需要从中挑选使函数值Q最大化的行为即可。通过这个代替,我们就可以免去了寻找模型的负担。


用Q替换V值之后,上面介绍的广义迭代策略的策略评估也可以同样换成对Q值的评估,示意图如下方左图,注意与上图进行比较。为了加快收敛的速率,有时候我们不必对所有状态的策略进行评估,只需要往前走几步,收集到足够用于策略提升的信息即可,这样就大大提升了算法效率。示意图如下方右图所示。

  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值