专栏首页AI科技大本营的专栏如何通过结构化智能体完成物理构造任务?| 技术头条

如何通过结构化智能体完成物理构造任务?| 技术头条

作者 | Victor Bapst, Alvaro Sanchez-Gonzalez,Carl Doersch, Kimberly L. Stachenfel

译者 | Linstancy

编辑 | 一一

出品 | AI 科技大本营(ID:rgznai100)

摘要

物理构造 (physical construction) 是根据物理动力学原理构造带有一些功能的物体的能力,这是人类智能的基础。在这篇论文中,受积木游戏的启发,研究者们介绍了一系列具有挑战性的物理构造任务,如匹配目标配置、堆叠和附加积木以便连接物体,并创建类似于 shelters 的目标结构等。

随后,作者进一步介绍如何通过深度强化学习的智能体来完成这一系列的物理构造任务。实验结果表明,相比于那些使用较少结构化表征的策略,使用结构化表征 (如物体和场景图)和结构化策略(如目标中心动作) 的智能体能够实现更好的任务表现。当更大的场景目标(通常超过训练时所使用的场景)需要使用推理时 ,结构化智能体有着更佳的泛化表现。

此外,在大部分的物理构造问题上,相比那些无模型的智能体 (model-free agent),通过蒙特卡洛搜索法 (Monte-Carlo Tree Search) 进行模型规划的智能体 (model-based agent) 也能取得更显著的表现。总的来说,对于智能体而言,将结构化表征和推理与强大的学习相结合,是使其拥有丰富直观的物理,场景理解和规划能力的关键。

简介

现实世界中有许多建筑物,如堡垒、金字塔、空间工作站等。而对于这些物理构造物,AI 智能体能实现吗,这也是本研究所要解决的问题,探索学习并解决这一系列任务的方法。

所谓的物理构造问题,涉及物理动力学知识,在约束条件下构造多个元素以实现具有丰富功能的目标。下图 1 是模拟一套物理施工任务的流程,这与小孩玩积木类似,需要通过堆叠和叠加多个积木来连接成具有各种功能性的物体。例如,一个任务需要在障碍物周围堆叠块来连接目标物,而另一项任务需要建造 shelters 来掩护的目标块,并保持其处于干燥的环境。这些任务都体现了现实世界在建造施工时会碰到的挑战:即强调问题的解决及其功能性,而不是简单地复制某种给定的配置以用于新环境。这反映了人类在施工建造过程中的预见性和目的性,与人类智能密切关联。

图1 物理构造任务。 在所有任务中,深蓝色物体是常规块,浅蓝色块是粘性块,红色物体是不能触摸的障碍物,灰色圆圈表示粘在一起的块之间的点。黑线表示地板,用于将下面的块分离出来。(a) 剪影任务 (Silhouette):智能体通过堆叠块来匹配目标块 (描绘为浅绿色块)。(b) 连接任务:智能体通过堆叠块来将蓝色的小目标连接到地板。(c) 遮挡任务:智能体堆叠块从上方遮挡障碍物。(d) 遮挡困难任务:与遮挡任务类似,但关键是此时智能体只能移动有限的块。

尽管传统的 AI 技术已经广泛用于物理推理研究,但使用深度学习方法解决物理构造任务的研究仍需要进一步探索。本研究旨在探索现代人工智能体在物理构造中的应用,主要的贡献有:(1) 使用包括向量、序列、图像和图形等结构化表征和场景。(2) 使用绝对或目标中心坐标表示连续和离散的动作。(3) 通过深度 Q-learning 的无模型学习 (model-free learning) 或 actor-critic learning。(4) 通过蒙特卡洛搜索 (MTCS) 进行规划。

物理构造任务

这里使用的模拟任务环境是连续的,并且由程序 Unity 和 Box2D 物理引擎生成的 2D 世界。每个时期都包含不可移动的障碍物、目标物体和地面,以及可移动、可拾取放置的矩形块。

每个时期的终止条件包括:

(1) 当一个可移动块接触到障碍物,或当它被放置在一个障碍物重叠位置时。

(2) 当超过最大行动次数时。

(3) 达到任务所特定的终止条件时,每个任务的特定条件如下述。

  • 剪影任务 (Silhouette task):如图1a,智能体必须移动矩形块并将其与场景中的目标块重叠,同时避免接触到障碍物。当所有目标块具有超过90%的重叠时认为该任务完成终止。
  • 连接任务:如图1b,智能体必须将矩形块堆叠到三个不同的位置,以便与地面连接,同时避免与障碍物在同层内排列。当所有的目标块都连接地面时,认为该任务完成。
  • 遮挡任务:如图1c,智能体必须构建一个 shelter 来遮挡所有的障碍物,且不接触它们。当超过99%的障碍物表面被遮挡时,则认为该任务完成。
  • 遮挡困难任务:如图1d,与遮挡任务相似,这里智能体同样需要构建一个 shelter 来遮挡障碍物。但此时需要更长远的规划,因为可移动的块是有限的,且障碍物的分布更密集,成本更高,粘性较低。因此,该任务结合了以上三种任务的限制,其终止条件与遮挡任务一致。

智能体

对于智能体的状态和表现,该如何进行监测和衡量?在这里提供了几种方法和指标来观察智能体的建造状态、内部表示、学习算法和动作策略等,如下图2所示:

图2 所有智能体结构

观察形式 (observation format)

每个建造任务都将提供目标的状态或图像,这两种形式对于智能体而言是很重要的,最终希望的是智能体能够使用一些符号输入,如计算机辅助表征或是传感器的原始输入等。

编码器 (encoder)

使用两种类型的内部表征:固定长度向量和定向带有属性的图表来计算输入策略。其中 CNN encoder 将输入图像嵌入为矢量表征,RNN encoder 将通过 RNN 结构顺序处理目标状态的输入矢量。Graph encoder 将一组状态输入向量转换到图标中,并为每个输入目标创建节点。Per-object CNN encoder 将从图像中生成基于图形的表征。

策略 (policy)

MLP policy:基于给定的矢量表征,得到一个多层感知器 MLP 的策略,输出动作或 Q 值,这取决于所使用的算法。

GN policy:通过 graph encoder 或 per-object CNN 得到一个基于 graph 的表征,随后使用三个图网络 GN 的堆栈网络,其中第二个网络处理一些数字的循环步骤,这与“编码-处理-解码”的思路是一致的。

动作 (actions)

这里提出了一种以目标为中心 (object-centric) 的绝对动作形式,称为 relative actions。具体来说,在场景中,智能体能够在推理过程中考虑目标间的关系来采取行动,这与人类的思考、行动方式类似。这里主要包括如下四种动作形式:连续绝对动作 (continuous absolute actions)、连续关系动作 (continuous relative actions)、离散绝对动作 (discrete absolute actions)、离散关系动作 (discrete relative actions) 等,每种类型动作具体解释请参见论文中的说明。

学习算法 (learning algorithms)

使用内部矢量和图形表征,通过显示策略和 Q 函数来生成动作。

RS0 学习算法:用于连续动作输出,使用 actor-critic 学习算法并结合随机值梯度算法。

DQN 学习算法:用于离散动作输出,使用 Q-learning 实现带边缘 Q 值的DQN 网络。

MCTS:由于 DQN 智能体的输出是离散动作,因此很容易将其余标准的规划技术相结合,如 MTCS。在这里,使用 DQN 的智能体作为 MTCS 的先验,并通过不同的 MTCS 设置来改变学习经验分布。

实验分析

通过一系列的实验来评估所提出的智能体在物理构造任务上的有效性。为了训练的有效性,在实验过程采用课程学习方法来增加每个训练时期的任务的复杂性。例如,在 Silhouette task 中的课程学习能够增加目标的数量,在连接任务中它能够增加目标的高度,在遮挡任务中它能够提高障碍物的高度等。

关系与绝对动作的对比实验分析 (relative versus absolute actions)

实验结果表明,使用关系动作的智能体表现明显优于那些使用绝对动作的智能体。在任务中,几乎每个关系智能体都会收敛在一个相似或更高中位数的表现水平,如图3a所示。当平均到所有课程水平时,关系智能体的最好表现比绝对智能体多出1.7倍的奖励值,而如果只考虑最先进水平,这个差异值将高达2.4倍,如图3b 所示。

图3c 列出绝对智能体的一些最佳表现例子,而图3d 展示的是关系智能体的一些最佳例子。

图3 绝对动作和关系动作智能体的对比。 (a) 平均到所有课程水平时两种智能体所获奖励对比。(b) 对于每个课程的最困难水平,两种智能体获得的奖励对比。(c-d) 对于每个课程的最困难水平,两种智能体在四种任务上表现的量化对比。

有无模型的对比实验分析 (model-based versus model-free)

通常复杂的建造任务需要更长期的规划策略,而不是简单的反应性策略。因此,如上文所述,这里采用基于 MCTS 策略来增强 GN-DQN 智能体,并在多种不同环境下评估其表现。实验结果如图4所示,可见规划策略对于智能体的表现是有效的,特别是对于连接和连接困难任务。

图4 (a-d) 对于最困难的课程水平,GN-DQN-MCTS 智能体在不同训练和测试成本下的表现对比。其中,灰色虚线代表搜索成本计划为1000的智能体表现。(e-h) 从每个任务中随机选择的任务时期,GN-DQN-MCTS 的代表性结构。其中,silhouette 和连接任务的训练成本和测试成本分别采用0和50,遮挡任务的训练和测试成本分别使用0和5,而遮挡困难任务中的智能体所使用的训练和测试成本都为10。

泛化表现分析 (generalization)

如图5所示,当应用到更大的场景时,GN-DQN 智能体,特别是 GN-DQN-MCTS 智能体具有非常不错的泛化表现,如在 Silhouette task 中,GN-DQN-* 智能体在训练阶段能够覆盖到近乎两倍的目标数量,而其他智能体的表现有明显的下降。在多个目标连接任务中,虽然 GN-DQN-* 智能体的表现略有下降,但其他的智能体表现近乎为0。此外,图6中 d-f 定性地显示 GN-DQN-MCTS 智能体的泛化表现,总的来说,通过结构化的表征,智能体在更复杂的场景下也能够有鲁棒性的表现。

图5 多种智能体的零目标泛化表现。(a) Silhouette task,目标数量在8到16之间变化。(b) 连接任务,改变目标的位置到同一水平或不同水平。(c) 连接任务,障碍物层的数量由3到4。(d-f) GN-DQN-MCTS 智能体泛化到新场景的表现。

迭代关系推理分析 (iterative relational reasoning)

通过场景图的信息传播,Recurrent GN结构支持迭代关系推理。通过改变 GN-DQN 智能体迭代的步数来衡量其关系推理能力。实验结果表明,增加信息传播的步数,能够提高智能体的推理能力。

结论与讨论

本研究主要内容通过 RL 智能体来解决一系列物理构造任务问题。实验结果表明,通过结构化图形表征,在基于模型的规划和 MCTS 策略下,智能体能够实现强大的性能和鲁棒的泛化能力。这项工作是第一个关于智能体在复杂环境中学习物理构造任务的研究,结合丰富的结构和强大的学习能力是解决问题的关键。在未来的研究中,可以寻求目标检测和分割的整合方法来学习计算机视觉目标之间的推理关系,可以继续探索模型学习和更复杂的搜索策略等。

原文链接:https://arxiv.org/pdf/1904.03177.pdf

(本文为 AI大本营编译文章,转载请微信联系 1092722531)

本文分享自微信公众号 - AI科技大本营(rgznai100),作者:爱分享技术的

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-04-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如果你还没搞懂LSTM 网络,那本文绝对值得一看

    本文作者Christopher Olah是Google Brain的研究科学家,她在文中图文并茂地解释了什么是LSTM网络,为什么要用LSTM网络,以及LSTM...

    AI科技大本营
  • 情人节脱单必备,程序员如何花式表白?

    每到情人节,脑洞大开的程序员们就纷纷出动,想出了各种别出心裁的表白代码。虽然结局不一定美好,但这些也是一种撩妹手段。

    AI科技大本营
  • 硬货 | 一文了解深度学习在NLP中的最佳实践经验和技巧

    编译 | AI科技大本营(rgznai100) 参与 | JeyZhang,鸽子 在NLP社区中曾流行着这样一个玩笑,说是一个带注意力机制的LSTM模型在任何的...

    AI科技大本营
  • Task之任务的创建

    我们在《任务是啥?》里提到过,Task可以看作是Stack和TCB组成的。因此taskSpawn()的第一步就是为Stack和TCB分配内存,然后初始化它们,最...

    Taishan3721
  • CVPR18最佳论文演讲:研究任务之间的联系才是做迁移学习的正确姿势

    AI 科技评论按:今年 CVPR 2018 最佳论文《Taskonomy: Disentangling Task Transfer Learning》(任务学:...

    AI科技评论
  • 通过分析Github众多前端代码库,总结出来的前端代码书写规范

    永远一致同一套编码规范,可以是这里列出的,也可以是你自己总结的。如果您发现本规范中有任何错误,敬请在问题中指正。

    用户5997198
  • 烽火R2600交换机配置脚本

    landv
  • 习题2:注释和井号

    I could have code like this. This will run.

    py3study
  • 白话解说,半分钟就懂 ---建模Matlab中符号运算和数值运算的区别?

    两者的根本区别是 : 数值计算的表达式、矩阵变量中不允许有未定义的自由变量 , 而符号计算可以含有未定义的符号变量。对于一般的程序设计软件如 C, C + + ...

    瑞新
  • H3C交换机python命令下发脚本

    新时代网工编程能力变成比敲命令更重要的能力了,大潮流已经无法改变。最近一直在研究python里面的netmiko作为ssh的方法。把第一个脚本共享出来大家研究一...

    py3study

扫码关注云+社区

领取腾讯云代金券