RL夏令营第4讲回顾--Model-based

Model-based和Model-free方法对比

Model-based:

  1. 一旦model学好后,就是采用On-Policy的算法;
  2. 一旦model学好后,就不需要与真实环境有过多地互动;
  3. 会比Model-free方法有更高地采样效率;
  4. 模型如果有问题的话,会产生比较大地误差。

Model-free:

  1. 拥有最好地表现,毕竟是拿的与真实环境互动的数据;
  2. 会有一些不稳定性,并且有样本利用率低,需要大量的训练数据的问题。

Model-based方法流程

在这里插入图片描述
先通过Q值和policy来和真实环境产生动作的交互,并且从环境中得到真实轨迹的数据(experience)。然后通过构建model得到转移概率和奖励函数,再从虚拟环境中采样数据。最后利用采样数据来更新Q值和policy。

Q-planning算法

在这里插入图片描述
Q-planning算法的基础是一个Q表,Q表存储的是 ( S , A , R , S ′ ) (S,A,R,S') (S,A,R,S)这样的四元组。

  1. 首先从动作集和状态集中随机选择一个状态 S S S和动作 A A A
  2. S , A S,A S,A传入已构建好的模型,然后从模型中采样出下一个reward R R R和下一个state S ′ S' S;
  3. 根据 ( S , A , R , S ′ ) (S,A,R,S') (S,A,R,S)来使用一步的Q-learning表格更新。

Dyna-Q算法

Dyna-Q算法是off-policy算法和on-policy算法的结合:
在这里插入图片描述
即这里还利用了与真实环境交互得到的数据来对Q表进行了更新
在这里插入图片描述
对于算法的介绍如下:

  1. 随机初始化一个状态 S S S
  2. 利用 Q Q Q函数和现有的状态 S S S,以及 ϵ − g r e e d y \epsilon-greedy ϵgreedy策略来得到动作 A A A
  3. 执行动作 A A A,以及观察执行后相应的 R R R S ′ S' S
  4. 根据最新的采样直接利用Q-learning算法进行Q值的更新;
  5. 利用得到的 R , S ′ R,S' R,S来更新 M o d e l ( S , A ) Model(S,A) Model(S,A),( M o d e l ( S , A ) Model(S,A) Model(S,A)的更新方式可以利用类似监督学习的方法,即给定 ( S , A ) (S,A) (S,A)来预测 ( R , S ′ ) (R,S') (R,S));
  6. 重复n次:
    1. 随机采样一个状态 S S S;
    2. 随机采样一个在状态 S S S下做过的动作;
    3. 根据 M o d e l ( S , A ′ ) Model(S,A') Model(S,A)来得到虚拟环境下的奖励 R , S ′ R,S' R,S;
    4. 根据Q-learning来对Q表进行更新。

在这里插入图片描述
这是Dyna-Q算法在简单的Maze环境下的收敛情况,我们可以看到在n取的越大的时候,Agent的收敛性越好。

Model-Based方法存在的问题

  1. 自己创建的Model是否真的能够从理论上说明,它能够提升数据使用的效率;
  2. 模型在大多数情况下是不准确的,你是否应该相信这一模型;
  3. 如何利用好自己的模型得到更好的策略。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值