横扫6个SOTA,谷歌行为克隆算法登CoRL顶会,机器人干活10倍速

编辑:小咸鱼David
【新智元导读】谷歌团队在CoRL2021上提出了一种隐式行为克隆(ImplicitBC)算法 , 该方法在7项测试任务中的6项上优于此前最佳的离线强化学习方法(ConservativeQLearning) 。 ImplicitBC在现实世界中表现也得特别好 , 比基线的显式行为克隆(explicitBC)模型好10倍
尽管过去几年中 , 机器人学习取得了相当大的进步 , 但在模仿精确或复杂的行为时 , 机器人代理的一些策略仍难以果断地选择动作 。
要让机器人把桌子上的小滑块精确地滑进一个插槽里 。 解决这个任务有很多方法 , 每种方法都需要精确的移动和修正 。 机器人只能采取这些策略选项中的一个 , 还必须在每次滑块滑得比预期的更远时及时改变策略 。
人类可能认为这样的任务很容易 , 但对于机器人来说 , 情况往往并非如此 , 它们经常会学习一些人类专家看来「优柔寡断」或「不精确」的行为 。
横扫6个SOTA,谷歌行为克隆算法登CoRL顶会,机器人干活10倍速
文章图片
机器人需要在桌子上滑动滑块 , 然后将其精确插入固定装置 , 显式行为克隆模型表现得很犹豫
为了让机器人更加果断 , 研究人员经常利用离散化的动作空间 , 迫使机器人进行明确的「二选一」 , 而不是在选项之间摇摆不定 。
比如 , 离散化是近年来很多游戏agent著名模型的固有特征 , 比如AlphaGo、AlphaStar和OpenAI打Dota的AIagent 。
横扫6个SOTA,谷歌行为克隆算法登CoRL顶会,机器人干活10倍速
文章图片
但离散化有其自身的局限性——对于在空间连续的现实世界中运行的机器人来说 , 离散化至少有两个缺点:
精度有限 。 因计算维度导致成本过高 , 许多离散化不同的维度会显著增加内存和计算需求 。 在3D计算机视觉任务中 , 近期的许多重要模型都是由连续 , 而非离散表示来驱动的 。为了学习没有离散化特征缺陷的决定性策略 , 谷歌团队提出了一种隐式行为克隆(ImplicitBC)的开源算法 , 这是一种新的、简单的模仿学习方法 , 已经在CoRL2021上展示 。
该方法在模拟基准任务和需要精确和果断行为的现实世界机器人任务上都取得了很好的结果 。 在7项测试任务中 , 隐式BC的性能在其中6项上优于此前最佳的离线强化学习方法(ConservativeQLearning) 。
有趣的是 , 隐式BC在不需要任何奖励信息的情况下实现了这些结果 , 即可以使用相对简单的监督学习 , 而不是更复杂的强化学习 。
隐式行为克隆(ImplicitBC)
这种方法是一种行为克隆 , 可以说是机器人从演示中学习新技能的最简单的方法 。 在行为克隆中 , agent会学习如何通过标准监督学习模仿专家的行为 。 传统的行为克隆一般是训练一个显式神经网络(如下图左所示) , 接受观察并输出专家动作 。
而隐式行为克隆背后的关键思想是 , 训练一个神经网络来接受观察和动作 , 并输出一个数字 , 该数字对专家动作来说很低 , 对非专家动作来说很高 , 将行为克隆变成一个基于能量的建模问题 。
横扫6个SOTA,谷歌行为克隆算法登CoRL顶会,机器人干活10倍速
文章图片
显式(左)和隐式(右)策略之间差异的描述 。 在隐式策略中 , 「argmin」表示与特定观察配对时最小化能量函数值的动作 。
训练后 , 隐式行为克隆策略会查找对给定观察具有最低能量函数值的动作输入 , 以此生成动作 。
为了训练隐式BC模型 , 研究人员使用InfoNCE损失 , 让网络为数据集中的专家动作输出低能量 , 为所有其他动作输出高能量 。 有趣的是 , 这种使用同时接受观察和行动的模型的思想在强化学习中很常见 , 但在有监督的策略学习中则不然 。