强化学习(八):Dyna架构与蒙特卡洛树搜索MCTS
在基于表格型强化学习方法中,比较常见的方法有动态规划法、蒙特卡洛法,时序差分法,多步引导法等。其中动态规划法是一种基于模型的方法(Model-based),因为它的前提是必须要知道所有状态和动作以及奖励的分布;后面的几种方法则是基于采样的方法,试图让智能体通过与环境交互来获得经验,从经验中推出相关的策略。因此本节对相关内容进行一个简单的总结,并给出一些拓展方法。
我们现在也已经学习了这些相关的方法,在此罗列出基于表格型学习的传送门:
文章 | 内容 | 地址 |
---|---|---|
(一)概述 | 强化学习的相关概念,包括基本元素,策略的分类,原理等 | 点击复习 |
(二)贪心策略(ε-greedy & UCB) | 开发与探索,贪心策略,多臂赌博机 | 点击复习 |
(三)有限马尔可夫决策与贝尔曼方程 | 有限马尔科夫决策,贝尔曼方程 | 点击复习 |
(四)基于表格型动态规划算法的强化学习 | 动态规划,策略迭代,价值迭代 | 点击复习 |
(五)蒙特卡洛采样方法 | 蒙特卡洛方法, 同轨离轨策略,重要度采样 | 点击复习 |
(六)时序差分方法 | 单步时序差分,TD误差,SARSA,Q学习,期望SARSA,双学习 | 点击复习 |
(七)n步自举法(多步引导法) | n步时序差分 | 点击复习 |
1、几种方法的对比
强化学习的目标都是基于有限马尔可夫决策过程的假设,因此求解这个马尔可夫自然会有一系列的方法。例如动态规划中的贝尔曼方程,蒙特卡洛的同轨离轨策略等,这些方法都可以使用回溯图来表现出它们对状态、动作的描述:
这张图可以很清晰的描述我们学过的几种方法。左上角表示的是时序差分法,时序差分法表示的是在某一个时刻的状态,通过观察执行某一个动作后转移到下一个时刻的状态所得到的即时收益与下一时刻状态的带折扣价值函数作为当前状态的估计值,也就是所谓的两次近似。值得注意的是,时序差分在这里通常表示为单步的,因此呈现出的就是一条单步的直线。在之前的学习中我们也知道,单步时序差分可能会造成最大化误差问题。当单步延长时,便是我们所说的多步引导(n步自举),如果n是整个一幕的长度,则表示的是蒙特卡洛,对应图中则是由左上到左下。蒙特卡洛则是从某一时刻开始,一直到结束时刻才能获得该时刻状态的实际收益。我们也知道一般对于非分幕式任务,或超长幕的任务来讲,蒙特卡洛也不一定实用。当时序差分中,增加宽度时,也就是说每次回溯不仅只是某一个动作,而是所有动作,则便是动态规划,仔细分析可知,动态规划就是对当前状态所有可能执行的动作以及下一时刻转移的状态的描述。动态规划是一种特殊的单步时序差分,在于其对每一个动作都进行了一次估计,如果是多步的话,就变成了深度搜索(穷举)。事实上,强化学习就是一个试错的过程,而穷举未免不是一种将所有经验都经历一遍的笨方法,强化学习只是使用策略机制来用少量的步骤近似真实的结果。