[强化学习]区分Model-free和Model-based方法

强化学习方法分为Model-free和Model-based方法,那么这两种方法的区别在哪:

首先我们定义强化学习中的马尔可夫决策过程MDP,用四元组表示 <S,A,R,T> < S , A , R , T > <script type="math/tex" id="MathJax-Element-8"> </script>:

  • S S :环境的状态空间
  • A:agent可选择的动作空间
  • Rsa R ( s , a ) :奖励函数,返回的值表示在 s s 状态下执行a动作的奖励
  • T(s|s,a) T ( s ′ | s , a ) : 状态转移概率函数,表示从 s s 状态执行a动作后环境转移至 s s ′ 状态的概率

我们的目标是:找到一个策略 π π 能够最大化我们的对未来奖励的期望 E(nt=0γtRt) E ( ∑ t = 0 n γ t R t ) Rt R t t t 时刻的奖励,γ为折扣因子,代表距离现在越遥远的奖励不如现在的奖励大

现在,如果我们知道MDP中的所有东西,那么我们可以不用在环境中做出动作便可直接求解,我们通常称在执行动作前作出的决策为规划(planning),那么一些经典的规划算法能够直接求解MDP问题,包括值迭代和策略迭代等

但是在强化学习中,agent却不是那么容易知晓MDP中所有的元素的,比如,agent也许不会知道环境将会如何改变当它执行了一个动作后(状态转移概率函数 T T ),也不会知道它执行这个动作获得即时的奖励将会是多少(奖励函数R),agent能做的就是:根据自己已有的策略 π π 选择关于当前状态 s s 下自己认为好的动作a,执行此动作给环境,观察环境给出的反馈 r r 和下一个状态s,并根据这个反馈 r r 调整更新自己的策略π,这样反复迭代,直到找到一种 最优的策略 π π ′ 能够最大限度获得正反馈

那么,当agent不知道转移概率函数 T T 和奖励函数R,它是如何找到一个好的策略的呢,当然会有很多方法:

Model-based RL

一种方法就是Model-based方法,让agent学习一种模型,这种模型能够从它的观察角度描述环境是如何工作的,然后利用这个模型做出动作规划,具体来说,当agent处于 s1 s 1 状态,执行了 a1 a 1 动作,然后观察到了环境从 s1 s 1 转化到了 s2 s 2 以及收到的奖励 r r , 那么这些信息能够用来提高它对T(s2|s1,a1) R(s1,a1) R ( s 1 , a 1 ) 的估计的准确性,当agent学习的模型能够非常贴近于环境时,它就可以直接通过一些规划算法来找到最优策略,具体来说:当agent已知任何状态下执行任何动作获得的回报,即 R(st,at) R ( s t , a t ) 已知,而且下一个状态也能通过 T(st+1|st,at) T ( s t + 1 | s t , a t ) 被计算,那么这个问题很容易就通过动态规划算法求解,尤其是当 T(st+1|st,at)1 T ( s t + 1 | s t , a t ) = 1 时,直接利用贪心算法,每次执行只需选择当前状态 st s t 下回报函数取最大值的动作( maxaR(s,a|s=st) max a R ( s , a | s = s t ) )即可,这种采取对环境进行建模的强化学习方法就是Model-based方法

Model free RL

但是,事实证明,我们有时候并不需要对环境进行建模也能找到最优的策略,一种经典的例子就是Q-learning,Q-learning直接对未来的回报 Q(s,a) Q ( s , a ) 进行估计, Q(sk,ak) Q ( s k , a k ) 表示对 sk s k 状态下执行动作 at a t 后获得的未来收益总和 E(nt=kγkRk) E ( ∑ t = k n γ k R k ) 的估计,若对这个Q值估计的越准确,那么我们就越能确定如何选择当前 st s t 状态下的动作:选择让 Q(st,at) Q ( s t , a t ) 最大的 at a t 即可,而Q值的更新目标由Bellman方程定义,更新的方式可以有TD(Temporal Difference)等,这种是基于值迭代的方法,类似的还有基于策略迭代的方法以及结合值迭代和策略迭代的actor-critic方法,基础的策略迭代方法一般回合制更新(Monte Carlo Update),这些方法由于没有去对环境进行建模,因此他们都是Model-free的方法

所以,如果你想查看这个强化学习算法是model-based还是model-free的,你就问你自己这个问题:在agent执行它的动作之前,它是否能对下一步的状态和回报做出预测,如果可以,那么就是model-based方法,如果不能,即为model-free方法

Reference

https://www.quora.com/What-is-the-difference-between-model-based-and-model-free-reinforcement-learning

  • 57
    点赞
  • 137
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值