初探强化学习(6)到底TMD什么是model-based和model-free(基于模型的强化学习和基于模型的强化学习 TMD的到底是什么)

0 如何定义无模型和有模型

Model-based和Model-free方法对比
Model-based:

  1. 一旦model学好后,就是采用On-Policy的算法;
  2. 一旦model学好后,就不需要与真实环境有过多地互动;
  3. 会比Model-free方法有更高地采样效率;
  4. 模型如果有问题的话,会产生比较大地误差。
  5. 两个算法的区别主要是Agent是否知道或要计算出环境的模型 。
  6. 拥有模型的好处是:Agent可以根据模型看到会发生什么,并提前规划(Planning)行动路径。
  7. 拥有模型的坏处是,真实模型和学习到带模型是有误差的,这种误差会导致Agent虽然在模型中表现很好,但是在真实环境中可能打不到预期结果。

Model-Free的算法往往更易于实现和调整,截止到目前(2018年9月),Model-Free的算法更受欢迎。
Model-free:

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

在实际应用中,根据agent是否通过与环境交互获得的数据来预定义环境动态模型,将RL分为模型化强化学习和无模型强化学,具体如图1所示。
在这里插入图片描述

1 有模型的中的模型model到底指的是什么?

在这里插入图片描述
然后,我们在看一下基础的基于模型的强化学习的步骤。这个看了就基本明白了:
在这里插入图片描述
作者采用一个ensemble Neural Network来处理enviorment中数据的不确定性。其实说白了就是model的学习用了一个集成的神经网络来做。使用交替执行model learning和policy learning,与固定dataset学习model的方法相比,能够处理更具挑战性的任务。
在这里插入图片描述
如何学习模型呢?可以用机器学习的基本理论解决,学习状态-动作对到回报的映射可以看作是一个回归问题,loss函数可以设置为均方误差;学习状态-动作对到下一状态的映射可以看作密度估计的问题,loss函数可以设置为KL散度。
这个模型的构造也有很多选择(神经网络、高斯过程等等),从而派生出不同的算法。

----基于模型的强化学习指先在与环境交互的数据中创建环境动态模型,然后基于该模型学习最优策略。它一般包含状态转移预测和奖励预测两个独立模型。如果两个模型可以准确描述真正的环境动态模型,那么当输入一个状态和动作时就不需要与环境进行实时交互,可以直接基于模型预测得到新的状态和动作奖励,从而极大地提高数据的利用率。
----但当面对的问题具有复杂的状态动作空间时,准确估计环境动态模型存在巨大挑战。尤其是在交互前期得到的数据较少时,环境动态模型极易存在模型误差,利用不准确的环境动态模型进行学习,极易导致双重近似误差。
----无模型强化学习指agent与环境进行实时交互和探索,并直接对得到的经验数据进行学习,最终实现累积收益最大化或达到特定目标。无模型强化学习不需要拟合环境动态模型,经过与环境的实时交互可以保证agent渐近收敛得到最优解。然而,无模型强化学习通常需要大量的训练样本和训练时间,因此如何提高数据利用率和学习效率是无模型强化学习的研究重点。

1.1 总结一下 TMD 什么是model

model base的方法流程
在这里插入图片描述
用强化学习白皮书中的原句来解释一下基于模型的强化学习中的model
首先,model指的是环境模型f。知道这个环境模型,就可以快速采样,然后训练就更方便,只是这个模型可能会带来很大的误差。
下面看截图
在这里插入图片描述
在这里插入图片描述

这个对环境的建模的模型(model),其实是显式的包含对于环境或者任务的知识(knowledge)的一个表征模型,一般来说两类包含的比较多:分别是转移模型(transition model)或者动力模型(dynamics model): s t + 1 = f s ( s t , a t ) s_{t+1} = f_{s}(s_{t},a_{t}) st+1=fs(st,at),以及奖励模型(reward model): r t + 1 = f r ( s t , a t ) r_{t+1} = f_{r}(s_{t},a_{t}) rt+1=fr(st,at) 。一旦这个模型建模出来,就可以正常的融入和环境的交互以及策略的学习中,具体如下图所示:
在这里插入图片描述
基于模型的强化学习方法最大的问题是模型误差。
马尔可夫决策过程(Markov Decision Process, MDP)是序贯决策(sequential decision)的数学模型,用于在系统状态具有马尔可夫性质的环境中模拟智能体可实现的随机性策略与回报。MDP的得名来自于俄国数学家安德雷·马尔可夫(Андрей Андреевич Марков),以纪念其为马尔可夫链所做的研究。

1.2 抄别人的

Model based RL
Model-based方法,让agent学习一种模型,这种模型能够从它的观察角度描述环境是如何工作的,然后利用这个模型做出动作规划,具体来说,当agent处于 s 1 s_1 s1状态,执行了 a 1 a_1 a1动作,然后观察到了环境从 s 1 s_1 s1转化到了 s 2 s_2 s2以及收到的奖励 r r r, 那么这些信息能够用来提高它对 T ( s 2 ∣ s 1 , a 1 ) T(s_2|s_1,a_1) T(s2s1,a1)T:状态转移概率函数)和 R ( s 1 , a 1 ) R(s_1,a_1) R(s1,a1)奖励函数R)的估计的准确性,当agent学习的模型能够非常贴近于环境时,它就可以直接通过一些规划算法来找到最优策略,具体来说:当agent已知任何状态下执行任何动作获得的回报,即 R ( s t , a t ) R(s_t,a_t) R(st,at)已知,而且下一个状态也能通过 T ( s t + 1 ∣ s t , a t ) T(s_{t+1}|s_t,a_t) T(st+1st,at)被计算,那么这个问题很容易就通过动态规划算法求解,尤其是当 T ( s t + 1 ∣ s t , a t ) = 1 T(s_{t+1}|s_t,a_t)=1 T(st+1st,at)1时,直接利用贪心算法,每次执行只需选择当前状态 s t s_t st下回报函数取最大值的动作 ( m a x a R ( s , a ∣ s = s t ) (max_{a}R(s,a|s=s_t) (maxaR(s,as=st)即可,这种采取对环境进行建模的强化学习方法就是Model-based方法。
Model free RL
但是,事实证明,我们有时候并不需要对环境进行建模也能找到最优的策略,一种经典的例子就是Q-learning,Q-learning直接对未来的回报 Q ( s , a ) Q(s,a) Q(s,a)进行估计, Q ( s k , a k ) Q(s_k,a_k) Q(sk,ak)表示对 s k s_k sk状态下执行动作 a t a_t at后获得的未来收益总和 E ( ∑ t = k n γ k R k ) E(∑_{t=k}^{n}γ^{k}R_k) E(t=knγkRk)的估计,若对这个Q值估计的越准确,那么我们就越能确定如何选择当前 s t s_t st状态下的动作:选择让 Q ( s t , a t ) Q(s_t,a_t) Q(st,at)最大的 a t a_t at即可,而 Q Q Q值的更新目标由 B e l l m a n Bellman Bellman方程定义,更新的方式可以有TD(Temporal Difference)等,这种是基于值迭代的方法,类似的还有基于策略迭代的方法以及结合值迭代和策略迭代的 a c t o r − c r i t i c actor-critic actorcritic方法,基础的策略迭代方法一般回合制更新(Monte Carlo Update),这些方法由于没有去对环境进行建模,因此他们都是Model-free的方法

1.3 简单总结一下如何区分model-based和model-free

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

model-free的强化学习算法已经在Atari游戏上取得了巨大成功,但是与人类选手相比,model-free的强化学习算法需要的交互数据往往大地多。其根本原因在于人类选手能够很容易学习到游戏的大概运行规律,从而进行预测规划。因此为了达到用少量数据学习控制Atari游戏的目的,作者提出了一种基于video prediction models的model based Simulated Policy Learning (SimPLe)算法,来解决需要大量交互数据的问题。在所学到的model上得到的policy,用于原始model上能够取得较好效果。主要贡献在于将planning算法与learned model结合起来,并取得了SOTA效果。

model-based
PPO算法
整体算法
大体上的思路:其实就是用神经网络构建一个环境模型(world model),基于这个学习到的world model去得到policy,然后再拿这个policy与真实的环境进行交互,收集数据,然后更新神经网络训练得到的world model。算法伪代码如下:
在这里插入图片描述
目的就是为了在减少与真实的环境互动的同时,获得在真实环境上较好的policy。初始的world model训练数据来自真实环境的随机rollout数据。
在这里插入图片描述
为了获取更好的world model,作者尝试了很多结构,最终提出一种 novel stochastic video prediction model 如下图所示:
在这里插入图片描述

无模型的方法是通过agent不断探索环境,不断试错,不断学习,因此导致了无模型的方法数据效率不高。而基于模型的方法则相反,它能够充分利用已有的模型,高效地利用数据。

虽然基于模型的强化学习思路很清晰,而且还有不要和环境持续交互优化的优点,但是用于实际产品还是有很多差距的。主要是我们的模型绝大多数时候不能准确的描述真正的环境的转化模型,那么使用基于模型的强化学习算法得到的解大多数时候也不是很实用。那么是不是基于模型的强化学习就不能用了呢?也不是,我们可以将基于模型的强化学习和不基于模型的强化学习集合起来,取长补短,这样做最常见的就是Dyna算法框架。

注:采样效率低并不是指的采的慢而是说花费相同的算力,所采样本的质量较差

2. 有模型和无模型算法分类

在这里插入图片描述

参考博客

  • 10
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值