动态规划-强化学习学习笔记(三)

概念引入

强化学习的通俗理解
马尔可夫决策过程

简介

动态规划(Dynamic Programming,DP)是运筹学的一个分支,是求解决策过程最优化的过程。20世纪50年代初,美国数学家贝尔曼(R.Bellman)等人在研究多阶段决策过程的优化问题时,提出了著名的最优化原理,从而创立了动态规划。动态规划的应用极其广泛,包括工程技术、经济、工业生产、军事以及自动化控制等领域,并在背包问题、生产经营问题、资金管理问题、资源分配问题、最短路径问题和复杂系统可靠性问题等中取得了显著的效果 。

动态规划的适用范围

满足以下两个条件即可

  • 最优子结构
    满足最优性原理
    最优的解可以被分解成子问题的最优解
  • 交叠式子问题
    子问题能够被多次重复
    子问题的解要能够被缓存并再利用

恰好 MDPs 就满足这两个特性

  • 贝尔曼方程是递归的形式,把问题分解成子问题
  • 值函数有效的存储了子问题的解,并能够再利用

这就将动态规划与强化学习结合了起来

MDPs中的所有元素

评价方面
在这里插入图片描述

优化方面
在这里插入图片描述

动态规划中的策略评价

问题: 给定一个策略 π,求对应的值函数在这里插入图片描述

直接解:在这里插入图片描述
迭代解:v1 → v2 → · · · → vπ
即利用贝尔曼期望方程迭代求解,同样可以收敛到 vπ

利用贝尔曼期望方程的迭代式策略评价

在这里插入图片描述
贝尔曼期望方程,表明了我们能够通过后继状态 s′ 更新 s
在这里插入图片描述
因此可以得到如下的迭代式子
在这里插入图片描述

同步备份下的迭代式策略评价算法

备份(backup):vk+1(s) 需要用到 vk(s′),用 vk(s′) 更新 vk+1(s) 的过程称为备份。更新状态 s 的值函数称为备份状态 s。备份图
同步 (synchronous):每次更新都要更新完所有的状态
策略评价
迭代式

在这里插入图片描述

策略提升

给定一个策略 π

评价策略 π:
在这里插入图片描述

在求得 vπ 之后,根据贪婪的动作改进策略
在这里插入图片描述

在这里插入图片描述
更新后的策略不差于之前的策略的过程称为策略提升,贪婪动作只是策略提升一种方式

策略提升定理

对于两个确定性策略 π′ 和 π,如果满足在这里插入图片描述
那么我们可以得到:在这里插入图片描述
贪婪动作得到的策略是上述的特殊形式
在这里插入图片描述
证明
在这里插入图片描述

策略迭代

通过不断地交替运行策略评价和策略提升,使策略收敛到最优的策略的过程即为策略迭代
策略评价: 求 vπ。使用方法:迭代式策略评
策略提升: 提升策略 π′ ≥ π。使用方法: 贪婪策略提升

在这里插入图片描述

收敛证明

提升停止时

在这里插入图片描述
此时满足了贝尔曼最优方程
在这里插入图片描述
此时
在这里插入图片描述
此时 π 是一个最优策略

策略迭代算法(利用迭代式策略评价)

在这里插入图片描述
策略迭代分为两个步骤——策略评价和策略提升
一般策略评价需要迭代式求解,因此这里存在两个循环
问题来了,策略评价一定要收敛到 vπ,才能进行策略提升吗?
我们是不是可以引入提前停止的规则?
例如: 值函数更新的 ∆ 足够小则停止
例如:限定迭代式策略评价只迭代 k 次
策略评价只迭代一次,就策略提升?(k=1)值迭代

在这里插入图片描述

广义策略迭代

之前的策略迭代指定了策略评价(迭代式)和策略提升(贪婪)的
方法。
广义策略迭代(Generalised Policy Iteration, GPI)不限定两者的方法,它包含

  • 策略评价: 估计 vπ。任何策略评价方法均可
  • 策略提升: 提升策略 π′ ≥ π。任何策略提升算法均可

几乎所有的强化学习算法都可以用 GPI 来描述值函数只有在符合当前策略的情况下才稳定
策略只有在当前值函数下是贪婪的才稳定因此稳态下,两者分别收敛到最优的 v∗(s), π∗(s)

强化学习中的最优性原理

任何最优的策略都能被分解成两部分

  • 最优的初始动作 A∗
  • 从后继状态 S′ 开始沿着最优策略继续进行

一个策略 π(a|s) 能够实现从 s 开始的最优值函数,vπ(s) = v∗(s),当且仅当对于任何从状态 s 开始的后继状态 s′π 能实现从状态 s′ 开始的最优值函数 vπ(s) = v∗(s′)

值迭代

  • 根据最优性原理,只要知道 v∗(s′),即可以知道 v∗(s)
  • 我们只需要选择一步动作即可

在这里插入图片描述
上式中 [·] 的部分表示进行了一步迭代式策略评价, max 操作符表示进行了一次策略提升值迭代指的是利用上面的迭代式更新相当于从最后的奖励函数出发,递归地求解之前的状态的值函数

值迭代算法

值迭代算法的两种理解方式:

  • 策略迭代中,在策略评价阶段,只迭代一步
  • 利用贝尔曼最优方程进行迭代

问题仍然为找到最优的策略 π
但是在更新的过程中并没有显式的策略

在这里插入图片描述
与 “同步备份下的迭代式策略评价算法” 类似,但是有两点区别

  • 更新的公式不同
  • vk(s) 的意义不同

对比:
值迭代
v1 → v2 → v3 → · · · → v∗
没有显式的策略
迭代过程中的值函数可能不对应任何策略
效率较高
贝尔曼最优方程
策略迭代
π1 → v1 → π2 → v2 → · · · → π∗ → v∗
有显式的策略
迭代过程中的值函数对应了某个具体的策略
效率较低
贝尔曼期望方程 + 贪婪策略提升

在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丰。。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值