David Silver 第三讲 动态规划(DP)(第一部分)

目录

一、参考文献

二、引言

三、DP是什么

四、MDP的求解步骤

五、MDP问题中DP的分类

六、策略迭代

6.1 迭代策略评估

6.2 策略改进

6.3 迭代很多轮

6.4 总结


一、参考文献

1、David Silver 第三讲

2、《强化学习第二版》

二、引言

前面的博客介绍了RL的基本应用场景——马尔科夫决策过程(MDP);还介绍了基本的数学公式——贝尔曼期望方程和贝尔曼最优方程。但是并没有应用到真实的例子中,本节的目标就是用DP算法来寻找真实的例子中的最优策略。

其实本质上利用贝尔曼方程是可以解出RL的解的,但是涉及矩阵求逆等,当环境的维数比较大时,计算复杂度比较高。实际中常用的价值函数的计算都是利用迭代的方式进行的。

三、DP是什么

我认为这个不是RL的重点,重点是如何应用DP,所以这里将David的课件重述一遍。

动态规划方法需要待解决的问题包含两个性质:

1、最优子结构,使得问题的最优解可以分解为子问题的最优解

2、重叠子问题,子问题重复出现多次,因而我们可以缓存并重新使用子问题的解

而MDP正好满足这两个特性,所以可以使用动态规划的方法完成对MDP的求解

四、MDP的求解步骤

强化学习的目标是找到最优策略,求解的步骤一般分为两步:

1、预测:给定某个策略,评估相应的状态价值函数和状态行为值函数

2、控制:步骤1完成后,根据V值和Q值,就可以得到当前状态对应的最优动作。

五、MDP问题中DP的分类

1、策略迭代(和给定的策略相关)

2、值迭代(和策略无关,直接找最优)

3、广义策略迭代

六、策略迭代

6.1 迭代策略评估

策略迭代分为两个步骤:预测和控制,其中的预测步骤也叫做:迭代策略评估。举个例子来理解一下

首先,任给一个策略,需要对该策略进行预测(评估相应的状态价值函数和状态行为值函数)。如下图:

对于这个策略如何评估相应的状态价值函数呢?

答:利用迭代策略评估。具体如下:

这是如何得来的呢?

1、随机给一个V表,例如全零

2、利用第k次的V表,根据贝尔曼期望方程,得到第k+1次的V表,迭代公式为:

图中的k表示第k个V表,k+1表示的K+1个V表

3、当满足条件时(比如迭代N次或连续两次V表的值的差小于某个值),停止迭代。这是得到的V表就是给定策略下的V表。

6.2 策略改进

在6.1中得到了给定策略下的V表,根据V表,我们可以改进策略。如下图:

至此这一次策略迭代中的第一次迭代完成,即完成了对前一次策略的改进,如下图

6.3 迭代很多轮

上述只是完成了策略迭代的一次迭代,根据第一次迭代出来的改进策略,再次进行迭代策略评估,即给定

求该策略下的V表。

得到V表之后,再次策略改进,重复多次,得到该MDP问题的最优解。本文举的例子的最终最优解为:

这里发现和一次迭代的解一样,这是由于本问题的状态空间比较小,一次迭代即找到了最优解

6.4 总结

策略迭代里面包含了两重迭代,第一重迭代是为了计算给定策略下该策略的V表(迭代的目的是为了计算V表),第二重迭代指的是策略改进很多次(迭代的目的是为了获得MDP问题的最优解),如下图所示:

第一重迭代寓于每一次策略改进中,而第二重迭代指引着方向,朝着最优解。

或者:

每一个向上的箭头都是一个迭代过程,假如说一个向上的箭头表示N次迭代,总共有10个向上的箭头,则策略迭代中总共的迭代次数是10*N+1。其中的1表示整个大方向上的迭代。

策略迭代中最核心的就是上述的两层迭代。

值迭代见下节

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值