《深入浅出强化学习原理入门》学习笔记(四)基于模型的动态规划方法

强化学习的直观目标是找到最优策略,目的是更好地完成任务。回报函数对应着具体的任务,所以强化学习所学到的最优策略是与具体的任务相对应的。从这个意义上来说,强化学习并不是万能的,它无法利用一个算法实现所有的任务。

从广义上讲,强化学习可以归结为序贯决策问题,即找到一个决策序列u0*-u1*-u2*-u3*-----uτ*使目标函数(累计回报的期望值 ∫R (τ)Pπ (τ) dτ)最优。
在这里插入图片描述
下图非常经典。
马尔科夫决策过程可以利用元组(S,A,P,r,γ)来描述,根据转移概率P是否已知,可以分为基于模型的动态规划方法和基于无模型的强化学习方法。本节主要学习基于模型的策略迭代算法和值迭代算法。
在这里插入图片描述
基于模型的强化学习可以利用动态规划的思想来解决。动态规划中的“动态”蕴含着序列和状态的变化;“规划”蕴含着优化,如线性优化,⼆次优化或者非线性优化。

利用动态规划可以解决的问题需要满足两个条件:⼀是整个优化问题可以分解为多个子优化问题;⼆是子优化问题的解可以被存储和重复利用。

值函数计算

在这里插入图片描述
状态s 处的值函数υπ (s),可以利用后继状态的值函数υπ (s′)来表示。但后继状态的值函数υπ (s′)也是未知的,所以这个算法是bootstrapping算法(自举算法)

对于模型已知的强化学习算法,P,gama,R都是已知数,π(a|s)为要评估的策略也是指定值,方程中唯一的未知数就是值函数,方程为线性方程组,策略评估问题转换为了线性方程组的求解问题,可以用高德-赛德尔迭代算法进行求解。

高德-赛德尔迭代求解值函数线性方程

在这里插入图片描述
矩阵形式表示
在这里插入图片描述
迭代方程表示
在这里插入图片描述

策略评估算法

在这里插入图片描述
举例说明,下图为网格世界,其状态空间为S={1,2,…,14},动作空间 为A={东,南,⻄,北},回报函数为r≡-1,需要评估的策略为均匀随机策略:π(东|.)=0.25,π(南|.)=0.25,π(西|.)=0.25,π(北|.)=0.25。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

利用值函数进行策略改善,找到最优策略

当已知当前策略的值函数时,在每个状态采⽤贪婪策略对当前策略进⾏改善,即在这里插入图片描述
仍然通过上面的例子来看,状态1时通过贪婪策略得到选择西这个动作。

K=10时,π0均匀策略为
在这里插入图片描述
π1贪婪策略为
在这里插入图片描述
以第一行第二个的状态1为例,要选择向西的方向。在这里插入图片描述

策略迭代算法

策略迭代伪代码如下
在这里插入图片描述
策略迭代算法包括策略评估和策略改善两个步骤。在策略评估中,给定策略,通过值迭代算法不断计算该策略下每个状态的值函数,在值函数收敛之后,利用该值函数和贪婪策略进行策略改善得到新的策略。如此循环下去,最终得到最优策略。这是⼀个策略收敛的过程。

值函数迭代算法

在策略迭代算法中,值函数的收敛往往需要很多次迭代,但还是用之前的例子来看,策略评估迭代10次和迭代⽆穷次所得到的贪婪策略是⼀样的,所以可以评估一次之后就进行策略改善,这样的方法叫值函数迭代算法。在这里插入图片描述
值函数迭代算法伪代码如下
在这里插入图片描述

最优控制

基于值函数迭代,需要解决最优控制的问题,有变分法原理、庞特里亚金最大值原理和动态规划的方法。三种方法各有优缺点。

基于变分法的方法是最早的方法,其局限性是无法求解带有约束的优化问题。

基于庞特里亚金最⼤值原理的方法在变分法基础上进行发展,可 以解决带约束的优化问题。

相比于这两种经典的方法,动态规划的方法相 对独⽴,主要是利⽤贝尔曼最优性原理。

最优控制问题是
在这里插入图片描述
由贝尔曼最优性原理得到哈密尔顿-雅克比-贝尔曼方程
在这里插入图片描述
(3.9)是⼀个偏微分方程,⼀般不存在解析解。对于偏微分方程 (3.9),有三种解决思路:

第⼀种思路是将值函数进行离散,求解方程 (3.9)的数值解,然后利用贪婪策略得到最优控制。这对应于求解微分方程的数值求解方法;

第⼆种思路是利用变分法,将微分方程转化成变分代数方程,在标称轨迹展开,得到微分动态规划DDP;

第三种思路是利用函数逼近理论,对方程中的回报函数和控制函数进行函数逼近,利用优化方法得到逼近系数,这类方法称为伪谱的方法。

前两种方法都是以值函数为中心,思路与值函数迭代类似。

第二种方法的DDP方法伪代码如下。
前向迭代:
给定初始控制序列 ,正向迭代计算标称轨迹。
在这里插入图片描述
反向迭代:
由代价函数边界条件VxN ,VxxN 反向迭代计算得到贪婪策略δu* 。

正向迭代新的控制序列:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值