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

概念引入

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

简介

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

动态规划的适用范围

满足以下两个条件即可

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

恰好 MDPs 就满足这两个特性

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

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

MDPs中的所有元素

评价方面
动态规划-强化学习学习笔记(三)_第1张图片

优化方面
动态规划-强化学习学习笔记(三)_第2张图片

动态规划中的策略评价

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

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

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

动态规划-强化学习学习笔记(三)_第3张图片
贝尔曼期望方程,表明了我们能够通过后继状态 s′ 更新 s
在这里插入图片描述
因此可以得到如下的迭代式子
动态规划-强化学习学习笔记(三)_第4张图片

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

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

动态规划-强化学习学习笔记(三)_第5张图片

策略提升

给定一个策略 π

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

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

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

策略提升定理

对于两个确定性策略 π′ 和 π,如果满足在这里插入图片描述
那么我们可以得到:在这里插入图片描述
贪婪动作得到的策略是上述的特殊形式
在这里插入图片描述
证明
动态规划-强化学习学习笔记(三)_第6张图片

策略迭代

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

动态规划-强化学习学习笔记(三)_第7张图片

收敛证明

提升停止时

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

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

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

动态规划-强化学习学习笔记(三)_第9张图片

广义策略迭代

之前的策略迭代指定了策略评价(迭代式)和策略提升(贪婪)的
方法。
广义策略迭代(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)
  • 我们只需要选择一步动作即可

动态规划-强化学习学习笔记(三)_第10张图片
上式中 [·] 的部分表示进行了一步迭代式策略评价, max 操作符表示进行了一次策略提升值迭代指的是利用上面的迭代式更新相当于从最后的奖励函数出发,递归地求解之前的状态的值函数

值迭代算法

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

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

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

动态规划-强化学习学习笔记(三)_第11张图片
与 “同步备份下的迭代式策略评价算法” 类似,但是有两点区别

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

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

动态规划-强化学习学习笔记(三)_第12张图片
动态规划-强化学习学习笔记(三)_第13张图片

你可能感兴趣的:(神经网络,神经网络论文研读,深度强化学习,动态规划,算法,深度学习,强化学习)