OpenAI 使用能量函数学习概念
OpenAI 已经推出了一种方法,让代理通过能量函数学习并提取概念,使它们能够在完全不同的领域中应用所学概念来解决任务,而无需重新训练。这种能力使代理能够将知识转移,例如将二维粒子环境中学到的概念迁移到三维基于物理的机器人环境中。
基于能量的概念表示
该方法的核心是将概念数学化为能量模型的表示。基于物理直觉,这些模型将观察到的事件和状态视为低能量配置。
针对每个概念,定义了能量函数 $E(x, a, w)$,其基于以下三个组成部分:
- 世界状态 ($x$): 观察到的环境,由实体及其属性和位置组成。
- 注意力掩码 ($a$): 一种“识别”机制,使模型聚焦于特定实体集合。
- 条件向量 ($w$): 一个连续值向量,用于指定正在计算能量的概念。
能量模型输出一个单一的正数。当能量为零时,概念被视为满足;高能量表明概念未被满足。满足条件要求注意力掩码聚焦于正确位置的实体,并且识别出正确的实体。
神经网络架构与训练
为了处理任意数量的实体作为输入,能量函数被构建为基于关系网络架构的神经网络。训练过程优化该能量函数的参数,而其他函数则隐式推导。
训练过程
模型使用为特定概念生成的(注意力掩码,状态)轨迹进行训练。训练过程包括:
- 示例演示: 模型通常会获得针对给定概念集合的五个示例演示。
- 预测: 给定一个新环境 ($X_0$),模型预测下一个状态 ($X_1$) 和下一个注意力掩码 ($a$)。
- 优化: 对能量函数进行优化,使得训练数据中出现的下一个状态和下一个注意力掩码被赋予低能量值。
类似于变分自编码器,模型被激励学习能够有效压缩任务各方面的值。
能力与跨域迁移
该架构使单一网络能够同时执行生成和识别。这种双重能力使模型能够将从生成中学习到的概念跨用于识别,反之亦然。
概念类型与评估
系统在一系列任务中对以下类型的概念进行了评估:
- 视觉: 示例包括“红色”或“方形”。
- 空间: 示例包括“内部”或“在…之上”。
- 时间: 示例包括“慢”或“之后”。
- 社交: 示例包括“攻击性”或“乐于助人”。
- 量化: 对数量(一个、两个、三个或超过三个)和接近度的判断。
模型展示了在不同环境中对特定空间关系进行分类和生成的能力,并能够以特定方式在场景中导航实体。