Intrinsic Motivation For Encouraging Synergistic Behavior
如有错误,欢迎指正
本文翻译为机翻,仅作初步了解学习使用,需要用到的时候再回来整理。
原文链接: https://arxiv.org/pdf/2002.05189.pdf
如有侵权,请私信本人。
摘要
我们研究了在稀疏奖励协同任务中,内在动机作为强化学习的一种探索偏向的作用。协同任务是多个主体必须协同工作才能达到各自无法达到的目标。我们的核心思想是,协同任务中内在动机的一个好的指导原则是,采取影响世界的行动,而这些动作是智能体无法自己实现的。因此,我们建议激励智能体采取(联合)行动,其效果无法通过每个单独智能体的预测效果的组合来预测。我们研究了这一思想的两个实例,一个基于遇到的真实状态,另一个基于与策略同时训练的动力学模型。前者比较简单,后者的优点是对所采取的行动具有可分析的可微性。我们验证了我们的方法在机器人双手操作和稀疏奖励的多智能体运动任务中的有效性;我们发现我们的方法比两种方法都能产生更有效的学习效果:1)仅使用稀疏奖励的训练;2)使用典型的基于惊喜的内在动机公式,该公式不偏向协同行为。项目网页上提供了视频:https://sites.google.com/view/iclr2020-synergistic.
1 introduction
考虑一个多智能体环境,比如一组机器人一起踢足球。在这样一个环境中,一个共同的策略产生协同行为是至关重要的,它允许多个智能体协同工作,以实现他们无法单独实现的目标。智能体应该如何有效地学习这种协同行为?一个初级的想法是共同学习策略,希望出现协同行为。然而,从稀疏的、二元奖励中学习策略是非常具有挑战性的——当积极的强化很少见时,探索是一个巨大的瓶颈。在协同行为至关重要的稀疏奖励多智能体环境中,由于动作空间更大,探索是一个更大的问题。
处理强化学习中探索瓶颈的一种常见方法是利用内在动机塑造奖励,这是Schmidhuber(1991)首次提出的。这已被证明可在多个领域提高性能,例如机器人控制任务(Oudeyer等人,2007)和Atari游戏(Bellemare等人,2016;Pathak等人,2017)。典型地,内在动机被描述为智能体对世界某些方面的预测误差;用这样一个误差来塑造奖励激励智能体采取“令他惊喜”的行动,直觉上是一个有益的探索启发。但这是一个鼓励多智能体环境下协同行为的好策略吗?虽然协同行为可能很难预测,但同样也很难预测某些单体行为的影响;这种将内在动机表述为“惊喜”的方式并不特别有利于协同的出现。
本文研究了在多智能体任务中利用内在动机鼓励协同行为的一种替代策略。我们的方法是基于一个简单的观点,即协同行为会产生智能体单独作用时无法实现的效果。因此,我们提出对导致不同结果的联合行为的智能体进行奖励,与由智能体单独按顺序进行相同的行为进行比较。例如,考虑打开水瓶的扭转任务,这需要两只手(智能体):一只手将底座固定到位,另一只手将瓶盖扭转到位。只将底座固定到位不会影响瓶子姿势的任何变化,而扭转瓶盖而不将瓶子固定到位会导致整个瓶子扭曲,而不仅仅是瓶盖。用一只手握住,然后用另一只手扭动,不会打开瓶子,但同时握住和扭动会打开瓶子。
基于这一直觉,我们提出了一个内在动机的公式,该公式利用了动作的真实效果和单个智能体预测效果的组合之间的差异。然后,我们提出了第二个公式,它使用联合预测模型和组合预测模型之间的预测差异。虽然后一个公式需要在学习控制策略的同时训练一个前向模型,但它有利于对所采取的行动进行分析可微。我们稍后证明着在策略梯度框架中可以利用,以便获得比按原样使用策略梯度更高的样本复杂度。
作为我们的实验重点,我们研究了六个模拟机器人任务:四个双手动作(开瓶、捡球、螺旋旋转和捡杆)和两个多智能体运动(蚂蚁推和足球)。所有任务都有稀疏的奖励:如果目标实现为1,否则0。之所以选择这些任务,既是因为它们需要协同行为,也是因为它们代表了目前最先进的深度强化学习算法的挑战性控制问题(Levine等人,2016;Lillicrap等人,2016;Gu等人,2017;Mnih等人,2016;Nagabandi等人,2018)。在所有的任务中,我们发现通过我们的内在动机公式来形成奖励比两种方法都能产生更有效的学习效果:1)只用稀疏的奖励信号的训练;2)通过更标准的单一个体内在动机公式来形成奖励,称为“惊喜,“这并没有明确鼓励协同行为。我们认为这项工作是朝着通用协同多智能体强化学习迈出的一步。
3 approach
我们的目标是让学习者能够在缺乏外在奖励的环境中完成协同任务。在这样的场景中,一个主要的障碍是探索瓶颈:智能体必须探索大量可能的动作序列才能看到回报。在没有中间外在奖励来指导这种探索的情况下,智能体可以转而依赖内在奖励,这种奖励会使探索行为偏向于“有趣”的行为,这一概念我们将正式化。
为了完成任何协同任务,这些智能体必须协同工作,以它们单独工作时不会发生的方式影响环境。在第3.1节中,我们提出了一个内在动机的公式,该公式可以操作这种洞察力,并允许引导探索走向协同行为,从而更有效地学习期望的任务。在第3.2节中,我们提出了(部分)可微的第二个公式,通过允许我们计算所采取行动的分析梯度,使得学习更加有效。最后,在第3.3节中,我们展示了如何使用我们的公式来有效地学习任务策略。
sA和sB表示代理的本体感觉状态,如机器人手臂的关节配置,s env捕获环境的其余方面,如对象姿势。
3.1 COMPOSITIONAL PREDICTION ERROR AS AN INTRINSIC REWARD
动作按顺序执行和同时执行应该有很大的区别。
我们的关键见解是,我们可以利用动作的真实结果和预期结果之间的差异充当奖励信号,预期结果是让智能体按顺序执行动作。我们可以通过一个组合的前向预测模型来捕捉后者。
在实际应用中,我们使用环境E实例中的随机交互数据对fA和fB进行预训练,只使用一个活跃智能体。这意味着,在置于需要协同行为的多智能体环境中之前,智能体已经对单独行动的效果有了了解。注意,虽然在我们的实验中,随机交互足以学习有用的预测模型fA和fB,但这对公式化并不重要,可以利用替代的单智能体探索策略来收集交互样本。
3.2 PREDICTION DISPARITY AS A DIFFERENTIABLE INTRINSIC REWARD
但是,请注意,在状态s中对动作a的这种“协同性测量”要求明确地观察在环境中执行a的结果。相比之下,当人类思考诸如在握住瓶底的同时拧开瓶盖等协同任务时,我们判断行为是否会产生协同效应,而无需执行它们来做出这种判断。内在奖励对“s”的不依赖不仅在科学上是有趣的,而且在实践上也是可取的。f composed可微,s env不可微。如果我们能将内在奖励重新定义为关于a的可分析可微,我们就可以利用它进行更有效的样本学习。
为此,我们观察到,当组合预测下的预期结果与智能体共同作用时的结果不同时,我们的公式会奖励这样的动作。当我们使用观察到的状态s’作为“当两个智能体共同作用时的结果”的指示时,我们可以在这里使用预测的结果。
本以为联合预测最好的结果就是s env,而且需要训练。然而,我们注意到,这个公式使得内在奖励对于执行的动作a具有可分析的可微性;我们可以在学习算法中利用它来获得更多的信息梯度更新,正如我们在下一节中进一步讨论的那样。
相比之下,我们专注于具有外部(尽管很少)奖励的协同多智能体任务,因此我们的内在动机方法不是为了鼓励学习行为的多样性,而是为了有偏探索,以实现给定任务的样本有效学习。
3.3 LEARNING SPARSE-REWARD SYNERGISTIC TASKS
同时学习f joint和π_θ。这种联合训练不需要收集额外的样本来预训练f joint,并确保使用正在探索的“有趣的”协同作用来训练联合预测模型。
我们的第二个内在奖励公式允许我们利用与采取的行动相关的可微性使策略梯度方法更有效。
回想一下,任何策略梯度算法都会在轨迹上对策略参数θ执行梯度上升。
本文中梯度可写为:
给定一个状态st,并假设可微的采样方式at∼πθ(st),例如使用重新参数化技巧(Kingma&Welling,2014),我们可以解析地计算第二项的内梯度,因为r2(st,at,·)相对于at是可微的(同样,假设回归函数fA,fB和f joint是可微的)。在方程1中,第一项与典型的策略梯度算法计算的相似,不同之处在于使用pθ(τ‘t)而不是pθ(τt);直觉是,我们不应该考虑at的影响,因为它由第二项计算。然而,在实际应用中,我们选择将策略梯度算法视为一个黑箱,并简单地将第二项给出的梯度添加到黑箱算法产生的梯度中。虽然这会导致重复计算某些梯度(每个时间步相对于该时间步的操作的预期回报),但我们的初步实验发现,这对训练的影响最小,并且使实现更加方便,因为可以利用现成的优化器,如PPO。
4 实验
我们将需要协同行为的双手操作任务和多智能体运动任务作为实验平台。我们通过与不使用任何内在奖励或使用其他内在奖励公式的基线进行比较,来确定我们提出的公式的效用。我们还考虑了我们方法的消融,这有助于我们理解不同的内在奖励公式,以及部分可微性的影响。在第4.5节中,我们展示了我们的方法,稍加修改,在具有两个以上智能体的域中仍然有用。
4.1 EXPERIMENTAL SETUP
我们考虑四个双手动操作任务:开瓶器、捡拾球、螺旋旋转和杆捡拾。这些环境被Chitnis等人建议为双手操作任务。(2019年)。此外,我们还考虑了两个多智能体移动任务:蚂蚁推(受Nachum等人所考虑的领域的启发,2019)和足球(改编自Liu等人提供的实现,2019)。所有的任务都涉及到稀疏的奖励,并且需要有效地使用这两个智能体才能解决。我们模拟MuJoCo中的所有任务(Todorov等人,2012)。现在,我们描述任务、状态表示和动作空间。
环境。这四个操作任务是在一张桌子的两端设置两个锯工臂,并将一个对象放置在桌面上。图2中显示了其中两个任务,以及两个多智能体移动任务。
•开瓶:目标是将长方体瓶盖相对于长方体瓶座旋转90°。瓶子被模拟成两个长方体,一个接一个,通过铰链连接,这样在没有相反扭矩的情况下,两个长方体一起旋转。我们在不同的回合中改变瓶子的位置和大小。
•捡球:目标是将滑球举起25厘米。当一只手臂试图举起球时,球会滑出来。我们在不同的回合中改变球的位置和摩擦系数。
•螺旋旋转:目标是将螺旋相对于其底座旋转180°。螺旋被模拟成一个手柄,通过铰链连接在底座上,这样在没有相反的扭矩的情况下,两者一起旋转。我们在不同的回合中改变螺旋的位置和大小。
•捡棍子:目标是将一根长而重的杆子举起25厘米。这根杆子太重,单臂抬不动。我们在不同的回合中改变杆子的位置和密度。
•蚂蚁推:在一个环境中放置两只蚂蚁和一大块。目标是让蚂蚁把块移动到一个特定的区域。为了精确地控制木块,蚂蚁需要把它推到一起,因为当它们试图自己推木块时,常常会翻倒。
•足球:在一个环境中放置两个足球运动员和一个足球。目标是在每一个智能体拥有一段时间后,把球踢到一个特定的区域。因此,两个智能体都必须对球的运动做出贡献。
状态表示。每个智能体的内部状态由本体感觉特征组成:关节位置、关节速度和(对于操纵任务)末端效应器姿势。环境状态由当前时间步、对象的几何信息和对象姿势组成。我们在状态空间上使用一个简单的欧氏度量。所有正向模型都通过三维位置的附加偏移和方向四元数的Hamilton积来预测对象的世界帧姿态的变化。足球任务中不跟踪方向。
动作空间。为了便于在这些环境中学习,我们为系统提供了一个离散的通用技能库,每个技能库都由一些(已学习的)连续参数进行参数化。因此,我们的随机策略πθ将一个状态映射到1)智能体a使用的技能分布,2)智能体B使用的技能分布,3)A的每个连续技能参数的独立高斯分布的均值和方差,以及4)B的每个连续技能参数的独立高斯分布的均值和方差。这些技能可以是手工设计(Wolfe等人,2010年;Srivastava等人,2014年)或从演示中学习(Kroemer等人,2015年);由于这不是本文的重点,我们选择简单的手工设计。在执行某项技能时,如果智能体将要相互碰撞,我们会尝试将它们恢复到执行前的状态。对于操作任务,如果我们找不到实现某项技能的反向运动学解,则它不会执行,尽管它仍会消耗一个时间步。在这两种情况下,奖励都是0。有关这些环境的更多详细信息,请参见附录C。
4.2 IMPLEMENTATION DETAILS
网络体系结构。所有的前向模型和策略都是4层完全连接的神经网络,具有64个单位隐藏层、ReLU激活和一个多头输出来捕获actor和critic。双手操作任务建立在超现实机器人套件上(Fan等人,2018)。对于所有的任务,50路并行训练。
训练细节。我们提出的协同内在回报依赖于前向模型fA、fB和f-joint。我们对单智能体模型fA(resp.fB)用100000个样本经验进行训练,仅采用智能体a的动作。请注意,此预训练不使用任何外部奖励,因此,在所有方法中,外部奖励下的步骤数是可比较的。联合模型f joint和策略πθ从头开始,同时进行优化。我们设置了权衡系数λ=10(见附录D)。我们使用PPO的稳定基线(Hill等人,2018)实现(Schulman等人,2017)作为我们的策略梯度算法。我们使用剪裁参数0.2、熵损失系数0.01、值损失函数系数0.5、梯度剪裁阈值0.5、步骤10个、每次更新4个小批数、每次更新4个优化时段数和学习率为0.001的Adam(Kingma&Ba,2015)。
4.3 BASELINES
Random policy。此基线用作健全性检查,以确保我们对技能的使用不会使任务变得琐碎。
Separate-agent surprise:
Extrinsic reward only:
Non-synergistic surprise:
4.4 RESULTS AND DISCUSSION
图3显示了任务成功率,它是每个环境中不同方法的交互样本数的函数。我们用实线绘制5个随机种子的平均成功率,并对标准差进行阴影处理。现在,我们总结一下我们的三个要点。
1) 协同内在奖励提高了样本效率。我们考虑的任务是困难的,我们使用参数化的技能并不会使任务变得微不足道。此外,这些任务需要两个智能体之间的协调,因此单独的智能体惊喜策略不能很好地执行。如果有足够的训练样本,只给予外部奖励的策略表现得很好。然而,我们使用协同内在奖励来塑造来自环境的外在奖励,可以加速学习,在某些情况下,使用最多5×更少的样本一致地解决任务。
2) 协同内在奖励比非协同内在奖励表现更好。使用我们的协同内在奖励的策略也比非协同惊喜基线更有效。这主要是因为基线策略学会利用联合模型,而不是协同行为。这也解释了为什么非协同惊喜与外在奖励一起使用会损害任务表现(图3中的绿色与红色曲线)。过去使用这种惊喜模型的实验大多局限于游戏,游戏的进展与持续探索相关(Burda et al.,2019);解决机器人任务通常不仅仅涉及惊喜驱动的探索。图4(顶部)给出的额外结果表明,即使我们允许基线附加交互作用在不使用任何外部奖励的情况下对联合预测模型f joint进行预训练(类似于我们的方法对f composed的预训练),我们的方法相对于该基线的竞争优势仍然存在。
3) 分析梯度提高了样品效率。从r1到r2,两个不一样:1.奖励方程。2.如何优化。我们进行了消融来解开这两种变化的影响。图4(底部)显示了没有分析梯度的r2的学习曲线,与前面显示的结果进行了比较。当我们剔除因优化而产生的差异,并将r1和r2作为不同的内在奖励公式进行比较时,r1的表现优于r2(紫色与黄色曲线)。这是意料之中的,因为r2需要在策略的同时训练一个额外的f joint,这最多可以匹配真正的s′env。利用分析梯度,提供了r2更有效的样本优化(棕色与紫色曲线),使其成为一个更好的整体选择。
我们还尝试使用我们的公式,即没有外在奖励的内在动机(λ=0);从质量上讲,智能体学会了协同行动,但其方式并不能解决“任务”,这是明智的,因为智能体不知道任务。有关这些结果的视频,请参见项目网页。此外,在附录D中,我们提供了策略性能与λ的各种设置的关系图。
4.5 EXTENSION: MORE THAN TWO AGENTS
也可用于多智能体任务。一个问题是,随着智能体数量的增加,单智能体前向模型在f-composed中的应用顺序变得越来越重要。为了解决这个问题,我们还尝试在应用程序的所有六个可能的顺序给出的预测中,将f作为一个平均值进行评估,但是我们没有发现这对结果有多大影响。我们把这一重要问题留给今后的工作来彻底处理。
我们在ant push和soccer环境的三个智能体版本上测试了这种方法,发现它仍然提供了一个有用的偏向。见图5。在三智能体蚂蚁推中,我们给出了更难的目标区域;这些区域是手工选择的,使得三个蚂蚁都需要协调来解决这些任务,而不是像以前那样只有两个。在三人制足球比赛中,三名球员在进球前都必须持球。
5 CONCLUSION
在这项工作中,我们提出了一个内在动机的公式,鼓励协同行为,并允许有效地学习稀疏的奖励任务,如双手操作和多智能体移动。我们观察到与非协同形式的内在动机相比有显著的好处。我们的提法依赖于鼓励行动,而这些行动的效果不是由单独行动的个体智能体所能达到的。这将有助于进一步扩展这一概念,并明确鼓励行动顺序,而不仅仅是个别行动,其效果不会由个别智能体实现。此外,虽然我们的内在奖励鼓励在所学的单一策略中的协同行为,但将其扩展到学习一系列不同的策略,从而在训练过程中发现一系列广泛的协同技能,将是一件有趣的事情。最后,最好将域扩展到更复杂的对象类型,例如非对称或可变形对象;特别是对于可变形对象,设计更好的状态表示至关重要。
总结
这篇文章是好久之前看的了,又看见了就顺便回忆一下。这篇文章主要利用了协同行为的效果来促进协同行为的产生,用于机器人协同工作等方面。提出了两个重要的公式来表征动作组合和模型预测,是一个很好的思路。