文章目录

  • Introduction
    • model-Free
      • Model-Based RL
        • Advantages
        • Disadvantages
      • Model定义
        • 目标
        • 一些模型表示方法:
      • 计划 Planning
        • Sample-Based Planning 基于采样的计划
    • 整合Model-Free 和 Model-Based
      • 两种经验来源:
      • Dyna
    • 基于模拟的搜索
      • 前向搜索算法 Foward Search
      • 基于模拟的搜索算法
      • MCTS
        • 简化版 Monte-Carlo Search
        • 完全版MCTS

Introduction

上一个话题是直接从经验中学习策略。

之前的都是Model free。agent不需要理解外部环境。

这次直接从经验里面学习模型(Model)并且使用planning去构造一个价值函数或策略。尝试理解外部环境。

把learning和planning 整合成一个体系。

Model大概可以分成两个部分:

  • 模型可以告诉我们所有的状态转换(如何转换)
  • 以及发生的动作奖励是多少

model-Free

  • 无模型
  • 从经验中直接学习价值函数或者策略。

agent不知道外部世界

Model-Based RL

  • 从经验中学习一个模型
  • 根据这个模型去构造价值函数或者策略函数

**agent自己模拟一个外部世界。**赋予模型思考和预测的能力。

agent通过experience来构建自己的模型。模型构建成功之后,就可以通过模型产生value/policy

Advantages

  • Model-Free有时候直接从status里面学习value/policy太困难了。因为status太多了。Model-Based通过supervised learning 方法有效的学习模型。
  • 能够建立不确定的模型

Disadvantages

  • 学习模型、再通过模型构建value function, 会产生两部误差

Model定义

定义: 模型MMM 是一个MDP<S,A,P,R>MDP<S,A,P,R>MDP<S,A,P,R>以η\etaη为参数的表示。

假设状态空间S和动作空间A都是已知的。

那么模型的表示为M=<Pη,Rη>M=<P_\eta, R_\eta>M=<Pη​,Rη​>,其中分别代表状态转换和奖励转换Pη≈RP_\eta \approx RPη​≈R , Rη≈RR_\eta \approx RRη​≈R
St+1∼Pη(St+1∣St,At)Rt+1=Rη(Rt+1∣St,At)S_{t+1} \sim P_\eta(S_{t+1} | S_t, A_t) \\ R_{t+1} = R_\eta(R_{t+1}|S_t, A_t) St+1​∼Pη​(St+1​∣St​,At​)Rt+1​=Rη​(Rt+1​∣St​,At​)
通常假设状态转换和奖励之间是条件独立的
P[St+1,Rt+1∣St,At]=P[St+1∣St,At]P[Rt+1∣St,At]\mathbb{P} [S_{t+1}, R_{t+1} | S_t, A_t]= \mathbb{P}[S_{t+1} | S_t, A_t]\mathbb{P}[R_{t+1}|S_t,A_t] P[St+1​,Rt+1​∣St​,At​]=P[St+1​∣St​,At​]P[Rt+1​∣St​,At​]

目标

从经验序列{S1,A1,R2,S2,A2,R3...,STS_1,A_1,R2, S_2,A_2,R_3...,S_TS1​,A1​,R2,S2​,A2​,R3​...,ST​}学习一个KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲{M}_\eta。

这是一个监督学习的问题:
S1,A1→R2,S2...S_1, A_1 \rightarrow R_2,S_2 \\ ... S1​,A1​→R2​,S2​...
一共分成两个部分:

  • s,a -> r , 可以认为是回归问题。
  • s,a -> s’ ,可认为是概率密度估计的问题。

选择参数η\etaη使得最小化损失函数。

一些模型表示方法:

  • Table Lookup Model 查表模型。存储状态行为对的转换概率和奖励
  • Linear Expectation Model
  • Linear Gaussian Model
  • Deep Belief Network Model

计划 Planning

给出一个模型KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲{M}_\eta = <P_\…

使用一些算法来解决MDP<S,A,Pη,Rη><S,A,P_\eta,R_\eta><S,A,Pη​,Rη​>

这些算法是之前所学的:

  • Value iteration 价值迭代
  • Policy iteration 策略迭代
  • Tree Search 树搜索

Sample-Based Planning 基于采样的计划

  • 只用模型产生样本。

  • 然后使用无模型学习方法来学习这些样本。 例如Q-learning / MC control/ Sarsa

这两步可以理解为agent自己的想像。

例子:

过程:

  • 从真实的经验出发建模
  • 得到中间的模型
  • 从模型中采样数据(这一步其实是agent通过模型自己想像的)
  • 从采样的数据中学习价值函数。

建造模型的好处就是一旦模型创建成功,我们就相当于有无穷的数据可以训练。

如果模型不准确

那么基于模型的RL算法表现受限制。planning过程将会得到一个次最优策略

解决办法:

  • 使用Model-Free RL。
  • 利用模型的不确定性进行推算(贝叶斯算法)

整合Model-Free 和 Model-Based

两种经验来源:

Real experience: 来自实际环境交互(True MDP)

Simulated experience: 来自于Model产生的。(approximate MDP)

Dyna

整合:


算法实现:

Dyna-Q有一个局限性,就是当环境改变,Model不能发现。所以要在Model构建的时候加入探索和额外奖励。这个就是Dyna-Q+

基于模拟的搜索

上面所说的Model,是通过一些方法拟合或者用表格表示出来reward和下一个状态的概率密度,也就是整个的MDP。

基于模拟的搜索,是从当前状态开始,通过模型建立一个前向所搜索树,利用model-free方法来学习当前状态这个搜索树的最佳决策。如果使用MC则称为Mote-Carlo Tree Search(MCTS), 如果使用Sarsa算法,则成为TD search。下面详细来解释:

前向搜索算法 Foward Search

前向搜索算法的思想则不同。他是通过向前看可能发生的各种情况,最后综合来选择最好的动作。在向前看的过程中,会建立一个以当前状态为根节点的搜索树

使用这个思想就不需要求解整个MDP过程,只需要求解从当前状态开始的子MDP过程。

基于模拟的搜索算法

在前向搜索过程中使用的经验是来自于 计划采样的(sample-based planning)

通过Model获得从当前状态开始,采样k个模拟序列

使用无模型算法从获得的序列中学习

  • MC control -> MC search
  • Sarsa -> TD search

MCTS

简化版 Monte-Carlo Search

给定Model KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲M_v 和模拟策略π\piπ

对于每个动作的产生,都经历3个过程:

  • 从当前状态开始,通过Model和模拟策略π\piπ进行模拟,从而产生序列。(Simulation)
  • 通过平均return来进行评估(Envaluation)
    • Q(st,a)=1K∑k=1KGt−P→qπ(st,a)Q(s_t,a) = \frac{1}{K} \sum_{k=1}^{K}G_t -^P\rightarrow q_\pi(s_t,a)Q(st​,a)=K1​∑k=1K​Gt​−P→qπ​(st​,a)
  • 通过最大的Q值选择执行动作

简化版只关注当前状态行为对应的收获。 不关注模拟采样得到的中间状态和对应行为价值。

完全版MCTS

  • 采样k个模拟序列

  • 创建一个由已经访问过结点和动作所组成的树

  • 对于树内的每个状态行为价值对,都采用这个式子进行评估

  • 构建完成之后,选择当前状态StS_tSt​所能执行动作中Q值最大的。


对树的每个节点都计算平均收获来估算价值。

强化学习笔记(7)基于模型的RL / Dyna算法/ MCTS相关推荐

  1. 用“小红的下任男友是谁”通俗解释强化学习中的 基于模型方法 与 免模型方法

    之前纠结了很久 Model-based 与 Model-free .突然想出来的一个点子,觉得蛮有意思.蛮直观的,便写下来,希望能帮到和我一样的初学者. 我说的可能有错误,请以娱乐+批判性眼光阅读此文 ...

  2. 基于强化学习的自动化剪枝模型

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源丨AI科技评论 编辑丨极市平台 导读 GitHub上最新开源的一 ...

  3. 【强化学习笔记】4.3 无模型的强化学习方法-蒙特卡罗算法与重要性采样

    异策略与重要性采样 因为异策略中的行动策略和目标策略不一样,也就是说行动策略产生的数据分布与目标策略的数据分布存在偏差,即即行动策略的轨迹概率分布和改善策略的轨迹概率分布不一样,因此在使用数据进行目标 ...

  4. 142页ICML会议强化学习笔记整理,值得细读

    作者 | David Abel 编辑 | DeepRL 来源 | 深度强化学习实验室(ID: Deep-RL) ICML 是 International Conference on Machine L ...

  5. 强化学习笔记4:强化学习分类

    1 model-free & model-based model-based(有模型) RL agent,它通过学习环境的状态转移来采取动作. model-free(免模型) RL agent ...

  6. 深度强化学习笔记02-马尔可夫链

    深度强化学习笔记02-马尔可夫链 这几天杂事比较多,看了一些相关内容,但是没有时间形成笔记,此笔记复制与datawhale的MDP一节,后期自己学习填补. MDP [外链图片转存失败,源站可能有防盗链 ...

  7. 强化学习笔记:PPO 【近端策略优化(Proximal Policy Optimization)】

    1 前言 我们回顾一下policy network: 强化学习笔记:Policy-based Approach_UQI-LIUWJ的博客-CSDN博客 它先去跟环境互动,搜集很多的 路径τ.根据它搜集 ...

  8. 强化学习笔记: 应用举例

    这里举几个RL的应用场景(当然有更多的) 1 RL & 调参(神经网络结构性参数) 假设我们搭建 20 个 卷积层,每个层有 3 个超参数,那么一共有 60 个超参数. 如果用grid sea ...

  9. 强化学习笔记-强化学习概述

    强化学习笔记-强化学习概述 机器学习分类 强化学习与监督学习的异同点 强化学习基本原理 强化学习解决的是什么样的问题 强化学习分类 请分别解释随机性策略和确定性策略 回报.值函数.行为值函数三个指标的 ...

最新文章

  1. 中国开源大爆发进行时,你没掉队吧?
  2. 因为站在船头,所以难以沉默——专访数据院执行副院长韩亦舜【第一届数据故事计划】...
  3. c语言运行k值不变,C语言期末复习(改完).doc
  4. 个人工作总结10(冲刺二)
  5. linux的swap相关
  6. 如何在C++中调用C程序?(讲的比较清楚)
  7. (12)机器学习_特征选择
  8. vmrc安装出现:未能安装 HCmon 驱动程序 (Failed to install the HCmon driver)
  9. tuxedo中间件tmadmin的命令使用
  10. 系统主数据管理之供应商(Supplier)一 供应商的分类概述
  11. javascript打飞机程序8x8x飞机大战
  12. hadoop启动cgroups,centos6.5+hadoop2.7.2
  13. 基于白鲸优化算法的函数寻优算法
  14. Zynq-7000电子相册的实现
  15. Python实现excel表合入
  16. java map 队列_JavaSE-List/Map/Queue
  17. 软件工程课程周进度报告 第六周
  18. labview简易计算机实验报告,labview 实验报告.doc
  19. 计算机中丢失krpt怎么办,计算机中丢失krpt。dll怎么办
  20. c log 指定服务器,解决 SQL2000安装程序配置服务器失败。参考服务器错误日志和C:\WINDOWS\sqlstp.log方法...

热门文章

  1. 使用文本编辑器开发一个Java程序的详细步骤
  2. Kitty Spangles Solitaire for Mac(趣味纸牌游戏)
  3. EXCEL VBA创建sheet/工作簿
  4. c++小游戏-跳舞的线(无障碍)
  5. 在读书郎平板上安装第三方应用
  6. java计算机毕业设计ssm云共享知识交流平台e36ho(附源码、数据库)
  7. 如何快速把整站英文网站翻译成中文网站?
  8. Windows组策略屏蔽U盘有妙法(图)
  9. 数据科学家应遵守的十五个原则
  10. 将无符号的10进制的数转换为16进制,并打印输出