DecisionNCE:Embodied Multimodal Representations via Implicit Preference Learning论文链接:
https://arxiv.org/abs/2402.18137代码链接:
https://github.com/2toinf/DecisionNCE?tab=readme-ov-file项目主页:
https://2toinf.github.io/DecisionNCE/
具身智能是 AGI(通用人工智能)研究的最终目标之一,期待有一天机器人可以帮我们解决日常生活中的大部分琐碎任务。对于人类而言,通过语言描述任务是十分方便的。因此以 RT 系列为代表的视觉-语言-控制模型(VLCM,Vision-Language-Control Model)受到广泛关注。
VLCM 智能体可以通过视觉理解环境,并执行人类语言所描述的任意任务,展现出了极强的 zero-shot 泛化能力。然而,VLCM 模型通常采用端到端的训练方式,这无疑会需要海量的示教数据,如图 1 所示。
▲ 图1. 端到端VLCM的缺点
直观地讲,语言模型(LM,Language Model)只考虑单一语言模态,视觉-语言模型(VLM,Vision-Language Model)需要考虑视觉和语言两个模态,而视觉-语言-控制模型(VLCM)则需要考虑视觉、语言和控制三个模态。因此,我认为在训练所需的数据量上,VLCM>>VLM>>LM。然而,从数据采集的难度而言,互联网存在海量的语言数据和视觉-语言数据,但视觉-语言-控制数据则需要人类通过示教系统日积月累采集得到。同时,人类专家的示教效率通常极低,例如我们采用的Bridge data v2的VR示教方案经常会因为操作失误或硬件失灵等玄学问题导致示教失败。对比已有的VLCM、VLM和LM训练数据量,可以说VLCM<<VLM<<LM。因此,没数据一直是Embodied AI或者说Robot Learning最严重的问题之一。多模态表征预训练:缓解数据稀缺问题的通用解决方案
为了解决数据稀缺的问题,一个通用的解决方案是:表征预训练(Representation Pretrain)。其中经典的方法便是以CLIP为代表的对比学习方法。在互联网上,我们可以找到很多人类做家务(例如EPICK-KITCHEN还有Ego4D数据集)或其他机器人执行某项任务的视觉-语言数据(例如,Open-X embodiment数据,还有最近出的DROID数据)。虽然这些数据没有明确的动作标签(action label)无法直接用于策略的学习,并且这些数据中的机器人形态和我们待训练的机器人可能大不相同,存在很严重的跨域偏差(cross-domain gap)。然而,这些数据中已经蕴含有大量的有用信息,对机器人的策略学习可能起到很强的促进作用。例如,通过观察这些视觉-语言数据,机器人可以提前了解到大量任务(language instruction)看起来(vision)是长什么样子的;同时,这些数据会提供给机器人丰富的contact-rich的物理信息,例如“杯子掉落后会碎”、“推物体会让物体移动”、“拉柜子会把柜子拉开”等物理规律,这些都是对机器人决策非常有用的信息。
倘若我们可以利用海量的、易收集的、分布外的视觉-语言数据(例如人类做家务的数据)预训练一个以机器人策略学习为核心的视觉-语言表征(vision-language representation),从中提取出这些有助于机器人策略学习的有用信息,那将在很大程度上缓解robot learning对数据的依赖。
▲ 图2. Vision-language Pretrain, vision-language-control finetune的样本高效robot learning
然而,训练这样的表征是非常困难的。因为对于机器人的决策而言,一个高度抽象的语言指令所描述的是一种动态的变化过程(注意一定是一个动态而非静态的过程,例如“把大象装进冰箱里”一定是有大象从外到内的动态变化),而反映动态过程的最好载体是视频,而非传统多模态中的单帧静态图片。也就是说,传统多模态表征预训练需要考虑的是语言和单帧图片的对齐,而具身智能中的多模态表征预训练需要解决语言和视频轨迹的对齐(trajectory-level grounding)。在此,如果我们想粗暴地直接把语言指令和一整段视频通过对比学习的方式进行训练,则需要将视频中的每一帧都通过神经网络提取表征,随后将所有视频帧的视觉表征和语言表征进行对齐,不仅会消耗大量的计算资源,还存在训练难度大的问题。因此,如何简单、高效地实现trajectory-level grounding,提取出视频轨迹中语义丰富的全局时序信息(global temporal info),细节丰富的局部时序信息(local temporal info),并得到光滑的时序过渡十分困难。(对该领域challenge感兴趣的同学老师可以仔细看我们paper的introduction和Table 1,这里就简单省略了)。DecisionNCE:一种decision-centric的多模态表征预训练方法
在本文中,我们发现人类反馈强化学习(RLHF)中用于奖励函数训练的Bradley-Terry Model实际是一种天然的可用于机器人多模态表征预训练的方法,可以优美、简单、高效地解决上述所有问题。3.1 Bradley-Terry Model
在RLHF中,Bradley-Terry (BT) model通常用于奖励函数的训练。其优化目标如下所示:式1. Bradley-Terry model
其中, 是一段视频中第 t 帧图片。 是从一个完整视频中的连续视频片段。 意思是人类认为视频片段 比 更好。通过提高视频片段 上每一个单帧转移 的奖励总和,降低视频片段 上 的奖励总和,进而BT model就可以拟合人类偏好,完成奖励函数的学习。由此可见,BT model本质上就是在进行一种轨迹级的对比学习。因此,如果我们能想个办法,巧妙地把视觉表征 和语言表征 融入到BT model的优化目标中,那不就意味着我们实现了轨迹级的多模态表征预训练,不正是我们想做的事情!式2. 基于Bradley-Terry model的多模态表征学习框架
但是,想直接把BT model拓展到表征学习的任务中,仍有几个问题需要解决:1. 偏好标签从哪来?BT model的训练需要给出海量 的人类偏好标注,但已有的数据并没有这样的标注。2. 视频片段长度如何选择?过长的视频片段可以包含语义明确的全局时序信息,但计算开销极大。过短的视频片段可以反映非常细节的世界动力学关系,且计算开销低,但丢失了语义明确的时序信息。3. 如何建模奖励函数?在上式中,奖励函数 是一个关于视觉表征 𝜙 和语言表征 𝜓 的奖励函数,但到底是什么形式我们仍没有给出明确的定义。一个好的建模方式可能会产生事半功倍的效果,显著提高表征学习的能力。3.2 隐式偏好标注
针对没有偏好标注的问题。我们提出了一个隐式人类偏好的概念,即对于一个语言指令而言,与其相匹配的视频片段是优于不匹配视频片段的。例如对于下图“开冰箱”的语言指令,肯定是上方的视频片段更好,因为下面的视频片段很显然并没有完成“开冰箱”这个任务,而是完成了“拿起锅”的任务。实际上,现有的视觉-语言数据集基本都已经把匹配的语言-视频片段整理在了一起,所以现有数据集中有大量的这种隐式的人类偏好。因此,我们可以利用这些隐式的偏好标注进行训练,不再需要耗费大量的人力去进行偏好的标注。
3.3 随机片段采样
针对视频片段长度选择难的问题,我们则更加直接简单粗暴:既然长度难选,那我们就完全随机选。简单地来说,我们先从一段完整视频中随机选择一帧作为视频片段的开始,然后在后续视频中选择一帧作为视频片段的结束,则可以采样出长度随机变化的视频片段。这样做,我们既有概率采样出很长的视频片段从而提取全局的时序信息,也有概率采样出较短的视频片段从而提取局部的时序信息,进而实现全局和局部时序的兼顾。虽然看起来简单粗暴,但我们在论文中发现通过简单的随即片段采样,最终导出的DecisionNCE学习方法可以天然地实现时序对比学习的目标,对提高视觉表征在时序层面的光滑性有促进作用(在前人工作中通常采用一个额外设计的损失函数来实现,进而需要考虑不同损失函数之间的权衡问题)。此外,虽然现在针对长视频片段仍需要耗费大量的计算资源且训练难度大,但是我们后续发现通过合适的奖励重参数化方法则可以进一步解决这个问题。3.4 奖励重参数化
最后,针对如何建模奖励函数的问题,DecisionNCE给大家提供了一个非常通用的优化框架,理论上可以兼容任意的奖励函数建模方式,在文中我们为大家提供了两种简单高效的重参数化方法:DecisionNCE-P和DecisionNCE-T。▲ 图5. DecisionNCE-P和DecisionNCE-T
首先,我们采用了一种非常经典的奖励函数建模方法:Potential-based Reward:
式3. Potential-based Reward重参数化
式中, 可以是任何相似度的衡量指标,我们在此定义为余弦相似度。可以很明显地看出,该奖励函数衡量的是表征空间中视频帧转移对 向语言前进的距离。也就是说随着视频片段的推移,如果语言所描述的任务被逐渐解决了,那么整体视频片段的奖励函数就会增大,否则奖励函数较小。这样定义奖励函数,有一个非常好的好处,那就是在计算一个视频片段的奖励函数总和时,中间视频帧的表征会两两相消,进而极大地降低了计算量,简化了训练难度:
式4. Potential-based reward的视频片段奖励总和
可以看出,视频片段奖励函数的总和只和片段头 和片段尾 两帧相对语言指令 的距离之差有关,不再需要处理所有的中间帧。一段视频片段是否完成语言指令就只和尾减头所描述的距离变化相关。这样的简化是很合理的,例如针对“开冰箱”这个指令,我们不需要在意中间过程是什么样的,只需要看到最开始冰箱门是关闭的,最后冰箱门是打开的,那就会知道“开冰箱”的指令完成了。将式4代入到BT model的式2中进行优化,便会将匹配的视频-语言对中第一帧的视觉表征 推远语言表征 ,并逐渐将后续的视觉表征拉近语言表征,如图5 (a) 所示。式5. DecisionNCE-P对应的BT model
DecisionNCE-T
观察DecisionNCE-P的优化目标,可以发现DecisionNCE-P理论上只有最后帧的视觉表征和语言表征处在最近的位置,如图5(a)所示。这样做,无疑是引入了一个可能不太合适的inductive bias (归纳偏置):最后帧和语言指令更匹配,最开始帧和语言指令不匹配。然而我们在第1章重点强调过,一个语言指令代表的不是某一帧静态图片,而是一种从状态A到状态B的动态变化过程!
很显然DecisionNCE-P并不能特别好地引入该inductive bias,那么为了解决这个问题我们提出了DecisionNCE-T,采用了一种新的奖励函数重参数方式:Transition-direction Reward:式6. Transition-direction reward的视频片段奖励总和
将其代入式2中得到的DecisionNCE-T如下所示:
式7. DecisionNCE-T对应的BT model
其中, 为余弦相似度。注意此处的余弦相似度计算的是视觉表征之差 和语言表征 之间的相似度。如图5 (b)所示,在此一个语言指令代表的不再对应某一帧静态图片,而是类似由 所表示的表征空间的一个转移方向。在此定义下,就算某一帧静态图片的视觉表征距离语言表征非常远,但只要他向后转移的方向和语言表征相似,那我们就认为这个视觉转移是正确的。例如还是“开冰箱”的任务,人的手从远离冰箱的位置逐渐靠近冰箱门也可以是认为在尝试打开冰箱的一个子任务。最终,我们DecisionNCE的整体framework如图所示。
▲ 图6. DecisionNCE的framework
1. 隐式时序对比学习。不论是DecisionNCE-T还是DecisionNCE-P,都隐式地实现了时序对比学习,对提高视觉表征在时序层面的光滑性有显著的促进作用。观察式5和式7的优化目标(分子部分),不难发现DecisionNCE-P/T都会将视频片段的结束帧 拉近语言表征,把视频片段的开始帧 推远语言表征。要注意到我们的视频片段是随机采样的,因此一段视频中的每一帧都有可能作为结束帧被拉近,也有可能作为开始帧被推远。同时,我们可以通过简单推导,发现越靠后的视频帧被选作结束帧的概率越大,被选作开始帧的概率越小,且是单调变化的。由此,一段视频从开始到结尾是逐渐靠近语言表征的,在时序上表现出一种光滑的过渡,实际上正是时序对比学习的优化目标。由此,不难发现DecisionNCE-P/T只有一个优化目标且没有任何超参数,但是可以同时提取全局/局部的时序特征,还可以实现隐式的时序对比学习,以一种简洁、优美、一体的方式解决了我们面临的所有问题。▲ 图7. 隐式时序对比学习
2. 视频首帧表征位置分析。前述的所有分析,都是针对DecisionNCE-P/T优化目标的分子部分展开的,接下来分析优化目标的分母位置。对于分母部分而言,不难理解其优化方向和分子部分是相反的,即将不匹配视频的开始帧 和语言表征拉近,将结束帧 和语言表征推远。这乍一看非常不合理,因为 和 极大概率毫不相关,比如 是“开冰箱”而 是“拿起锅”的某一帧。这样粗暴地将两个毫不相关的 和 拉近无疑会导致奇怪的结果,看起来像是优化“错”了。但是!这样“错误”的优化目标实际会导出很有趣的表征结构。 注意 不是和某一个单一的 拉近,而是和几乎所有的 拉近,因为一个 只有一个匹配的语言指令,但是几乎和其他所有的语言指令都是不匹配的。因此,每个视频的最开始帧 都会被几乎所有的语言指令拉近,最终被拉到一个不偏向任何一个语言指令的“中间地带”,如图8所示。这个位置是非常合理的,因为每个视频的开始帧 的任务信息都非常模糊。例如还是“开冰箱”的任务,很多开冰箱的视频的第一帧甚至都没有出现冰箱,就一个人在看着空无一物的地板。针对这样的场景,是不可能直接判断当前的任务是什么的,因此这样的 就应该被拉到所有语言指令的“中间地带”。然而像VIP和LIV这样的前序工作,为了保证表征空间的紧致性,通常将 和匹配的语言指令拉近,这才是真正地将一些毫不相关的表征强行拉到一起。实验
在本文中,我们通过在人类做家务(EPICK-KITCHEN-100)数据集上预训练好DecisionNCE-P/T,随后针对冻结的表征开展下游实验测试。4.1 全局/时序信息提取
我们首先测评DecisionNCE-P/T捕捉全局/局部时序信息的能力。理想情况下,DecisionNCE-P/T需要为匹配的视频-语言对分配更高的奖励值,为不匹配的视频-语言对分配较低的奖励值。下图可以清晰地看出来,DecisionNCE-P/T的斜对角线(匹配的视频-语言对)呈现出明显的亮线,说明其不论针对短的视频片段还是长的视频片段都可以识别出正确的时序信息。相比之下,其他baseline算法例如R3M, LIV和CLIP则不具备这样的能力,特别是针对短视频片段受到噪声的干扰严重。
▲ 图9. DecisionNCE-P/T为不同长度的视频片段-语言对分配的奖励值热力图4.2 实物/仿真机械臂实验
我们将训练好的表征引入极少量的下游机械臂数据进行语言条件的行为克隆(Language-conditioned behavior cloning,LCBC)学习。包含真机实验(测评了抓放(pick & place),挪动 (move),开 (open),关 (close),叠 (flod),摆正 (flip)五个机械臂操作的基础技能,涵盖9个子任务)和FrankaKitchen仿真实验(5个子任务)。
其中,FrankaKitchen所用的示教数量极其稀少,每个任务仅有1条,3条,或5条示教。要知道如果没有预训练好的表征支持,仅通过如此少的数据学习出好的策略是不可能的。无论是真机还是仿真的实验结果,都说明DecisionNCE-P/T都可以有效地提高下游模仿学习的学习效率,降低对示教数据的依赖。其中,从仿真结果可以看出,仅有1条示教数据时,DecisionNCE-P/T都可以达到近15%的成功率。值得注意的是,DecisionNCE-P/T不仅可以用作表征学习,还可以提供通用的奖励函数,因为BT model本身不就是用来学奖励函数的一种标准方法。我们可视化了DecisionNCE-P/T对不同的视频-语言对预测的奖励函数,如下图所示。▲ 图13. DecisionNCE-P/T的奖励函数可视化结果
结果表明DecisionNCE-P/T不仅可以对分布内的数据(in-distribution)预测正确的奖励趋势,还具有很好的分布外泛化能力(zero-shot reward)。更有意思的是,因为DecisionNCE自身对比学习的特性,他可以很为完全相反的视频-语言对分配相反的奖励趋势。DecisionNCE-P/T奖励函数的MPPI规划能力。更进一步,我们可以利用DecisionNCE-P/T提供的奖励函数直接进行zero-shot的planning规划测试,即在仿真器中rollout出很多轨迹,然后挑选出预计奖励函数最大的那个轨迹的第一个动作执行。
随后不断循环重复,测试MPPI规划的成功率,成功率高则反映出奖励函数的准确性高。我们测试了DecisionNCE-P/T奖励函数的zero-shot能力,发现可以在FrankaKitchen的5个任务上有惊人的10%以上的平均成功率。后期有更多的数据后,我相信DecisionNCE-P/T可以提供在更多的场景提供更准确的universal rewards,解决奖励函数难以设计的问题。
4.4 Scaling能力
除此之外,我们还初步扩大了DecisionNCE-T预训练的数据量,引入了OpenX-embodiment的数据。在仿真LCBC的结果显示通过引入更多的预训练数据,DecisionNCE-T可以进一步显著提高下游策略的表现(成功率从34.7%提高到41.4%)。因为这一系列消耗资源过大,所以我们仍在进一步探索中,目前还没有补充到arxiv中。
如何利用无动作标签的分布外数据(action-free, out-of-domain)提高具身智能已越来越得到学术界的关注,这次NeurIPS bid的时候已经可以看到一大批做类似方向的研究涌现出来了。
DecisionNCE为该方向提供了一种高效、优美、简洁的表征预训练方案,通过将机器人决策有用的信息提取到表征中,来加速下游具身智能的学习,降低其对训练数据的依赖。当然本方法也有不少的缺点,我们在文中的limitation章节展开了细致的讨论,感兴趣的老师同学可以查看。我们已将预训练出的DecisionNCE-P/T开源至github库中,后续也基于DecisionNCE-P/T开展了很多Offline RL/Offline IL算法的训练,因此也非常欢迎各位老师同学使用体验,用在自己的项目中!
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧