无模型和基于模型的强化学习有什么区别?

人工智能 强化学习 比较 基于模型的方法 无模型方法
2021-10-27 19:17:00

无模型和基于模型的强化学习有什么区别?

在我看来,任何通过反复试验学习的无模型学习器都可以重新构建为基于模型的学习器。在那种情况下,什么时候适合无模型学习器?

4个回答

无模型和基于模型的强化学习有什么区别?

在强化学习中,术语“基于模型”和“无模型”并不是指使用神经网络或其他统计学习模型来预测值,甚至预测下一个状态(尽管后者可以用作基于模型的算法的一部分,无论该算法是基于模型的还是无模型的,都称为“模型”)。

相反,该术语严格指代在学习或行动期间,代理是否使用对环境响应的预测。代理可以使用来自下一个奖励和下一个状态的模型(样本)的单个预测,或者它可以向模型询问预期的下一个奖励,或者下一个状态和下一个奖励的完整分布。这些预测可以完全在学习代理之外提供——例如通过理解骰子或棋盘游戏规则的计算机代码。或者它们可以由代理学习,在这种情况下它们将是近似的。

仅仅因为实现了环境模型,并不意味着 RL 代理是“基于模型的”。要符合“基于模型”的条件,学习算法必须明确引用模型:

  • 纯粹从经验中采样的算法,例如 Monte Carlo Control、SARSA、Q-learning、Actor-Critic,是“无模型”RL 算法。他们依赖环境中的真实样本,从不使用生成的下一个状态和下一个奖励的预测来改变行为(尽管他们可能从经验记忆中采样,这接近于模型)。

  • 典型的基于模型的算法是动态规划(策略迭代和价值迭代)——这些都使用模型的预测或下一个状态和奖励的分布来计算最优动作。特别是在动态规划中,模型必须提供状态转换概率,以及来自任何状态、动作对的预期回报。请注意,这很少是学习模型。

  • 仅使用状态值的基本 TD 学习也必须基于模型,才能作为控制系统工作并选择动作。为了选择最好的动作,它需要查询一个模型来预测每个动作会发生什么,并实施一个策略,比如圆周率(s)=最大参数一个s',rp(s',r|s,一个)(r+v(s'))在哪里p(s',r|s,一个)是获得奖励的概率r和下一个状态s'采取行动时一个处于状态s. 那个功能p(s',r|s,一个)本质上是模型。

RL 文献将“模型”区分为“基于模型”和“无模型”学习的环境模型,以及使用统计学习器,如神经网络。

在 RL 中,神经网络通常用于学习和泛化价值函数,例如在给定状态和动作对的情况下预测总回报(折扣奖励的总和)的 Q 值。这种经过训练的神经网络在例如监督学习中通常被称为“模型”。但是,在 RL 文献中,您会看到用于此类网络的术语“函数逼近器”以避免歧义。

在我看来,任何通过反复试验学习的无模型学习器都可以重新构建为基于模型的学习器。

我认为您在这里使用对“模型”一词的一般理解来包括任何做出有用预测的结构。这将适用于例如 SARSA 中的 Q 值表。

但是,如上所述,这不是 RL 中使用该术语的方式。因此,尽管您对 RL 构建有用的内部表示的理解是正确的,但您在技术上并不正确,因为这可用于在“无模型”和“基于模型”之间重新构建框架,因为这些术语在 RL 中具有非常具体的含义.

在那种情况下,什么时候适合无模型学习器?

一般来说,在 RL 的当前状态下,如果您没有提供准确的模型作为问题定义的一部分,那么无模型方法通常会更好。

人们对构建环境预测模型的代理很感兴趣,并且这样做作为“副作用”(虽然仍然是无模型算法)仍然有用 - 它可以规范神经网络或帮助发现关键预测也可以在策略或价值网络中使用的特征。但是,基于模型的智能体学习自己的规划模型时存在一个问题,即这些模型中的不准确性会导致不稳定(不准确性会随着智能体看起来的未来而成倍增加)。一些有希望的进展正在使用基于想象的代理和/或机制来决定在规划期间何时以及在多大程度上信任学习的模型。

现在(2018 年),如果您在开始时没有明确已知模型的环境中遇到实际问题,那么最安全的选择是使用无模型方法,例如 DQN 或 A3C。这可能会随着该领域的快速发展而改变,并且新的更复杂的架构很可能在几年内成为常态。

基于模型的强化学习有一个代理尝试理解世界并创建一个模型来表示它。这里模型试图捕获 2 个函数,即状态的转换函数和奖励函数R. 从这个模型中,代理有一个参考,可以相应地计划。

但是,不需要学习模型,代理可以直接使用 Q-learning 或策略梯度等算法来学习策略。

查看 RL 算法是基于模型还是无模型的简单检查是:

如果在学习之后,代理可以在采取每个动作之前预测下一个状态和奖励将是什么,那么它就是一种基于模型的 RL 算法。

如果不能,那么它就是无模型算法。

在强化学习 (RL) 中,有一个代理环境交互(以时间步长)。在每个时间步,代理决定并执行一个动作一个, 在环境上,并且环境通过从(环境的)当前状态移动来响应代理,s,到(环境的)下一个状态,s',并通过发出一个称为奖励的标量信号,r. 原则上,这种交互可以永远持续下去,或者直到代理死亡。

代理的主要目标是“从长远来看”收集最大量的奖励。为此,代理需要找到一个最优策略(粗略地说,是在环境中表现的最优策略)。一般来说,策略是一个函数,在给定环境的当前状态的情况下,输出一个动作(或动作的概率分布,如果策略是随机的)以在环境中执行。因此,可以将策略视为代理在此环境中行为所使用的“策略”。最优策略(对于给定环境)是一种策略,如果遵循该策略,它将使代理在长期内获得最大量的奖励(这是代理的目标)。因此,在 RL 中,我们有兴趣找到最优策略。

环境可以是确定性的(即,大致而言,对于所有时间步,相同状态下的相同动作会导致相同的下一个状态)或随机性(或非确定性),也就是说,如果代理在某种状态,环境的下一个状态可能不一定总是相同的:它有可能是某种状态或另一个状态。当然,这些不确定性会使寻找最优策略的任务变得更加困难。

在 RL 中,问题通常在数学上表述为马尔可夫决策过程(MDP)。MDP 是一种表示环境“动态”的方式,即在给定状态下环境对代理可能采取的可能动作的反应方式。更准确地说,MDP 配备了一个转换函数(或“转换模型”),该函数在给定环境的当前状态和一个动作(代理可能采取的)的情况下,输出移动到任何位置的概率。的下一个州。奖励函数也与 MDP 相关联。直观地说,奖励函数在给定环境的当前状态(可能还有代理采取的行动和环境的下一个状态)的情况下输出一个奖励。总而言之,转移函数和奖励函数通常被称为环境模型总而言之,MDP 是问题,问题的解决方案是政策。此外,环境的“动态”由转换和奖励函数(即“模型”)控制。

但是,我们通常没有 MDP,也就是说,我们没有(与环境相关的 MDP)的转换和奖励功能。因此,我们无法从 MDP 估计策略,因为它是未知的。请注意,一般来说,如果我们有与环境相关的 MDP 的转换和奖励函数,我们可以利用它们并检索最优策略(使用动态规划算法)。

在没有这些功能的情况下(即当 MDP 未知时),为了估计最优策略,代理需要与环境交互并观察环境的响应。这通常被称为“强化学习问题”,因为代理需要通过强化其对环境动态的信念来估计策略。随着时间的推移,代理开始了解环境如何响应其行为,因此它可以开始估计最优策略。因此,在 RL 问题中,代理通过与未知(或部分已知)环境交互(使用“试错”方法)来估计最优策略以在未知(或部分已知)环境中表现。

在这种情况下,基于模型的算法是一种使用转移函数(和奖励函数)来估计最优策略的算法。代理可能只能访问转换函数和奖励函数的近似值,这可以由代理在与环境交互时学习,或者可以提供给代理(例如,由另一个代理)。一般来说,在基于模型的算法中,代理可以潜在地预测环境的动态(在学习阶段期间或之后),因为它具有对转换函数(和奖励函数)的估计。但是,请注意,代理用于改进其对最优策略的估计的转换和奖励函数可能只是“真实”函数的近似值。因此,可能永远找不到最优策略(因为这些近似值)。

模型算法是一种在不使用或估计环境动态(转换和奖励函数)的情况下估计最优策略的算法。在实践中,无模型算法直接根据经验(即代理与环境之间的交互)估计“价值函数”或“策略”,既不使用转换函数也不使用奖励函数。值函数可以被认为是对所有状态的状态(或在状态中采取的动作)进行评估的函数。从这个价值函数,然后可以得出一个策略。

在实践中,区分基于模型或无模型算法的一种方法是查看算法,看看它们是否使用转换或奖励函数。

例如,让我们看一下Q-learning 算法中的主要更新规则:

(小号,一个)(小号,一个)+一个(R+1+C最大限度一个(小号+1,一个)-(小号,一个))

正如我们所看到的,这个更新规则没有使用 MDP 定义的任何概率。笔记:R+1只是在下一个时间步(采取行动之后)获得的奖励,但不一定事先知道。因此,Q-learning 是一种无模型算法。

现在,让我们看一下策略改进算法的主要更新规则:

(s,一个)s'小号,rRp(s',r|s,一个)(r+C(s'))

我们可以立即观察它的用途p(s',r|s,一个),由 MDP 模型定义的概率。因此,使用策略改进算法的策略迭代(一种动态规划算法)是一种基于模型的算法。

尽管有几个很好的答案,但我想在第 303 页的 Reinforcement Learning: An Introduction中添加这一段,以获得对差异的更多心理学观点。

无模型和基于模型的强化学习算法之间的区别对应于心理学家对学习行为模式的习惯性和目标导向控制之间的区别。习惯是由适当的刺激触发的行为模式,然后或多或少地自动执行。根据心理学家如何使用这个短语,目标导向的行为是有目的的,因为它受目标价值以及行动与其后果之间关系的知识控制。习惯有时被认为是受前因刺激控制的,而目标导向的行为被认为是受其后果控制的(Dickinson, 1980, 1985)。目标导向控制的优势在于,当环境改变其对动物行为的反应方式时,它可以迅速改变动物的行为。虽然习惯行为对来自习惯环境的输入做出快速反应,但它无法快速适应环境的变化。

它从那里开始,然后有一个很好的例子。

我认为其他答案中并不总是解释的要点是,在无模型方法中,您仍然需要某种环境来告诉您与您的行为相关的奖励是什么。最大的区别是您不需要存储有关模型的任何信息。你给环境你选择的行动,你更新你的估计策略,然后你忘记了它。另一方面,在基于模型的方法中,您要么需要了解动态编程中的状态转换历史,要么需要能够从当前状态计算所有可能的下一个状态和相关的奖励。