强化学习(八):Dyna架构与蒙特卡洛树搜索MCTS
强化学习(八):Dyna架构与蒙特卡洛树搜索MCTS
在基于表格型强化学习方法中,比较常见的方法有动态规划法、蒙特卡洛法,时序差分法,多步引导法等。其中动态规划法是一种基于模型的方法(Model-based),因为它的前提是必须要知道所有状态和动作以及奖励的分布;后面的几种方法则是基于采样的方法,试图让智能体通过与环境交互来获得经验,从经验中推出相关的策略。因此本节对相关内容进行一个简单的总结,并给出一些拓展方法。
我们现在也已经学习了这些相关的方法,在此罗列出基于表格型学习的传送门:
文章 | 内容 | 地址 |
---|---|---|
(一)概述 | 强化学习的相关概念,包括基本元素,策略的分类,原理等 | 点击复习 |
(二)贪心策略(ε-greedy & UCB) | 开发与探索,贪心策略,多臂赌博机 | 点击复习 |
(三)有限马尔可夫决策与贝尔曼方程 | 有限马尔科夫决策,贝尔曼方程 | 点击复习 |
(四)基于表格型动态规划算法的强化学习 | 动态规划,策略迭代,价值迭代 | 点击复习 |
(五)蒙特卡洛采样方法 | 蒙特卡洛方法, 同轨离轨策略,重要度采样 | 点击复习 |
(六)时序差分方法 | 单步时序差分,TD误差,SARSA,Q学习,期望SARSA,双学习 | 点击复习 |
(七)n步自举法(多步引导法) | n步时序差分 | 点击复习 |
1、几种方法的对比
强化学习的目标都是基于有限马尔可夫决策过程的假设,因此求解这个马尔可夫自然会有一系列的方法。例如动态规划中的贝尔曼方程,蒙特卡洛的同轨离轨策略等,这些方法都可以使用回溯图来表现出它们对状态、动作的描述:
这张图可以很清晰的描述我们学过的几种方法。左上角表示的是时序差分法,时序差分法表示的是在某一个时刻的状态,通过观察执行某一个动作后转移到下一个时刻的状态所得到的即时收益与下一时刻状态的带折扣价值函数作为当前状态的估计值,也就是所谓的两次近似。值得注意的是,时序差分在这里通常表示为单步的,因此呈现出的就是一条单步的直线。在之前的学习中我们也知道,单步时序差分可能会造成最大化误差问题。当单步延长时,便是我们所说的多步引导(n步自举),如果n是整个一幕的长度,则表示的是蒙特卡洛,对应图中则是由左上到左下。蒙特卡洛则是从某一时刻开始,一直到结束时刻才能获得该时刻状态的实际收益。我们也知道一般对于非分幕式任务,或超长幕的任务来讲,蒙特卡洛也不一定实用。当时序差分中,增加宽度时,也就是说每次回溯不仅只是某一个动作,而是所有动作,则便是动态规划,仔细分析可知,动态规划就是对当前状态所有可能执行的动作以及下一时刻转移的状态的描述。动态规划是一种特殊的单步时序差分,在于其对每一个动作都进行了一次估计,如果是多步的话,就变成了深度搜索(穷举)。事实上,强化学习就是一个试错的过程,而穷举未免不是一种将所有经验都经历一遍的笨方法,强化学习只是使用策略机制来用少量的步骤近似真实的结果。
强化学习(八):Dyna架构与蒙特卡洛树搜索MCTS相关推荐
- 面向初学者的蒙特卡洛树搜索MCTS详解及其实现
目录 0. 序言 1. 蒙特卡洛算法的前身今世 2. 蒙特卡洛搜索算法的原理 2.1 Exploration and Exploitation(探索与利用) 2.2 Upper Confidence ...
- 蒙特卡洛树搜索 MCTS
原文地址 http://mcts.ai/about/index.html 什么是 MCTS? 全称 Monte Carlo Tree Search,是一种人工智能问题中做出最优决策的方法,一般是在组合 ...
- 蒙特卡洛搜索树python_python实现的基于蒙特卡洛树搜索(MCTS)与UCT RAVE的五子棋游戏...
更新 2017.2.23有更新,见文末. MCTS与UCT 下面的内容引用自徐心和与徐长明的论文<计算机博弈原理与方法学概述>: 蒙特卡洛模拟对局就是从某一棋局出发,随机走棋.有人形象地比 ...
- 蒙特卡洛树搜索 MCTS 入门
引言 你如果是第一次听到蒙特卡洛,可能会认为这是一个人名.那么你就大错特错,蒙特卡洛不是一个人名,而是一个地方,还一个赌场名!!!但是这不是我们的重点. 我们今天的主题就是入门蒙特卡洛树搜索, ...
- 蒙特卡洛树搜索(MCTS)的实例代码
另一篇博客对代码的讲解 原理: 在当前树节点(设为A)状态下,如果所有子节点都展开了,则按UCT算法选择最优节点作为当前节点,循环下去,直到该节点有未展开的子节点,则从未展开的子节点里瞎选一个并展开它 ...
- python实现的基于蒙特卡洛树搜索(MCTS)与UCT RAVE的五子棋游戏
转自: http://www.cnblogs.com/xmwd/p/python_game_based_on_MCTS_and_UCT_RAVE.html 更新 2017.2.23有更新,见文末 ...
- 蒙特卡洛树搜索(MCTS)实现简易五子棋AI
蒙特卡洛树搜索算法可以通过自我对弈模拟得到不同状态分支中获胜的概率,从而获得最优的策略.代码部分可以分为Node类和State类.Node类通过关联父节点和子节点实现树结构,同时保存每个节点的属性:S ...
- 蒙特卡洛树搜索算法实现_蒙特卡洛树搜索实现实时学习中的强化学习
蒙特卡洛树搜索算法实现 In the previous article, we covered the fundamental concepts of reinforcement learning a ...
- 强化学习笔记:AlphaGo(AlphaZero) ,蒙特卡洛树搜索(MCTS)
1 AlphaZero的状态 围棋的棋盘是 19 × 19 的网格,可以在两条线交叉的地方放置棋子,一共有 361 个可以放置棋子的位置,因此动作空间是 A = {1, · · , 361}.比如动 ...
最新文章
- YOLO算法最全综述:从YOLOv1到YOLOv5
- mysql有关权限的表都有哪几个
- mac connect to host localhost port 22: Connection refused
- unescape解密 php,php 版 模仿 js ,unescape函数解码,escape函数编码的方法
- CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13+博客系统WordPress3.3.2
- linux 内核驱动的poll,Linux驱动基石之POLL机制
- python查找文件内容_python实现搜索文本文件内容脚本
- 【leetcode】940. Distinct Subsequences II
- 在ubuntu上卸载anaconda
- 基于51单片机的多功能温度监测系统(附代码)
- 硬盘数据恢复方法有哪些?希望这些方法能帮助你
- Python自动批量删除微博
- c语言鞋码,童鞋尺码对照表 童鞋1c、2c、3c和4c是多大码 多少厘米
- Minimum supported Gradle version is 5.1.1. Current version is 4.8
- 亚信安全发现勒索软件新变种Word文档成为导火索
- 科技风杂志科技风杂志社科技风编辑部2022年第31期目录
- 对话,对话,全是超级爆笑对话
- php毕业论文致谢,毕业论文致谢词范文
- Mysql出现问题:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corres解决方案
- 【java毕业设计】基于javaEE+SSH+SqlServer的企业车辆管理系统设计与实现(毕业论文+程序源码)——车辆管理系统