欢迎光临散文网 会员登陆 & 注册

4.基于模型的动态规划方法(策略迭代+值迭代)

2023-02-25 21:49 作者:李富贵bilibili  | 我要投稿

这一节,我们先介绍强化学习中,当马尔科夫决策过程可以利用元组 (S,A,P,r,γ) 来描述,且转移概率 P 已知(称为基于模型强化学习),该类强化学习的优化问题可以通过动态规划算法进行解决。


   

4.1. 什么是动态规划

Richard Bellman在20世纪50年代提出的动态规划(dynamic programming)概念,这是一种强大的算法设计技术——将问题分解成多个小问题,存储它们的解,通过将其结合在一起,最终得到原始问题的解决方案。

了解更多相关知识请参考动态规划_百度百科 (baidu.com)


4.2.动态规划为什么可以求解基于模型强化学习

根据第二节(2.强化学习如何建模序贯决策问题 - 知乎 (zhihu.com))部分,介绍的状态值函数与状态-行为值函数的贝尔曼⽅程,最优值函数和状态行为值函数满足下述方程:

(4.1) 贝尔曼最优化方程


      从4.1部分介绍的动态规划基础知识可以知道,如果想利⽤动态规划解决的问题需要满⾜两个条件:⼀是整个优化问题可以分解为多个⼦优化问题;⼆是⼦优化问题的解可以被存储和重复利⽤。

     从第二节(2.强化学习如何建模序贯决策问题 - 知乎 (zhihu.com))回忆下述图和值函数的迭代计算公式,状态 s 处的值函数 υπ(s) ,可以看成后继状态的值函数 υπ(s′) 的表示。另外,动态规划的第二个条件较容易满足。因此,该类强化学习,可以通过动态规划求解。

(4.2) 状态值函数迭代计算公式


4.3.如何利用动态规划求解基于模型强化学习

     对于求解上式(4.2)方程, Pssa,γRsa 都是已知数, π(a|s) 为要评估的策略是指定的,也是已知值。方程中唯一的未知数是值函数,该方程,变成求解值函数的线性方程组,如何求解呢?

4.3.1. 线性方程组的迭代求解法

      用方程表示一般的线性方程组: AX=b    (4.3)

      线性方程组的数值求解包括直接法(如高斯消元法、矩阵三角分解法、平方根法、追赶法等)和迭代解法。策略评估中采用线性方程组的迭代解法。

       所谓迭代解法是根据(4.3)式设计一个迭代公式,任取初始值 X(0) ,将其导入到设计的迭代公式中,得到 X(1) ,再将代入迭代公式中得到 X(2) ,如此循环最终得到收敛的 X 。常用的迭代方法有:

方法一:雅可比(Jacobi)迭代法

       方法二:高斯-赛德尔迭代法

4.3.2. 基于动态规划的基于模型强化学习迭代算法设计思路

      此处,我们使用高斯-赛德尔迭代算法进行求解(4.2)。

思考题:上述迭代公式,能够获得线性方程组(4.2)的解吗?答案请参考4.3.5解内容

基本问题1:策略评估算法。给定⼀个策略π,如何计算在策略π下的值函数?


基本问题2:策略改善算法。如何利⽤值函数进⾏策略改善,从⽽得到最优策略?

    ⼀个很⾃然的⽅法是当已知当前策略的值函数时,在每个状态采⽤贪婪策略对当前策略进⾏改善


4.3.3.基于模型强化学习迭代算法——策略迭代算法

      策略迭代算法包括策略评估和策略改善两个步骤。在策略评估中,给定策略,通过数值迭代算法不断计算该策略下每个状态的值函数。利用该值函数和贪婪策略得到新的策略。


      从策略迭代的伪代码我们看到,进⾏策略改善之前需要得到收敛的值函数。值函数的收敛往往需要很多次迭代(如下图所示),现在问题是进⾏策略改善之前⼀定要等到策略值函数收敛吗?


答案:不⼀定要等到策略评估算法完全收敛。

如果我们在评估一次之后就进行策略改善,则称为值函数迭代算法(接下来要介绍的算法)。

4.3.4.基于模型强化学习迭代算法——值迭代算法

      值函数迭代算法的伪代码如下:


4.3.5.高斯-赛德尔迭代的策略评估算法会收敛吗?

   首先介绍一个数学概念:压缩映射(contraction mapping)。

   定义:设 X 是度量空间,其度量用 ρ 表示。映射 T:X→X ,若存在a, 0≤a<1 使得 ρ(Tx,Ty)≤aρ(x,y),∀x,y∈X , 则称 TX 上的一个压缩映射。

   定理1:完备度量空间上的压缩映射具有唯一的不动点。

   定理1,也可以解释为,从度量空间任何一点出发,只要满足压缩映射,压缩映射的序列必定会收敛到唯一的不动点。因此,证明一个迭代序列是不是收敛,只需证明该序列所对应的映射是不是压缩映射。

在回答策略评估算法是否收敛的证明中

4.4.思考

思考1:基于模型的策略迭代算法,优化变量(迭代策略)收敛性吗?

思考2:基于模型的值函数迭代算法,优化变量(迭代策略)收敛性吗?


4.基于模型的动态规划方法(策略迭代+值迭代)的评论 (共 条)

分享到微博请遵守国家法律