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