OpenAI的研究人员开发了一套基于能量的神经网络模型,可以快速学会识别并生成关于概念的实例,比如附近、上方、之间、最近、最远等,并将这些概念用2D点集来表示。模型可以仅在5次演示之后就学会这类概念,并实现了跨领域的概念迁移。
衡量是否达到人类智能,涉及由有限的经验,通过抽象推理和规划、类比推理、创造性问题解决和语言能力的概括,从而将经验整合到概念中,将概念作为理解和推理的基本架构。
这款基于能量的新模型,让智能体能够从任务中学习和提取概念,并使用这些概念来解决多个领域中的其他任务。比如可以在2D粒子环境中应用的学习概念,然后在基于3D的机器人环境中执行相同的任务,无需在新环境中重新训练。
通过基于能量的模型训练的模拟机器人,利用不同2D域中学习到的概念,将手臂导航至两点之间
本研究利用能量函数,让智能体学习分类和生成简单的概念,来解决在不同环境中的两点之间导航等任务。这些概念包括视觉概念(“红色”、“正方形”)、空间概念(“内部”、“在...之上”)、时间概念(“慢”、“之后”),社会概念(“积极”、“有用”)等等。
一旦智能体学会了这些概念,就会成为其理解和推理的基本模块,最近DeepMind和 Vicarious的一些其他研究也表明了这一点。
能量函数让系统可以生成(左)并识别(右)基本概念,比如“正方形”的概念。
构建能量函数:基于关系网络体系结构的神经网络
为了创建能量函数,需要在数学上将概念表示为能量模型。
我们根据以下要素来定义每个概念的能量函数 E(x,a,w):
模型观察到的世界状态(x)
该状态下该实体的注意力掩膜(a)。
作为条件的连续值向量(w),用于指定计算能量的概念
世界上的众多状态由多组实体及其属性和位置组成(比如下面的点,就具有位置和颜色属性)。用于“识别”的注意力掩膜表示模型对某些实体集的关注。
能量模型输出单个正数,表示满足相应概念(零能量)或不满足概念(高能量)。当注意力掩模集中在表示概念的一组实体上时,该概念即被满足,这需要实体处于正确的位置(修改x、生成概念),而且注意力掩膜关注的是正确的实体(修改a、识别概念)。
我们将能量函数构建为基于关系网络体系结构的神经网络,允许其将任意数量的实体作为输入。这个能量函数的参数是由我们的训练程序进行优化的,其他函数是从能量函数中隐式导出的。
这样,我们能够使用能量函数来学习可以执行生成和识别的单个网络,并可以交叉使用从生成到识别的学习概念,反之亦然。(目前已经通过镜像神经元在动物身上观察到了这种效应。)
单一网络的训练
训练数据由(注意掩膜、状态)的轨迹组成,提前生成的轨迹用于确认我们希望模型学习的特定概念。我们为给定概念集提供一组演示(通常为5次)来训练模型,然后将模型置于一个新的环境(X0),并要求其预测下一个状态(X1)和下一个注意力掩膜(a)。
优化能量函数,向训练数据中找到的下一个状态和下一个注意力掩模分配低能量值。与变分自动编码器等生成模型类似,激励模型去学习那些对于压缩任务方面的有用值。我们使用各种概念来训练模型,包括视觉,空间,远近和时间关系,以及二维粒子环境中的量化。
空间区域概念:给出2D示例点(左),推断该点上的能量函数(中间),然后使用能量上的随机梯度下降来生成新的点(右)
模型在概念生成和识别训练中分享经验,实现迁移学习
我们在一系列任务中对模型进行了评估,旨在测试单一系统识别和生成相同概念下的目标的能力,我们的系统可以学习分类,可以生成特定的空间关系集,还可以以特定方式通过场景对实体进行导航,或者可以对数量(比如一个、两个、三个或三个以上)或接近度等概念进行比较准确的判断。
数量概念:示例注意力掩膜在一个、两个、三个或三个以上的目标上的表现,可推断用于生成类似数量概念的注意力掩模
模型在学习概念的生成(通过在状态向量x中移动目标实现)和识别(通过在固定状态向量上更改注意力掩膜实现)之间分享经验时的表现更好:在我们对共同执行这两类任务的模型进行评估时发现,它们的表现都比仅在各自执行单一任务训练的模型更好。
此外,我们还发现了迁移学习的迹象。只在概念识别环境中训练过的能量函数,也能很好地执行概念生成任务,即使其没有经过明确的训练。
未来方向:进一步探索概念和语言理解的关系
我们很高兴能够在更丰富的三维环境中学到的更广泛的概念,将概念与智能体决策策略相结合(因为到目前为止,我们只是将概念视为从被动体验中学到的东西),并探索概念和语言理解之间的联系。