Relational Deep Reinforcement Learning

Abstract

我们介绍了一种深度强化学习的方法,它通过结构化感知和关系推理提高了传统方法的效率、泛化能力和可解释性。它使用self-attention来迭代推理场景中实体之间的关系,并指导无模型策略。我们的结果表明,在一种名为Box-World的新的导航和规划任务中,我们的agent找到了可解释的解决方案,这些解决方案在样本复杂性、泛化到比训练期间所经历的更复杂的场景的能力以及整体性能方面都有所改善。在星际争霸II学习环境中,我们的agent在六个迷你游戏上实现了最先进的表现,超过了人类特级大师在四个游戏上的表现。通过考虑架构归纳偏差,我们的工作为克服深度强化学习中重要但顽固的挑战开辟了新的方向。

Introduction

深度强化学习最新进展在一定程度上是由一种能力推动的,即学习良好的内部表示以告知agent的策略。不幸的是,深度强化学习模型仍然面临着重要的限制,即样本效率低,并且倾向于不将其泛化到任务中极小的变化。这些限制表明,大容量的深度强化学习模型往往过度适应它们所训练的大量数据,因此无法学习到对它们试图解决的问题的抽象、可解释和可概括的理解。

在这里,我们通过利用20多年前关系强化学习保护伞(RRL)下的强化学习文献中介绍的见解来改进深度强化学习架构。RRL提倡使用关系状态(和动作)空间和策略表示,将关系学习(或归纳逻辑编程)的泛化能力与强化学习相结合。我们提出了一种在深度学习提供学习动力的同时利用这些优势的方法。我们的方法主张学习和重用以实体和关系为中心的函数,以隐式推理而不是关系表示。

我们的贡献如下:(1)我们创建并分析了一个名为Box-World的强化学习任务,它明确地面向关系推理,并证明了具有使用基于注意力的非局部计算产生关系表示的agent比没有使用非局部计算的agent显示出有趣的泛化行为;(2)我们将该agent应用于一个困难的问题–星际争霸II迷你游戏,并在六个迷你游戏上实现了最先进的性能。

在这里插入图片描述

图1:盒子世界和星际争霸II任务需要对实体及其关系进行推理。

Relational reinforcement learning

RRL背后的核心思想是通过使用一阶(或关系)语言表示状态、动作和策略,将强化学习与关系学习或归纳逻辑规划相结合。从命题表示转换为关系表示可促进对目标,状态和动作的泛化,从而利用在较早学习阶段学到的知识。此外,关系语言还便于背景知识的使用。可以通过与学习问题相关的逻辑事实和规则来提供背景知识。

例如,在块世界中,当指定背景知识时,可以使用上面的谓词(S,A,B)来指示在状态S中块A在块B之上。例如,这样的谓词可以在学习块C和块D的过程中使用。代表性语言、背景和假设形成了归纳偏见,引导(和限制)寻找好的策略。语言(或陈述性)偏见决定了概念的表达方式。

神经网络传统上与属性值或命题强化学习方法相关联。在这里,我们使用神经网络模型,将思想从RRL转换为深度强化学习agent中体系结构指定的归纳偏差,该神经网络模型对组织结构的表示方式(即实体集)进行操作,并通过迭代的、类似于消息传递的处理模式执行关系推理。实体对应于图像的局部区域,agent学习关注关键对象并计算它们的成对和高阶交互。

Architecture

我们为一个深度强化学习agent配备了可能更适合学习(和计算)关系的体系结构归纳偏见,而不是像在RRL中那样将它们指定为背景知识。这种方法建立在以前工作的基础上,该工作表明,关系计算不一定要受到实体空间邻近性的影响,也可以从迭代结构化推理中获益。

我们的贡献基于两个指导原则:使用共享函数的非局部计算和迭代计算。我们表明,与只计算局部交互的agent相比,使用共享函数计算实体之间的成对交互(与实体之间的空间邻近程度无关)将更适合学习重要关系,例如在平移不变卷积中。此外,迭代计算可能能够更好地捕捉实体之间的高阶交互作用。

Computing non-local interactions using a shared functionAmong

在一系列相关的非局部交互计算方法中,我们选择了一种计算效率高的注意机制。这种机制与图神经网络和更一般的消息传递计算有相似之处。在这些模型中,实体与实体的关系是在考虑图的连接节点之间传递的消息时显式计算的。

在这里插入图片描述

图2:Box-World agent体系结构和多头点积注意力。E是一个矩阵,它编译由视觉前端产生的实体;fθ是一个多层感知机,平行于MHDPA步骤A的输出的每一行,并产生更新的实体波浪E。

我们首先假设我们已经有了一组必须进行交互的实体。我们认为多头点积注意力(MHDPA),或self-attention,是计算这些实体之间互动的操作。

对于 N N 个实体( e 1 : N e_{1:N} ),MHDPA将每个实体 i i 的状态向量 e i e_i 分别投影到查询、键和值向量表示: q i q_i k i k_i v i v_i ,随后使用[31]中的方法将其活动归一化为具有0均值和单位方差。通过点积将每个 q i q_i 与所有实体的键 k 1 : N k_{1:N} 进行比较,以计算非归一化显著性 s i s_i 。这些被归一化为权重, w i = s o f t m a x ( s i ) w_i=softmax(s_i) 。对于每个实体,通过所有实体的值向量的加权混合来计算累积交互, a i = j = 1 : N w i , j v j a_i=\sum_{j=1:N}w_{i,j}v_j 。这可以使用矩阵乘法紧凑地计算出来:

A = s o f t m a x ( Q K T d ) V A=softmax\left(\frac{QK^T}{\sqrt{d}} \right)V

其中 A A Q Q K K V V 将累积的交互、查询、关键字和值编译成矩阵,并且 d d 是用作缩放因子的关键字向量的维度。与[14]一样,我们使用并行应用的多个独立的注意力“头部”,我们的注意力可视化分析(参见结果4.1)表明,通过训练,可能会采用不同的关系语义。将由 h h 索引头部的向量 a i h a_i^h 连接在一起,将其传递到具有与 e i e_i 相同的层大小的多层感知器(具有RELU非线性的2层MLP),与i相加(即,剩余连接),并且通过层归一化来变换以产生输出。图2描述了这种机制。

我们把这个过程的一种应用称为“注意力块”。单块执行非局部成对关系计算,类似于关系网络和非局部神经网络。具有共享(递归)或非共享(深度)参数的多个块可以更容易地近似高阶关系,类似于图上的消息传递。

Extracting entities

在处理非结构化输入时,例如RGB像素,我们需要一种机制来表示相关实体。我们决定做一个最小的假设,即实体是位于空间中的一个特殊点。我们使用卷积神经网络(CNN)将像素输入解析成 n × n n\times n k k 个特征图,其中 k k 是CNN的输出通道数。然后,我们将 x x y y 坐标级联到每个 k k 维像素特征向量,以指示像素在图中的位置。我们将得到的 n 2 n^2 像素特征向量编译成一个 n 2 × k n^2\times k 的矩阵 E E ,作为实体集。正如在[13]中一样,这提供了一种有效而灵活的方式来学习相关实体的表示,同时不知道什么可能构成特定问题的实体。

Agent architecture for Box-World

我们采用基于重要性加权Actor-Learner架构的分布式agent,采用了actor-critic设置。该agent由100个actor(它们产生经验轨迹)和一个单独的learner(使用actor的经验直接学习策略 π \pi 和基线函数 V V )组成。模型更新是在GPU上使用actor通过队列提供的32个轨迹的mini-batch进行的。

完整的网络架构如下。首先通过两个卷积层处理输入的观测值,每个卷积层具有12个和24个核,2×2核大小和跨度为1,然后是整流线性单位(ReLU)激活函数。使用两个额外的通道标记输出,这些通道使用介于-1和1之间的均匀间隔值来指示特征图中每个像元的空间位置( x x y y )。然后,使用共享权重将其传递到由可变数量的堆叠MHDPA块组成的关系模块(如上所述)。关系模块的输出使用跨空间的特征最大池(即池化一个 n × n × k n\times n\times k 张量成一个 k k 维向量)进行汇总,最后传递给一个小的MLP以生成策略logit(归一化并用作多项式分布,从中对操作进行了采样)和基线标量 V V

我们的基线控制agent用可变数量的残差卷积块替换了MHDPA块。请参阅附录以获取更多详细信息,包括超参数选择。

Agent architecture for StarCraft II

StarCraft II agent使用了相同的设置,但在网络架构上有一些差异,以适应StarCraft II学习环境的特定要求(SC2LE)。特别是,我们使用2个残差块增加了其容量,每个残差块由3个具有3×3核的卷积层,32个通道和步幅1组成。我们在残差块的下游立即添加了2D-ConvLSTM,以使agent能够处理最近的历史。我们注意到,这对于《星际争霸》至关重要,因为行动者行动的后果并不一定是其未来观察的一部分。例如,假设agent选择在时间 t t 沿某个路径移动海军陆战队。在 t + τ t+\tau 时刻,agent的观察可能会描绘出其他位置的海军陆战队,但未描绘出路径的细节。在这些情况下,agent倾向于重新选择它已经选择的路径,而不是继续选择其他动作。

对于输出,与动作 a a 和值 V V 一起,网络生成了两组与动作相关的参数:非空间参数( A r g s Args )和空间参数( A r g s x , y Args_{x,y} )。这些参数用作特定动作的修饰符。 A r g s Args 是由聚合函数的输出产生的,而 A r g s x , y Args_{x,y} 是对关系模块的输出进行上采样的结果。

与Box-World中一样,我们的基准控制agemt用可变数量的残差卷积块替换了MHDPA块。有关更多详细信息,请参见附录。

在这里插入图片描述

图3:Box-World任务:示例观察结果(左),确定最终目标的正确路径的基础图结构以及所有干扰因素分支(中间)和训练曲线(右)。

Experiments and results

Box-World
Task description

Box-World是一个感知上简单但组合复杂的环境,需要抽象关系推理和规划。它由一个12×12像素的房间组成,里面随机散布着钥匙和盒子。房间中还包含一个由单个深灰色像素表示的agent,该agent可以在四个方向上移动:上,下,左,右(见图1)。

钥匙由单个彩色像素表示。agent可以通过在其上走动来捡起一个松散的钥匙(即一个不与任何其他彩色像素相邻的钥匙)。盒子由两个相邻的彩色像素表示–右侧的像素表示盒子的锁,其颜色表示可以使用哪个钥匙打开该锁;左侧的像素表示该盒子的内容,该盒子被锁定时无法访问。

要收集盒子中的内容,agent必须首先收集打开盒子的钥匙(与锁的颜色匹配的钥匙),然后越过锁,这会使锁消失。此时,该盒子的内容将变得可访问,并且可以由agent拾取。大多数盒子包含的钥匙(如果可以访问的话)可用于打开其他盒子。其中一个盒子包含一颗宝石,由单个白色像素表示。agent的目标是通过解锁包含宝石的盒子并在宝石上走来捡起宝石来收集宝石。agent拥有的钥匙在输入观察值中以左上角的像素表示。

在每个关卡中,都有一个唯一的盒子序列需要打开才能到达宝石。打开一个错误的盒子(一个干扰物盒子)会导致无法到达宝石的死角,并且关卡无法解决。有3个用户控制的参数会导致难度增加:(1)达到目标的路径中的盒子数(解决方案长度); (2)干扰分支的数量; (3)干扰分支的长度。通常,由于一些原因,该任务很难进行计算。首先,钥匙只能使用一次,因此agent必须能够推理出某个特定的盒子是沿着干扰分支还是沿着解决路径移动;其次,钥匙和盒子出现在房间的随机位置,强调了关于钥匙和盒子的原因是基于它们的抽象关系,而不是基于它们的空间位置。

在这里插入图片描述

图4:注意力权重的可视化。 (a)一个示例级别的基础图; (b)使用求解路径(1-5)上的每个实体作为关注源,对该级别进行分析的结果。箭头指向源所在的实体。箭头的透明度取决于相应的注意权重。

Training results

训练设置由Box-World级别组成,解决方案长度至少为1且最多为4。这确保了未经训练的agent至少在某些级别上偶然达到目标的可能性很小。干扰分支从0到4随机取样。训练分为两种方法:一种是长度为1的干扰分支;另一种是干扰分支的长度为3(见图3)。

使用我们的关系模块增强的agent在此任务的两个变量中均达到了接近最佳的性能,解决了98%以上的问题。在具有短干扰分支的任务变体中,具有单个注意块的agent能够实现最佳性能。在长干扰项分支的变体中,需要更多数量的注意力块,这与这样的推测相一致,即更多的块允许进行高阶关系计算。相比之下,我们的只能依靠卷积层和完全连接层的控制agent的性能明显较差,在两个任务变体中的解决率不到75%。

我们重复了这些实验,这次是在用于生成关卡的基础图中向后分支。通过向后分支,agent不需要对未来进行规划;当拥有钥匙时,成功的策略始终是打开匹配锁。相反,通过前向分支,agent可以在错误的锁上(即在分心支路上的锁上)使用钥匙。因此,与后向分支相比,前向分支需要更复杂的前向计划来确定要打开的正确锁,agent可以采取更被动的策略,而后向分支总是选择打开与所拥有密钥匹配的锁(请参阅附录中的图6)。

Visualization of attention weights

接下来,我们查看由 s o f t m a x ( Q K T d ) softmax(\frac{QK^T}{\sqrt{d}}) 生成的矩阵的特定行;具体而言,将那些行映射到观察空间中的相关对象。图4显示了当参与实体(注意力来源)是解决路径上的对象时的分析结果。对于其中一个关注头来说,每个钥匙都主要使用可以用该钥匙解锁的锁。换句话说,注意权重反映了收集到某个钥匙后agent可用的选项。对于另一个注意头,每个钥匙都主要位于agent图标上。这表明将每个对象与agent相关联,例如可以提供相对位置的度量,从而影响agent的导航。

在RGB像素输入的情况下,钥匙和可以用该钥匙打开的锁之间的关系由于以下事实而混淆:钥匙和相应的锁具有相同的RGB表示。因此,我们这次使用输入的one hot表示重复了分析,其中钥匙和相应锁之间的映射是任意的。我们发现了以下证据:(1)钥匙附加到他们可以解锁的锁;(2)锁附加到可以用来解锁的钥匙;(3)所有的物体都附加到agent的位置;(4)agent和宝石相互附加。

在这里插入图片描述

图5:Box-World中的泛化。零样本转移到需要以下条件的级别:(a)沿着箱子顺序打开;(b)使用在训练期间从未需要的钥匙锁组合。/center>
Generalization capability: testing on withheld environments

正如我们所观察到的,注意力权重捕捉到了钥匙与其对应的锁之间的联系,使用的是跨实体的共享计算。如果用于计算权重的函数(因此,用于确定某些钥匙和锁是相关的)已经学会了表示“解锁”意味着什么的一些一般性的抽象概念–例如,unlock(key,lock)–那么这个函数应该能够泛化到它在训练期间从未观察到的钥匙-锁的组合。同样,理解“解锁”的能力不一定会受到需要解锁才能得到解决方案的锁数量的影响。

因此,我们在两个条件下测试了这个模型,没有进一步的训练:(1)在需要打开比它所观察到的更长的盒子序列(6,8和10)的水平上,和(2)在需要使用在训练期间到达宝石时从未需要的钥匙-锁组合的水平上,而只是放在分支装置的路径上。(2)在没有进一步训练的情况下,我们测试了这个模型:(1)水平需要打开比它观察到的更长的盒子序列(6,8和10);在第一种情况下,具有相关模块的agent在所有三种长度条件下解决了88%以上的水平。相反,没有关系模块训练的agent在6盒序列上的性能崩溃到5%,在8和10序列上的性能崩溃到0%。在有新的钥匙锁组合的级别上,添加关系模块的agent解决了97%的新级别。没有关系模块的agent表现很差,只有13%。综上所述,这些结果表明,关系模块赋予了我们的agent至少在一定程度上对更复杂和以前未见过的问题进行零机会转移的能力,这是一项到目前为止很难使用神经网络获得的技能。

在这里插入图片描述

表1:星际争霸2迷你游戏使用全套动作的平均得分。↑表示得分高于星际争霸特级大师。小游戏:(1)移动到灯塔,(2)收集矿物碎片,(3)找到并击败小狗,(4)击败蟑螂,(5)击败小狗和毒虫,(6)收集矿物和天然气,(7)建造海军陆战队。

StarCraft II mini-games
Task description

星际争霸II是一款流行的视频游戏,对强化学习提出了非常严峻的挑战,它是一款多智能体游戏,每个玩家控制着大量(数百个)需要交互和协作的单位(见图1)。它是部分可观察的,有很大的动作空间,有100多个可能的动作。任何单个动作的后果–特别是游戏中的早期决策–通常要在许多帧之后才能观察到,这给时间信用分配和探索带来了困难。

我们对我们的agent进行了训练,介绍了为星际争霸II学习环境开发的7款迷你游戏(SC2LE)。这些迷你游戏被提出为一组特定的场景,这些场景代表了整个游戏的机制,与完整的游戏相比,可以用来在更简单的设置中测试agent,并且奖励结构定义得更好。

Training results

对于这些结果,我们使用了SC2LE提供的完整动作集,并根据每个迷你游戏30集以上的平均得分来衡量性能。我们的agent实现在所有小游戏中都取得了很高的分数(表1)。特别值得一提的是,该agent增加了一个关系模块,在六个迷你游戏中获得了最先进的结果,并且在其中四个游戏中其性能超过了人类特级大师。

在我们的两个实现之间的面对面比较表明,在所有的小游戏中,具有关系组件(关系)的agent比没有(控制)的agent获得了相同或更好的结果。我们注意到,这两个模型都比以前最好的[15]有了很大的改进,这可以归因于许多因素:更好的RL算法[32],更好的超参数调整来解决信用分配和探索问题,更长的训练时间,改进的体系结构,以及不同的动作选择程序。接下来,我们将重点放在关系归纳偏差所提供的差异上,并转向特定的泛化测试来确定控制主体和关系主体的行为特征。

Generalization capability

正如Box-World中所观察到的,更好地理解底层关系结构的能力-而不是拘泥于表面统计数据-可能表现为对前所未有的情况进行更好的泛化。为了测试SC2的泛化性,我们让接受过收集矿物碎片训练的agent,包括使用两名海军陆战队士兵收集随机散落的矿物,并在没有进一步训练的情况下,在允许agent控制矿物的修改水平上对它们进行测试。直觉上,如果agent理解海军陆战队是独立的部队,可以协调,但又可以独立控制收集资源,那么增加可用的海军陆战队人数应该只会影响部队部署的基本战略,而不应该灾难性地破坏模型的性能。

我们观察到-至少对于中等规模的网络-可能有一些有趣的泛化能力,在测试场景中,最好的关系agent种子可以获得更好的泛化分数。然而,我们注意到这些结果具有很高的可变性,当使用更大的模型时,效果会减弱(这可能更容易在训练集上过度拟合)。因此,需要更多的工作来理解在星际争霸II中使用关系agent的泛化效果(参见附录中的图7)。

考虑到整个游戏的组合丰富性,一个agent经常暴露在它没有接受过训练的情况下。因此,通过更好地理解潜在的、抽象的关系,提高泛化到新情况的能力是很重要的。

Conclusion

通过将结构化感知和关系推理引入深度强化学习体系结构,我们的agent可以学习可解释的表示,并在样本复杂性、泛化能力和整体性能方面超过基线agent。这展示了将RRL的洞察力与深度学习的代表性力量相结合的主要好处。我们没有试图直接描述内部表征,而是呼吁:(1)行为分析,(2)分析我们用来计算实体-实体交互作用的注意机制的内部机制。(1)结果表明,学习的表征允许更好的泛化,这是关系表征的特点。(2)表明模型的内部计算是可解释的,并且与我们期望的计算任务相关关系的模型的计算是一致的。

未来的工作可以利用计算机视觉来实现更复杂的结构化知觉推理机制,以及分层强化学习和规划,以允许结构化表示和推理更完全地转化为结构化行为。通过传统RRL中哪种标准代码的镜头,进一步探索agent学习表示的语义也将是重要的。

更具推测性的是,这项工作模糊了无模型agent和有能力进行更抽象规划的agent之间的界限。基于模型的方法的一个重要特征是使环境的一般知识可用于决策。这里,我们对以实体和关系为中心的表示和迭代推理的归纳偏向反映了关于世界结构的关键知识。虽然不是技术意义上的模型,但agent可能会学习利用这种关系架构先验,类似于基于想象的agent的向前模型是如何操作的。更广泛地说,我们的工作通过灵活的统计学习和更结构化的方法的原则性混合,为强化学习开辟了新的方向。

参考资源

[1] Zambaldi, Vinicius, et al. “Relational deep reinforcement learning.” arXiv preprint arXiv:1806.01830 (2018). [paper]

猜你喜欢

转载自blog.csdn.net/u010705932/article/details/105746799
今日推荐