IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 【深度强化学习】动态规划(Dynamic Programming) -> 正文阅读

[数据结构与算法]【深度强化学习】动态规划(Dynamic Programming)

动态规划是 model-based 类的算法,需要明确 MDP 的所有信息。在实际应用中,很少使用动态规划来解决大规模强化学习问题。动态规划分为两个算法,一个是值迭代,另一个是策略迭代。


1?Introduction

1.1 What is Dynamic Programming?

动态规划就是将一个比较复杂的问题拆解为多个简单的子问题,转而将目标放在解决子问题的一般步骤上,最终结合所有子问题的解即可得到复杂问题的最终解。(刷过leetcode的应该都知道吧)

1.2 Requirements for Dynamic Programming

对于动态规划使用的复杂问题,需要具备以下两个性质:

  • 复杂问题的最优解由子问题的最优解组成
  • 子问题在求解复杂问题中重复出现,子问题的解可以被缓存和重用

马尔科夫决定过程(MDP)具有上述两个属性:

  • Bellman 方程把问题递归为求解子问题
  • 价值函数就相当于存储了一些子问题的解,可以复用

因此,我们可以使用动态规划来求解 MDP。

1.3 Planning by Dynamic Programming

Planning ” :“规划问题”,在完全了解 MDP 结构的情况下,求解最优的 Policy

所谓完全了解 MDP 结构,就是知道 状态行为空间、转换矩阵、奖励等。

“规划” 问题分为两个方面:预测(prediction) 控制(control)。prediction 要解决的是在知道 policy 的前提下,求 value function(评估)。control 要解决的是在 prediction 的基础上,循环不同的 policy,找到最佳 policy。


2 Policy Evaluation

2.1?Iterative Policy Evaluation

我们使用 反向迭代 Bellman 期望方程?的方式去 评估 policy

同步反向迭代:对于第 K+1 次迭代,所有状态的价值?v_{k+1}(s)?使用第 K 次迭代的?v_{k}(s')?来更新,其中,s'?是 s 的后继状态。

?例子:评估小方格世界中的随机策略

上图说明了例子中的条件:

  1. 该 MDP 的衰减因子为1(不衰减);
  2. 具有14个非终止状态,1个终止状态(阴影方块就是终止状态);
  3. 当 action 出界时,不改变状态(出界的行为将原地不动);
  4. 在到达终止状态前,每个 action 的 reward 都是 -1;
  5. 上、下、左、右的 action 的概率相同,都是 1/4。

k = 0(初始)时,所有状态的价值都初始化为0;

k = 1 时,更新每个状态的价值。以蓝色块为例,其向上、下、左、右方向的 reward 都是 -1,且 k = 0 时所有状态价值均为0,故 1/4 * (-1 -1 -1 -1) = -1;

k = 2 时,更新每个状态的价值。以蓝色块为例,括号里前两项【-1+(-1)】指的是 当前reward 和 k = 1 时的后继状态价值,由于 k = 1 时从蓝色块出发,上、下、右的后继状态价值都时1,而左的后继状态价值为0,故括号里最后一项【-1+0】。

以此类推,直至收敛。

2.2 How to Improve a Policy

优化策略的方法很简单:

  1. 首先在一个给定的策略下迭代更新价值函数;
  2. 然后在当前策略的基础上,贪心地选择行为,使得后继价值增加得最多。

在上述例子中,基于给定策略的价值迭代最终收敛得到的就是最佳策略,这并不常见。通常,还需要在改善的策略上继续评估,反复多次。不过这种方法总能收敛至最优策略。

2.3 Policy Iteration

下图很直观的表现出了策略迭代的核心思想,在当前策略上迭代计算 v 值,再根据 v 值贪婪地更新策略,如此反复多次,最终得到 最优策略?和最优状态价值函数。

贪心?指的是仅采取那个(些)使得状态价值得到最大的行为。

2.4 Policy Improvment

下面是策略迭代的理论证明。


3 Value Iteration

3.1?Principle of Optimality

一个最优的策略可以分为两个部分,一个从 状态s 到达 状态 s' 的最佳 action 从 状态 s' 出发采取的最佳 policy

定理:一个策略能够使得 状态s 获得最优价值,当且仅当:对于从 状态s 可以到达的任何 状态s’,该策略能够使得 状态s’ 的价值是最优价值

?3.2?Deterministic Value Iteration

?在 3.1 的定理的基础上,如果我们知道?期望的最终状态的位置?以及 反推需要明确的状态间关系,我们就可以从最终状态出发,进行反推。这就是一个确定性的价值迭代。

例子

Solution 1:Value Iteration

并不确定最终状态在哪里,而是根据?每一个状态?的最优后续状态价值来更新该状态的最佳状态价值。多次迭代最终收敛。这也是根据一般适用性的价值迭代。在这种情况下,就算不知道目标状态在哪里,这套系统同样可以工作。

?Solution 2:Determistic Value Iteration

在已知左上角为最终目标的情况下,我们可以从与左上角相邻的两个方格开始计算,因为这两个方格是可以仅通过1步就到达目标状态的状态,或者说目标状态是这两个状态的后继状态。最短路径可以量化为:每移动一步获得一个-1的即时奖励。为此我们可以更新与目标方格相邻的这两个方格的状态价值为-1。如此依次向右下角倒推,直至所有状态找到最短路径。

3.3 Value Iteration

Solution:从初始状态价值开始同步迭代计算,最终收敛,整个过程中?没有遵循任何策略。?

注意:与策略迭代不同,在值迭代过程中,算法不会给出明确的策略,迭代过程其间得到的价值函数不对应任何策略。


4 Summary

  1. Prediction(预测):根据已知的 policy,求价值函数;
  2. Control(控制):基于 Prediction,求出最优策略;
  3. Control 的两个解决方案:Policy Iteration 和 Value Iteration;
  4. Policy Iteration:policy evaluation?+ policy improvement 交替执行直到收敛;
  5. Value Iteration:寻找 Optimal value function + 一次 policy extraction,它们不用交替执行,因为值函数最优,策略通常也是最优。

?Reference

  1. David Silver《深度强化学习课程》
  2. https://zhuanlan.zhihu.com/reinforce
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-07-28 00:18:38  更:2021-07-28 00:19:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 10:16:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计