蒙特卡洛树方法介绍——规划与学习

  • 引言
    • 环境与模型
    • 规划思想与学习思想
      • 规划与学习的相同点
      • 规划与学习的不同点
        • 规划的特点
        • 学习的特点

引言

本节通过对动态规划方法、蒙特卡洛方法、时序差分方法进行归纳,介绍规划与学习两种思想。

环境与模型

在动态规划求解强化学习任务 中介绍过,动态规划方法使用的核心思想是自举(Boostrapping)方法:
Vk+1(St)=∑a∈A(s)π(a∣s)∑s’,rP(s’,r∣s,a)(r+γVk(s’))V_{k+1}(S_t) = \sum_{a \in \mathcal A(s)} \pi(a \mid s) \sum_{s’,r}P(s’,r \mid s,a)(r + \gamma V_{k}(s’))Vk+1​(St​)=a∈A(s)∑​π(a∣s)s’,r∑​P(s’,r∣s,a)(r+γVk​(s’))
并且介绍了想要使用动态规划方法求解强化学习任务,就必须要已知 完备的迁移动态,即 任意有意义的状态-动作对的动态特性函数P(s’,r∣s,a)P(s’,r \mid s,a)P(s’,r∣s,a) 均是已知的。我们称这种方法为有模型方法(Model-based Method)。
注:该模型指的是‘环境模型’,是基于环境自身的性质,通过动态特性函数表示出来。
有模型方法主要依赖的思想是规划(Planning);

针对像蒙特卡洛方法、时序差分方法这种 对动态特性函数未知或未完全可知 的情况,而通过真实样本进行采样得到的真实经验(Experience)对策略进行估计的方法,我们称为无模型方法(Model-free Method)。
无模型方法主要依赖的思想是学习(Learning);

规划思想与学习思想

规划与学习的相同点

基于已经介绍过的动态规划方法、蒙特卡洛方法、时序差分方法,它们三个之间的共同点:

  • 对策略更新的过程中,它们都使用了价值函数这个概念作为媒介,对策略进行更新:
    之所以将‘价值函数’称为‘媒介’——是因为这三种方法并没有直接对策略π\piπ进行求解,而是通过‘价值函数’和‘策略’相互迭代的方式进行求解。相反,直接对策略π\piπ进行求解参考‘策略梯度方法’。
  • 回溯思想其核心思想是没有办法在当前时刻ttt更新价值函数,只能通过未来时刻更新当前时刻ttt的价值函数。我们观察几种方法的策略评估过程:
    • 动态规划-策略评估(其中Rt+1+γVπ(St+1)R_{t+1} + \gamma V_\pi(S_{t+1})Rt+1​+γVπ​(St+1​)是由动态特性函数计算获得的):
      Eπ[Rt+1+γVπ(St+1)∣St=s]\mathbb E_{\pi}[R_{t+1} + \gamma V_{\pi}(S_{t+1}) \mid S_t =s]Eπ​[Rt+1​+γVπ​(St+1​)∣St​=s]
    • 蒙特卡洛评估:
      Eπ[Gt∣St=s]\mathbb E_{\pi}[G_t \mid S_t =s]Eπ​[Gt​∣St​=s]
    • 时序差分评估(其中Rt+1+γVπ(St+1)R_{t+1} + \gamma V_\pi(S_{t+1})Rt+1​+γVπ​(St+1​)是通过采样获得的):
      Eπ[Rt+1+γVπ(St+1)∣St=s]\mathbb E_{\pi}[R_{t+1} + \gamma V_{\pi}(S_{t+1}) \mid S_t = s]Eπ​[Rt+1​+γVπ​(St+1​)∣St​=s]
      观察上述三个式子,没有一个能够实现在当前时刻ttt完成更新。其中动态规划和时序差分方法至少需要执行 一次状态转移过程才能对当前时刻状态价值函数进行更新蒙特卡洛方法甚至要完成 整个情节的遍历 才能对状态价值函数进行更新。
  • 广义策略迭代(GPI):上述三种方法本质上都是使用广义策略迭代的思想,在整个迭代过程中并没有 将Q−TableQ-TableQ−Table中的全部元素更新一遍之后 再执行下一次迭代,而仅是 更新Q−TableQ-TableQ−Table中的部分元素即可进行下一次迭代。例如:
    • 蒙特卡洛方法仅更新了Q−TableQ-TableQ−Table中 某一完整情节对应一系列状态-动作对 上的价值函数信息;
    • 时序差分方法更是仅更新了Q−TableQ-TableQ−Table 在状态转移过程中的某一状态-动作对 上的价值函数信息;

规划与学习的不同点

规划的特点

规划首先和环境模型(Model),和动态特性函数是密切相关的,其本质是从模拟经验中更新价值函数,从而实现改进策略的目的。

  • 什么是模拟经验
    我们观察动态规划方法求解策略的过程,发现它并没有产生任何一个样本:它的状态转移结果St+1S_{t+1}St+1​是通过当前时刻状态StS_tSt​的条件下,执行动作AtA_tAt​,通过动态特性函数P(Rt+1,St+1∣St,At)P(R_{t+1},S_{t+1} \mid S_t,A_t)P(Rt+1​,St+1​∣St​,At​)得到关于转移至St+1S_{t+1}St+1​状态的各状态的概率分布,并从该分布中 随机选择一个状态 作为St+1S_{t+1}St+1​。
    因此,该结果St+1S_{t+1}St+1​并不是真实环境真正选择的结果,而是通过动态特性函数模拟选择的结果

通常将规划方法视为搜索(Search)方法。它的核心就是遍历。以动态规划方法为例,其本质上就是将当前时刻状态StS_tSt​到下一时刻状态St+1S_{t+1}St+1​中所有状态转移的可能性全部找出来。 因此,规划的主要思想是:

  • 所有规划方法都是 环境模型 产生的模拟经验来计算价值函数
  • 所有规划方法都是以计算价值函数作为策略迭代的中间关键步骤;

规划的基本流程可以表示如下:
环境模型 →\to→ 模拟经验 →\to→(回溯)价值函数 →\to→(改进)策略

学习的特点

由于规划基于的条件是环境模型(Model)是给定的,但在真实环境中,环境模型可能存在 环境信息不完整甚至是完全未知 的情况。因此,我们如果想用规划方法来求解策略,首先需要 将模型求出来

那么,模型要如何进行求解呢?
我们仍然需要经验(experience),但这次的经验并不是环境模型产生出的模拟经验,而是真实环境产生的真实经验
什么是真实经验

  • 对比模拟经验,真实经验是在ttt时刻状态St=sS_t = sSt​=s条件下,选择了某一动作At=aA_t = aAt​=a,并实实在在地执行了一次状态转移过程。我们将转移后的状态结果和对应的奖励结果看作关于St=s,At=aS_t = s,A_t = aSt​=s,At​=a的一个样本,因而每个状态-动作对(s,a)(s,a)(s,a)都会产生大量的样本。最终通过这些样本反过来归纳每个状态-动作对的环境模型分布。最终将所有状态-动作对的环境模型分布合在一起来近似真实环境模型

至此,我们已经通过样本近似得到环境模型,就可以继续使用规划的流程求解策略。

上述流程确实可以实现,但实际上我们发现,假设已经得到了关于状态-动作对的大量真实样本,我们完全可以直接去学习策略,而不是转成规划的方式
蒙特卡洛方法、时序差分方法都是这么做的。

因此,我们将先通过采样学习环境模型PPP,再通过环境模型PPP进行规划来更新策略π\piπ的方式称为间接强化学习。相反,通过真实经验样本直接更新策略或利用已知环境模型更新策略 的方式称为 直接强化学习
因此,动态规划方法、蒙特卡洛方法、时序查分方法 都是 直接强化学习

下一节将继续介绍规划与学习的差异和QQQ规划。

相关参考:
深度强化学习 原理、算法与PyTorch实战——刘全、黄志刚编著

蒙特卡洛树搜索方法介绍——规划与学习相关推荐

  1. 蒙特卡洛树搜索方法介绍——Q规划与Dyna-Q算法

    蒙特卡洛树搜索方法介绍--Q规划与Dyna-Q算法 引言 回顾:直接强化学习与间接强化学习 规划与学习的差异性 分布模型与样本模型 从算法更新图的角度认识规划与学习的差异性 随机采样单步表格式Q规划 ...

  2. 蒙特卡洛树搜索方法介绍——算力聚焦方法(一) Dyna-Q+

    蒙特卡洛树搜索方法介绍--算力聚焦方法之Dyna-Q+ 引言 回顾:Dyna-Q角度观察规划与学习的结合过程 Dyna-Q算法中的缺陷 求解强化学习任务的核心矛盾 如何缓和矛盾--算力聚焦 算力聚焦自 ...

  3. AlphaGo制胜绝招:蒙特卡洛树搜索入门指南

    作者 | int8.io 编译 | 张健欣 编辑 | Emily Chen AI 前线导读:本文是一篇关于蒙特卡洛树搜索的入门指南,介绍什么是蒙特卡洛树搜索及其各个细节的基本概念,然后通过一个简单的例 ...

  4. 蒙特卡洛树搜索(The monte carlo search tree)

    蒙特卡洛树搜索又称随机抽样或统计试验方法,属于计算数学的一个分支,它是在上世纪四十年代中期为了适应当时原子能事业的发展而发展起来的.传统的经验方法由于不能逼近真实的物理过程,很难得到满意的结果,而蒙特 ...

  5. 蒙特卡洛方法、蒙特卡洛树搜索(Monte Carlo Tree Search, MCTS) 学习

    文章目录 1. 从多臂赌博机说起 2. UCB 3. 蒙特卡洛树搜索 4. 伪代码 提出一个问题: 假设你当前有n个币,面前有k个赌博机.每个赌博机投一个币后摇动会产生随机的产出,你会怎么摇? 1. ...

  6. 一种简单的蒙特卡洛树搜索并行化方法

    监控未观察样本: 一种简单的蒙特卡洛树搜索并行化方法 Watch the Unobserved: a Sample Approach to Parallelizing Monte Carlo Tree ...

  7. 蒙特卡洛树搜索算法实现_蒙特卡洛树搜索实现实时学习中的强化学习

    蒙特卡洛树搜索算法实现 In the previous article, we covered the fundamental concepts of reinforcement learning a ...

  8. 强化学习笔记(七):蒙特卡洛树搜索(MonteCarlo Tree Search)

    目录 选择 扩展 模拟 反向传播 课外资料 如果说多臂赌博机问题被看做 单步强化学习任务 (只用一步决策玩哪个老虎机,然后就收到回报),那么蒙特卡洛树搜索可以看做是解决 多步强化学习任务 的工具. 树 ...

  9. 强化学习笔记:AlphaGo(AlphaZero) ,蒙特卡洛树搜索(MCTS)

    1 AlphaZero的状态 围棋的棋盘是 19 × 19 的网格,可以在两条线交叉的地方放置棋子,一共有 361 个可以放置棋子的位置,因此动作空间是 A = {1,  · · , 361}.比如动 ...

最新文章

  1. HSmartWindowControl 之 摄像头实时显示( 使用 WPF )
  2. 0.为什么要学习Vue?
  3. SAP Spartacus cx-table的fosuable和firstFocusable属性
  4. IE6 IE8下背景图片不显示问题
  5. 计算机与人脑的异同作文,小学信息技术3-6年级全册教案.pdf
  6. LintCode 373: Partition Array
  7. linux切换目录使用命令,linux命令切换目录的使用方法
  8. 面试题:判断链表是否存在环
  9. 通信网真的面临容量危机?
  10. OpenCV距离变换函数:distanceTransform()介绍
  11. 递归删除评论php,php如何递归删除文件
  12. 可视化修改SQL服务器名字,修改sql server服务器名称
  13. JavaScript对话框
  14. 强化学习10——迭代学习
  15. Mysql分区大全及讲解
  16. 如何用数学课件制作工具推导圆面积公式
  17. Good Luck in CET-4 Everybody!(sg函数模板)
  18. 汇编指令学习(AND,OR,XOR,NOT)
  19. 图像分类经典卷积神经网络—GoogLeNet论文翻译(中英文对照版)—Going Deeper with Convolutions(走向更深的卷积神经网络)
  20. 深度剖析钓鱼网站域名识别工具dnstwist

热门文章

  1. FTPclient简单使用
  2. C++ using声明以及using的编译指令
  3. 全网疯传!java编程代写有哪些平台
  4. Android架构组件JetPack之DataBinding玩转MVVM开发实战(四)
  5. Robot Framework之CSS定位
  6. 五年征程·砥砺前行,第五届金陀螺奖获奖名单揭晓!
  7. javase-day3
  8. ipv6 压缩 java_IPv6 地址语法
  9. java 构造方法的理解及作用
  10. 深圳.Net俱乐部2.26活动资源下载