PDDM-具有高级调度程序的基于模型的新强化学习算法


强化学习分为两大类:无模型和基于模型。 在第一种情况下,直接通过奖励信号优化动作,在第二种情况下,神经网络只是现实的模型,并且使用外部调度程序选择最佳动作。 每种方法都有其自身的优点和缺点。


伯克利(Berkeley)和Google Brain的开发人员介绍了带有改进的调度程序的基于模型的PDDM算法,该算法使您可以在少数示例中以大量自由度有效学习复杂的运动。 要学习如何在具有24个自由度的逼真的手指关节的机械手臂中旋转球,在一个真正的物理机器人上只花了4个小时的练习。


强化学习是对带有奖励信号的机器人的培训。 这类似于众生的学习方式。 但是,由于不知道如何更改神经网络的权重以至于其提议的动作导致奖励增加,这一事实使问题变得复杂。 因此,在强化学习中,传统的神经网络训练方法不适合。 毕竟,尚不清楚她应该在出口处给出什么,这意味着不可能在预测和真实状态之间找到错误。 跳过神经网络各层之间的差异并更改神经元之间的权重以最小化此错误。 这是神经网络教授的经典反向传播算法。


因此,科学家发明了几种解决该问题的方法。


无模型


行为批评模型是最有效的方法之一。 让一个神经网络(行为者)在其输入处接收状态环境的状态,并在输出处发出应导致奖励奖励增加的动作。 到目前为止,由于尚未训练神经网络,因此这些动作是随机的,并且仅取决于网络内的信号流。 和第二个神经网络(批评者)一样,让输入也接收状态环境的状态,而且还要从第一个网络的输出中接收动作。 在输出处,仅让预测的奖励奖励,如果应用这些操作,则将获得奖励。


现在,请注意:我们不知道在第一个广告联盟的输出中应该采取的最佳操作,从而导致奖励增加。 因此,使用反向传播算法,我们无法对其进行训练。 但是第二个神经网络可以很好地预测奖励奖励的确切价值(或更确切地说,通常是其变化),如果现在应用操作,它将获得该价值。 因此,让我们从第二个网络获取误差变化梯度,并将其应用于第一个网络! 因此,您可以通过经典的误差反向传播方法来训练第一个神经网络。 我们只是从第二个网络的输出中而不是从第一个网络的输出中提取错误。


结果,第一个神经网络学会发出最优动作,从而导致奖励增加。 因为如果评论家批评家犯了一个错误并且预测的报酬比实际情况要小,那么这种差异的梯度将使演员的行为朝着正确的方向发展,从而使批评家更准确地预测报酬。 这就意味着朝着更理想的行动前进(毕竟,它们将导致批评者准确地预测出更高的奖项)。 一个相似的原理在相反的方向上起作用:如果评论家高估了预期的报酬,则期望与现实之间的差异将降低第一个神经网络的动作输出,从而导致第二个网络的这种高估的报酬指示。


如您所见,在这种情况下,奖励信号直接优化了操作。 这是强化学习中所有无模型算法的共同本质。 它们是目前最先进的。


它们的优点是可以通过梯度下降来寻找最佳动作,因此最终找到了最佳动作。 这意味着显示最佳结果。 另一个优点是能够使用小型(因此学习速度更快)神经网络。 如果在所有各种环境因素中,某些特定因素是解决问题的关键,那么梯度下降法就能够识别它们。 并用来解决问题。 这两个优点确保了直接使用无模型方法的成功。


但是它们也有缺点。 由于动作是直接由奖励信号来教授的,因此需要许多训练示例。 数千万美元,即使是非常简单的情况。 在具有大量自由度的任务上,他们做得不好。 如果该算法没有立即设法识别高维环境中的关键因素,那么它很可能根本不会学习。 此外,无模型方法也可以利用系统中的漏洞,专注于非最佳操作(如果梯度下降收敛于此),而忽略其他环境因素。 对于稍微不同的“无模型”任务,必须再次对方法进行完全培训。


基于模型


强化学习中基于模型的方法与上述方法根本不同。 在基于模型的模型中,神经网络只能预测接下来会发生什么。 不提供任何动作。 也就是说,它只是现实的模型(因此,以名称为基础的“模型”)。 根本没有决策系统。


基于模型的神经网络将获得状态环境的当前状态以及我们要执行的操作。 神经网络预测在应用这些动作后状态将如何变化。 她还可以预测这些行动将带来什么回报。 但这不是必需的,因为通常可以根据众所周知的状态来计算奖励。 此外,此输出状态可以反馈到神经网络的输入(以及新提出的动作),因此可以递归地预测外部环境的变化,从而向前推进许多步骤。


基于模型的神经网络非常容易学习。 由于他们只是预测世界将如何变化,而没有提出任何建议以使奖励增加的最佳行动。 因此,基于模型的神经网络使用所有现有示例进行训练,而不仅仅是像Free-Model那样导致奖励增加或减少的示例。 这就是为什么基于模型的神经网络需要更少的训练示例的原因。


唯一的缺点是基于模型的神经网络应研究系统的实际动力学,因此应具有足够的能力。 无模型神经网络可以收敛于关键因素,而忽略其余因素,因此是一个小型的简单网络(如果原则上任务是由更少的资源解决的话)。


除了训练较少数量的示例外,另一个巨大的优势是,作为世界的通用模型,单个基于模型的神经网络可用于解决世界上的许多问题。


基于模型的方法中的主要问题是应将哪些动作应用于神经网络的输入? 毕竟,神经网络本身不提供任何最佳动作。


最简单的方法是通过这样的神经网络驱动数以万计的随机动作,并选择神经网络将预测最大奖励的动作。 这是经典的基于模型的强化学习。 但是,对于较大的维度和较长的时间链,可能采取的行动数量过多,无法对所有这些行动进行分类(甚至猜测至少有些最优)。


因此,基于模型的方法通常不如自由模型,后者通过梯度下降直接收敛到最佳操作。


适用于机器人运动的改进版本不是使用随机动作,而是保持先前的运动,从而增加了正态分布的随机性。 由于机器人的运动通常很平稳,因此减少了胸围的数量。 但是同时,重要的急剧变化可能会被错过。


可以将这种方法的最终开发选项视为CEM选项,它不使用将正态性引入当前动作路径的固定正态分布,而是使用交叉熵来选择随机分布的参数。 为此,启动了一系列动作计算,并使用其中的最佳方法来优化下一代参数的分布。 类似于进化算法。


PDDM


需要这么长时间的介绍才能解释在新提出的基于PDDM模型的增强学习算法中发生了什么。 在阅读了伯克利AI博客上的文章 (或扩展版本 ),甚至是原始的arxiv.org/abs/1909.11652文章之后,这可能并不明显。


当选择需要通过基于模型的神经网络运行的随机动作以选择具有最高可预测奖励的动作时,PDDM方法重复了CEM的思想。 PDDM仅代替在CEM中选择随机分布参数,而是使用动作之间的时间相关性和更软的规则来更新随机分布。 该公式在原始文章中给出。 这使您可以长时间检查大量合适的动作,尤其是在运动需要精确协调的情况下。 另外,该算法的作者过滤了候选动作,从而获得了更平滑的运动轨迹。


简而言之,开发人员简单地提出了一个更好的公式,用于选择随机动作以测试经典的基于模型的强化学习。


但是结果非常好。


在一个真正的机器人上进行的仅4个小时的训练中,一个具有24个自由度的机器人学会了握住两个球并将其旋转到手掌中而不会掉落。 带有如此少的示例的任何现代无模型方法都无法获得结果。


有趣的是,为了进行训练,他们使用了另一个具有7个自由度的机械手,该机械手拾起掉落的球并将其放回机械手的主臂:



结果,经过1-2个小时,roboruk可以放心地握住球并将其移到她的手掌中,而4个小时就足以完成训练。



注意手指的抽动动作。 这是基于模型的方法的功能。 由于预期动作是随机选择的,因此它们并不总是与最佳动作一致。 无模型算法可能会收敛于真正最佳的平滑运动。


但是,基于模型的方法允许通过一个受过训练的神经网络对世界进行建模,从而无需重新培训即可解决不同的问题。 本文有几个示例,例如,您可以轻松更改手中球的旋转方向(在“无模型”中,您必须为此重新训练神经网络)。 或将球握在手掌上特定点的红点后面。



您还可以使Roboruk用铅笔绘制任意轨迹,了解对于无模型方法而言这是非常困难的任务。



尽管所提出的算法不是万能药,也不是完全意义上的AI算法(在PDDM中,神经网络仅替换了解析模型,并且通过使用棘手的规则进行随机搜索来做出决定,从而减少了选项枚举的数量),但它在机器人技术中很有用。 由于它在结果上显示出显着的改进,并且只接受了很少的示例。

Source: https://habr.com/ru/post/zh-CN470179/


All Articles