OpenAI研究 学习具有能量函数的概念
我们开发了一种 基于能量的模型 ,可以快速学习识别和生成概念实例,例如近处、上方、之间、最近和最远,表示为二维点集。我们的模型仅在五次演示后就学会了这些概念。我们还展示了跨域迁移:我们使用在 2d 粒子环境中学习的概念来解决基于 3 维物理的机器人的任务。

人类智能的许多特征,例如从有限经验中概括、抽象推理和规划、类比推理、创造性解决问题以及语言能力,都需要将经验整合为概念的能力,这些概念是理解和推理的基本组成部分 。我们的技术使代理能够从任务中学习和提取概念,然后使用这些概念来解决各个领域中的其他任务。例如,我们的模型可以使用在二维粒子环境中学习的概念让它在基于物理的三维机器人环境中执行相同的任务——无需在新环境中重新训练。
这项工作使用能量函数让我们的智能体学习分类和生成简单 的概念,它们可以用来解决诸如在不同环境中的两点之间导航等任务。概念的示例包括视觉(“红色”或“正方形”)、空间(“内部”、“之上”)、时间(“缓慢”、“之后”)、社会(“积极”、“有帮助”)等其他的。正如DeepMind 和 Vicarious的其他研究所示,这些概念一旦学会,就会成为智能体理解和推理的基本构建块 。

能量函数使我们能够构建可以生成(左)和识别(右)基本概念的系统,例如正方形的概念。
能量函数通过编码 对世界状态的偏好来工作,这允许具有不同可用动作(改变扭矩与直接改变位置)的代理学习在不同上下文中起作用的策略——这大致转化为对概念理解的发展简单的事情。
怎么运行的
为了创建能量函数,我们在数学上将概念表示为 能量模型。能量模型的想法植根于物理学,直觉是观察到的事件和状态代表低能量配置。
我们根据以下方面为每个概念定义能量函数 E(x, a, w):
- 模型观察到的世界状态 (x)
- 处于该状态的实体上的注意掩码( a)。
- 一个连续值向量 (w),用作条件,指定计算能量的概念
世界状态由一组实体及其属性和位置组成(如下面的点,它们同时具有位置和颜色属性)。用于“识别”的注意掩码表示模型对某些实体集的关注。能量模型输出一个单一的正数,表示这个概念是否满足(当能量为零时)或不满足(当能量高时)。当注意力掩码聚焦于代表一个概念的一组实体时,一个概念得到满足,这需要实体处于正确的位置(x 的修改或生成)并且正确的实体被关注(修改a, 或标识)。
我们将能量函数构造为基于 关系网络架构的神经网络,这允许它以任意数量的实体作为输入。这个能量函数的参数是我们的训练程序正在优化的;其他函数是从能量函数隐式导出的。
这种方法让我们可以使用能量函数来学习可以 同时执行生成和识别的单个网络。这使我们能够交叉使用从世代学到的概念来识别,反之亦然。(注意:这种效应已经通过 镜像神经元在动物身上观察到。)
单一网络训练
我们的训练数据由(注意掩码、状态)的轨迹组成,我们提前为我们希望模型学习的特定概念生成这些轨迹。我们通过给定概念集的一组演示(通常为 5 个)来训练我们的模型,然后给它一个新的环境(X0)并要求它预测下一个状态(X1)和下一个注意力掩码(a)。我们优化能量函数,以便为训练数据中找到的下一个状态和下一个注意掩码分配低能量值。类似于 变分自动编码器等生成模型,模型被激励去学习有用压缩任务各个方面的值。我们使用各种概念训练我们的模型,这些概念涉及视觉、空间、近端和时间关系,以及二维粒子环境中的量化。
主要结果
我们在一系列任务中评估了我们的方法,旨在了解我们的单一系统如何能够学会识别和生成由同一概念联合起来的事物;我们的系统可以学习分类和生成特定的空间关系集,或者可以以特定方式在场景中导航实体,或者可以对数量(一、二、三或三个以上)或接近度等概念做出良好的判断。
当模型可以在学习生成概念(通过在状态向量 x 内移动实体)和识别它们(通过改变固定状态向量上的注意力掩码)之间共享经验时,它们会表现得更好:当我们评估在这两种 操作上训练的模型时, 他们在每个单一操作上的表现 都优于 仅在单一操作上训练的模型。我们还发现了 迁移学习的迹象——一种仅在识别上下文中训练的能量函数在生成时表现良好,即使没有接受明确的训练。