其他分享
首页 > 其他分享> > 【强化学习】表格型求解方法总结:基于表格型方法(Tabular Methods)的规划(Planning)和学习(Learning)

【强化学习】表格型求解方法总结:基于表格型方法(Tabular Methods)的规划(Planning)和学习(Learning)

作者:互联网

前言: 本次笔记对《强化学习(第二版)》第八章进行概括性描述。同时,也对本书的第一部分(共三部分)表格型求解方法进行了系统性阐述。

以下概括都是基于我个人的理解,可能有误,欢迎交流:piperliu@qq.com。


一、表格型求解方法梳理知识

第二到七章知识总结

第八章学习完成后,标志着书中第I部分 表格型求解方法 的完结,目前已学习到的知识包括:

可以注意到,后三章蒙特卡洛方法、时序差分学习、n 步自举法并不基于规划,即,无需对环境建模,只需要利用环境的 output 与 input 就可以进行学习。

但第八章又回到了规划上。

第八章:与二到七章的关系

尽管要用到模型(与规划),但是第八章中的条件并不需要像第四章动态规划中那样苛刻:

可以看出,第八章就是:


二、第八章基于表格型方法的规划和学习各节概括

参考了下述项目的笔记部分:
https://github.com/brynhayder/reinforcement_learning_an_introduction

8.1 模型和规划 Models and Planning

对环境建模,即帮助智能体去预测环境对于动作的反馈是什么,模型分为两类:

模型时用于仿真环境的。

8.2 Dyna:集成在一起的规划、动作和学习 Dyna: Integrated Planning, Acting and Learning

在这里插入图片描述

如上图, Dyna-Q 算法结合了 Q-Learning 与 规划:

8.3 当模型错误的时候 When the Model is Wrong

当采样不足或者陷入局部次优解时,就会让模型产生偏差。 Dyna-Q+ 用一个指标鼓励模型采取未采取过的动作,来解决这个问题。

8.4 优先遍历 Prioritized Sweeping

许多状态是与最优策略无关的,换言之,逼近最优策略,用不着对无关状态采样。

好比,小明从沈阳出发去成都,被要求找一条最近的路,他可以来来回回好几趟。他可能经过北京,可能经过西安,但一定没有必要先去东京,再去成都。这里,“抵达东京”这个状态与我们“从沈阳到达成都的最短路径”这个最优策略目标无关。

优先遍历的方法被提出,来过滤那些没有用的采样。比如,在一个非随机的环境中,使用 Q-Learning ,如果:

∣ R + γ max ⁡ a Q ( S ′ , a ) − Q ( S , A ) ∣ < θ |R+\gamma \max_a Q(S',a) - Q(S, A)| < \theta ∣R+γamax​Q(S′,a)−Q(S,A)∣<θ

那么,才把这个 P 对应的状态放在 PQueue 中,进行更新。

8.5 期望更新与采样更新的对比 Expected vs. Sample Updates

当模型时分布模型时,或者有很多很多状态分支时,进行期望更新计算量太大( ∑ i s _ n u m b e r p i q i \sum_i^{s\_number} p_i q_i ∑is_number​pi​qi​ )中s_number过大。因此,采用采样更新代替期望更新。

事实证明,在计算量很大/迭代次数很多时,采样更新的效果不逊于期望更新。

在这里插入图片描述

这是一张较为精辟的图,来自书中。这是一个三维图:

8.6 轨迹采样 Trajectory Sampling

对平均分布进行采样,可能会带来偏差。因为,很多“样本”其实是根本不会出现的。在规划中对同轨策略采样可以带来“初期快速收敛”的效果。

8.7 实时动态规划 Real-time Dynamic Programming

实时动态规划是一种特殊的价值迭代:不同于传统动态规划,实时动态规划不采用期望更新,使用采样更新,对同轨策略下的轨迹进行采样。

8.8 决策时规划 Planning at Decision Time

何为在决策时规划?

在之前提到的算法中,我们都是基于已有的经验进行规划(background planning);决策时规划即,考虑与环境的交换,即模拟作出动作后可以进行的采样(有可能考虑很多步)。

8.9 启发式搜索 Heuristic Search

在我看来,是对将要选择的动作进行“推演”,建立一个“决策树”,并且依照某种顺序(深度优先)对分支进行“不集中”的回溯。这往往比“集中回溯更新”产生的决策效果好。

8.10 预演算法 Rollout Algorithm

预演算法是基于蒙特卡洛控制的、通过仿真迹进行采样的决策时规划。

预演算法即:

预演算法用于改进预演策略的性能,而非找到最优策略。

8.11 蒙特卡洛树搜索 Monte Carlo Tree Search

蒙特卡洛树搜索是决策时规划、预演算法的集大成者。预演算法是其价值评估的框架,在仿真时,应用蒙特卡洛仿真来引导搜索。AlphaGo使用了这种技术。

MCTS可以概括为四步:

在这里插入图片描述

如上图,按照我的理解,MCTS的这四个步骤,即:

强化学习初步/表格型求解方法总结

Sutton的书所提到的所有强化学习方法都包含三个重要思想:

  1. 需要估计价值函数;
  2. 需要沿着真实或者模拟的状态轨迹进行回溯操作来更新价值估计;
  3. 遵循广义策略迭代(GPI)的通用流程,即会维护一个近似的价值函数和一个近似的策略,持续地基于一方的结果来改善另一方。

期待后续的学习。

Piper Liu

2020-1-31 23:38:22

 

标签:采样,状态,策略,表格,仿真,更新,Tabular,规划,Methods
来源: https://blog.51cto.com/u_15279775/2937884