强化学习(David Silver)8:集成学习和计划

1、介绍

这课中的规划就是预测

1.1、Model-Based的两层含义

agent学习环境从一个状态向另一个状态的转移

agent学习状态转移收益

ps: model的学习主体是agent

1.2、利弊

利: 通过监督学习高效学习; 解释model的不确定原因

弊: 学习模型+构造值函数, 叠加两部分误差

1.3、形式

MDP(S, A, P, R) 中S, A已知;P, R未知, model预估P, R

2、基于模型的强化学习

2.1、Table Lookup Model

直接通过统计历史, 计算P, R

基于model的planning: 在有了Model以后, 使用值迭代, 策略迭代求解问题

2.2、规划

在已知模型的情况下, 求解MDP, 可以使用策略迭代, 值迭代, 树搜索等方法

2.3、Sample-based Learning

学习Moddel; 从Model中采样; 对Model使用Model-Free的学习

模型的准确性,决定了RL的上限; 模型不准确时, RL会学到次优的策略

模型不准确时, 考虑使用Model-free方法

3、Learing/planning集成框架

3.1、learn和plan含义

Model-free是从真实样本从Learn一个值/策略函数

Model-free是从模拟样本从plan一个值/策略函数

3.2、Dyna结构

1) 从真实样本中学习Model

2) 从真实/模拟样本中learn+plan 值/策略函数

3.3、Dyna-Q算法

1) 初始化Q(S,A) 和Model(S, A)

2) 循环

    a) 获取当前状态S

    b) 厄普西隆贪心生成A

    c) Q-learing学习Q(S, A)

    d) 训练Model(S, A)

    e) 重复N次(Model-Based部分)

         选择S, A??? 如何选择??

         通过Model(S,A)计算R, S'

         Update Q(S, A)

PS: 一次Dyna-Q迭代中, 有两次使用到Model-free的计算

4、基于模拟的搜索

4.1、模拟搜索

1) 前向搜索: 关注当前状态, 而非全空间搜索, 希望在当前状态中学习得足够好; 无需求解整个MDP, 只需要求解当前状态相关的分支

2) 模拟搜索: 是一种前向搜索(PPT中说前向搜索使用模拟搜索, 讲课时说模拟搜索是前向搜索, 意思差不多)

    从模型中, 模拟一个当前状态的后续片段; 然后用Model-free的方法去学习这个片段

4.2、MC搜索

1) 简单MC搜索(假定已知模型和一个策略)

    模型产生行为片段; MC评估Q(s, a); a = maxQ(s, a'); 这里一步只从一个state出发, 选择出一个a

2) MCTS(蒙特卡洛树搜索):

和SMSC差别在于, MCTS计算时是计算了所有的K的片段中出现的所有s, a的均值;

而不只是计算重初始点出发的s的均值(这也就是Silver说的活的策略的意思, 每个片段中都在学习)

3) MCTS模拟

    有存储的MCTS生成A,没有的随机生成
    使用MC评估; 尔普斯隆贪心优化(或者bandit算法的其它分支优化)

4) 优势

    动态评估状态; 而不像DP一样,在整个空间评估

4.3、TD搜索

4.4、Dyna-2

使用ForwardSearch的Dyna

长期记忆从Real Exprience从获取, 使用TD计算

短期记忆从模拟样本从获取, 使用TD search计算

Question:

1、Model-Based方法是基于监督学习的? 监督学习在哪里体现的呢? 

2、为什么Model-Based采样, 不直接在历史数据中采样?优势是什么?

3、大家都知道AlphaGo使用的是MCTS,但是Silver说Dyna比MCTS厉害???Why?? 

如果发现文中有问题,敬请联系作者批评指正,真诚欢迎您的指教,谢谢!

微信: legelsr0808

邮箱: legelsr0808@163.com

原文地址:https://www.cnblogs.com/ai1024/p/7712636.html