财创网 物联网 解决具身智能数据卡点,让机器人快速变聪明

解决具身智能数据卡点,让机器人快速变聪明

数据是机器人获得进化的源泉。在机器人的数据训练中,传统基于演示进行学习的方法,虽有效但成本高、耗时长、不具备泛化性;而视频作为一种丰富的数据源,内含大量可被机器人学习的控制信息,由于缺乏动作标签难以被提取和利用。

针对此问题,清华大学交叉信息研究院高阳研究组提出了一种创新的Any-point Trajectory Model(ATM)方法,实现通过大规模视频数据对机器人进行训练,并展现出清大的技能迁移能力和鲁棒性。该研究成果已被国际机器人顶级会议RSS 2024接收,并获得了全数审稿人的满分评价。

这一框架为小样本和跨具身(cross-embodied)机器人学习领域提供了新的理论支撑,并且极大地拓宽了数据源的利用范围。换而言之,机器人的大脑将能够以更快的速度进化。

高阳老师以首席科学家的身份,联合创办具身智能创新企业千寻智能。明论资本将继续担任该公司的财务顾问,开展新一轮融资。

以下文章转载自公众号石麻笔记中对ATM论文的解析和采访:

人类离通用机器人最远的距离是什么?我的答案:训练数据,不管这个数据是遥操作机器人数据,高质量合成数据,或者其他什么数据。

按照现阶段LLM的成功范式,机器人领域学者和创业者目前有点巧妇难为无米之炊的赶脚,都在想各种办法找米,有的甚至开始开荒种地。

大概是半年前,我就一直想针对机器人大模型需要的训练数据写点东西,这个话题太重要了,太值得花时间好好写。但各种原因一直没有启动,直到最近,又因为各种原因,我已经抑制不住我自己要好好写写机器人数据的想法,所以人生做很多事情都是机缘巧合。感谢这些机缘巧合,石麻笔记即将开启一段关于机器人大模型训练数据的连载。敬请期待!

本文我们围绕RSS 2024满分论文 Any-point Trajectory Modeling for Policy Learning(以下简称ATM)采访了高阳老师和他的得意门生汶川博士,一起来深入了解下他们如何利用互联网人类视频进行机器人的训练吧!

以下为本文目录👇

1. ATM被访作者简介

2. ATM:从2D人类视频中学习机器人动作策略

    ATM的缘起

    基于人类视频进行机器人学习的主流方法

    ATM的核心思想

    ATM方法介绍

    ATM的感知模块

    ATM的效果

    Embodiment Transfer

    关于视频视角问题

3. 一些补充问题

4. 一些想法

1. ATM被访作者简介

高阳目前是清华大学交叉信息学院助理教授,本科毕业于清华大学计算机系,博士毕业于UC
Berkeley。博士导师是Vision领域的大牛Trevor Darrell,读博期间和Sergey
Levine合作开始强化学习方面的探索,博后跟随Pieter
Abbeel做强化学习,合作的导师都是RL+Robotics这个领域的大牛。研究方向为计算机视觉和机器人的结合领域,教会机器人通过“看”去操纵周围的事物。

汶川是清华大学交叉信息学院的博士生,导师是高阳。本科毕业于上海交通大学电子工程系。汶川博士曾在UC
Berkley BAIR访问,师从Pieter
Abbeel教授和林星宇博士。他的研究兴趣集中在计算机视觉和策略学习,特别是这两个领域的交叉点——视觉-运动控制。他主要研究如何提高视觉-运动控制在实际场景中的效率和鲁棒性,尤其是在自动驾驶和机器人操作方面的应用。

下文第2部分主要来自针对汶川博士的采访,第3部分来自高阳老师的采访整理。

2. ATM:从2D人类视频中学习机器人动作策略

ATM的缘起

在GPT时代,我们都知道无限堆积算力和数据量会带来显著效果。在机器人领域,我们也越来越意识到数据量的重要性。无论你使用强化学习还是模仿学习,只要能获得足够多的数据,就能得到很好的效果。

但是,现在有一个很大的问题,就是机器人数据很难像大语言模型所需要的文本数据那么多。机器人大模型的输入数据可能是图像这类对环境的观测数据,输出是机器人的动作,具体体现是电机的扭矩、机械臂末端的坐标移动或每个电机的转动角度,这类非常精细化的动作输出。这些数据是很难从互联网上获得的。

目前,机器人领域比较知名的Paper用到的机器人数据量是多少?最多也只有2.5万条机器人轨迹数据,远远不及语言模型的数据需求。采集机器人数据本身就非常困难,需要遥操作装置比如Gello和Mobile
Aloha,或者比如DexCap使用运动捕捉手套或像UMI这种特殊的方式,用GoPro进行控制信息提取;或者像OmniH2O使用人体关键点检测来提取人类动作到人形机器人的映射。这些本质的目的就是同时记录输入的观测和输出的动作,进而训练一个模仿学习的模型来控制机器人。

但我们为什么一定要用这些复杂的遥操作来获取模仿学习需要的数据?这里有一个非常重要且丰富的数据源,就是人类的视频,例如在YouTube或抖音上的视频,包含了丰富的物理信息和运动行为,这些视频本质上是宝贵的先验知识来源

然而,目前还无法有效利用这些视频,因为它们通常缺乏动作标签,没办法直接用来进行模仿学习。就算它们有动作标签,不同的研究组可能使用不同的动作标签定义和收集方式,导致数据不统一,比如,有的组喜欢用机械臂末端的移动来作为动作,有的组喜欢用每一个轴的转动来作为动作,这种不统一的数据标签也很难被用来做模仿学习。ATM这个工作就是研究如何从视频中提取经验知识。

基于人类视频进行机器人学习的主流方法

现在有很多利用视频做预训练的方法,这些方法有的基于大量的视频数据,通过不同的方式提取新的知识。有一个主要的流派是做视频预测,用大规模的视频数据训练一个视频预测模型,对于机械臂来说,给它当前的观测(比如当前的图片),它能预测未来机械臂的移动以及被操作物体的变化,这样它就对未来有了一个预测。通过学习中间这些动作和变化,机器人就更容易掌握实际操作。

对生成模型的应用来说,如果Sora能实现一个非常完美的视频生成模型,那么在机器人领域也可以直接使用。比如说,我给你当前的图像,然后告诉你下一个图像中我的机械臂向左移动了多少厘米。如果你能预测未来的情况,就能用很少的数据确定从当前状态移动到下一个状态需要的动作。这使问题变得更简单。

但是,问题就在于视频预测模型非常难做。比如说,我的图像中要求把玉米夹起来,预测结果可能是玉米只被夹起了一半,这在物理上是不正确的。Sora虽然生成的视频非常精美,但在一些细节物理上是有问题的。比如,有一个视频是几只小狗在雪地里玩,突然中间多出来一个狗头,这在物理上是不对的。训练这样一个模型需要非常大量的数据和巨大的计算开销,比如Sora可能需要几千块GPU运行一个月,这对于机器人任务来说是不可接受的。

ATM的核心思想

我们的ATM的主要想法是什么?我们不想做视频预测。未来的视频图像长什么样,对于机器人控制没有任何意义。我们只需要知道每个物体的移动方向,而不在乎画面的精美程度。我们只关心运动信息。我们参考以前的人是如何建模运动的。比如,在游戏或仿真引擎中,他们不会把某一个物体建模成一个对象,而是把物体中的每一个粒子建模成一个对象,通过建模粒子之间的碰撞、挤压和相对移动来对整个场景进行建模。特别是在复杂的流体、软体物体和沙子等场景中,这种方法非常有效。

ATM的主要想法是,既然像素级的视频建模不是一个好的表征方法,那么我们能否利用类似的想法,把视频变成一些粒子的集合,建模每个粒子的运动来反映整个场景的物理规律,来为控制模型服务。

比如机械臂把袋子拿起来放到桌子上。传统的方法是把这个视频建模为随时间变化的像素点,即像素值从0到255之间变化。然而,我们可以换一种思路,把它建模为每个点随时间的运动。比如,我在这个袋子上选几个点,在机械臂上也选几个点,然后在整个视频中跟踪每一个点的坐标变化。通过时间的展开,你可以看到袋子上点的运动和机械臂上点的运动是不一样的,但相同物体上的点的运动趋势又是相似的。

如何想到这个方法?

我一直在做的一个项目是从视频中提取控制信号。经过大量的思考和实验,我们发现像素、光照或者纹理的变化对于机械臂控制任务没有任何意义。我们只关心物体在空间中的移动。最好的方式是将移动信息和其他视觉信息(如颜色和纹理)显式地分离开。

这种方法有点像仿真引擎的原理:先建模物体的运动,然后再渲染颜色和纹理。不过,我们并不需要渲染那一步,因为对我们来说,只需要知道物体的运动信息,就足够用于控制机械臂了。

我们只关注视频中运动的那部分。因此,我们把视频拆解成不考虑颜色变化,只看坐标的变化。要获取这些点随时间的变化,有一些现成的计算机视觉模型可以使用,例如跟踪模型(tracking
model)。这些模型在去年的表现已经非常好了,能够将跟踪误差控制在一个像素点以内。这样的模型可以直接作为我们的标签来训练。

我们的表征方法有几个优点。首先,它在物理上是正确的,不会像生成视频那样出现sora那种物理上不合理的情况(如物体突然出现或消失)。我们的数据中所有物体的运动都是连续的,所以学出来的运动模型也天然具有连续性。这种连续性保证了生成的运动数据也是连续的,不会出现不连续的情况。它的另一个优点是可以显式地将光照、纹理与运动(motion)分开建模。我们只关注运动,这样就不会受到其他因素的干扰。

ATM方法介绍

解决具身智能数据卡点,让机器人快速变聪明

这是我们的网络结构,左上角是输入的视频数据,我们可以使用之前提到的跟踪模型(tracking
model)来获取每个视频帧上每个点的未来轨迹。红色点、蓝色点和绿色点表示在整个视频中每个点的运动轨迹。当我们知道每个点的轨迹后,我们可以训练一个我们称之为“track
transformer”的模型。这个模型基于transformer,是一种多模态的模型。它的输入包括当前的图片、语言描述和要查询的点的坐标。训练目标是预测这些查询点在未来的轨迹。

这个track transformer的最终目的很简单:比如,我给它一个语言指令“打开抽屉”,再给一个当前图片,显示机械臂已经抓住了把手并拉了一半。这时,模型会预测出机械臂上的点应继续往右移动,抽屉上的点也要一起往右移动。这个功能很简单但有效。

预测的轨迹将作为输入提供给我们的控制模型。这个控制模型不仅以图片作为输入,还包括预测的轨迹,然后输出相应的动作。以前的策略模型只有图片作为输入,然后输出动作。现在,我们添加了一个额外的输入,即预测的轨迹。这样可以使控制更加准确和有效。

ATM的感知模块

ATM感知模块是一个基于2D图像的ViT,我们这里没有用到3D感知。3D感知是有必要,但不一定必须是点云的形式。例如,在使用两台摄像机的情况下,实际上它们能够学习到影视的三维信息。相较于使用点云的方法,点云的性能通常较差。在仿真器中渲染出的点云可能非常完美,但在真实世界中,使用深度相机获取的点云经常会出现缺失或不完整的情况,这会导致模型性能不佳。如果需要很好的点云信息,就需要比较贵的硬件采集设备,比如激光雷达。

我们组有一个和ATM类似思路但是基于3D输入的工作叫General Flow as Foundation Affordance for Scalable Robot Learning,知道3D坐标之后,我们可以将其建模为一个点,并预测这个点未来的轨迹。例如,当你开保险柜的门时,可以学习这些点的未来轨迹。对于新的物体,同样可以学习它们每个点的未来轨迹。使用3D点的一个优点是,我们可以直接进行zero-shot泛化。

Zero-shot泛化的意思是,我们不需要额外的训练样本来训练一个新的控制模型。因为我们已经知道机械臂末端在3D空间中的运动,并能够预测它未来的轨迹。通过机械臂的运动学解方程,我们可以计算出机械臂每一个轴的运动。这样,它的效率更高,在一些未见过的场景中也能表现得很好。这样的方法,使得我们不必依赖额外的数据去训练新的模型,从而提高了系统的泛化能力和效率。

ATM的效果

ATM更侧重解决规划问题,但和典型的规划器(Planner)不同,它是中层的规划器,而不是特别高层的。我一般会把规划分成高层规划,中层规划,和低层规划;高层规划是Vila这种(关于Vila可以参考对话高阳:具身大模型框架ViLa+CoPa),中层规划是ATM这种,低层规划就是Diffusion Policy(关于Diffusion Policy可以参考Diffusion Policy—基于扩散模型的机器人动作生成策略)这种。

在试验阶段,我们在130个基于语言的仿真任务中做实验,130个任务的量非常大,比普通论文中的实验量要大一些。ATM是一个多任务模型,这130个任务不是通过训练130个独立模型来分别完成的,那样就没有意义了。我们设了五个模型,其中四个模型各负责10个任务,另一个模型负责90个任务。这是一个多任务模型,需要为每个任务提供明确的指示。以前一般是用语言作为指示,但这种方法太粗糙了。我们的创新在于,用轨迹来明确地指示任务,使问题更加具体和明确。

这是我们的真机实验,在实际场景中,我们设置了一套系统。在相同的场景下,我用五种不同的语言描述了五个不同的任务,机器人需要能够完成这五个任务。

Embodiment Transfer

要完成复杂的任务,还是需要更多的数据支持。人类的视频可以提供一些先验知识,帮助理解任务的大致步骤和动作。然而,要真正映射到机械臂的动作空间,还需要更多的方法和数据。后续我们还有一些假设,即使用人类的数据来学习,并最终在机器上部署。最后的步骤是通过遥操作将进行最终的训练,这需要收集非常少量的数据。

解决具身智能数据卡点,让机器人快速变聪明

ATM在布料操作上表现不错

解决具身智能数据卡点,让机器人快速变聪明

ATM在长程操作上表现也挺好

解决具身智能数据卡点,让机器人快速变聪明

ATM还可以推理使用工具

解决具身智能数据卡点,让机器人快速变聪明

关于视频视角问题

我们论文中提到,第三人称视角可能更为有用。因为在第一人称视角的视频中,例如那些头上戴着GoPro进行极限运动的人,他们的头部会不由自主地转动。这会引入很多噪声,头部的转动并不包含太多与机器人控制相关的信息,而更多是一些随机的头部运动噪声。因此,第三人称视角可能更为重要,而互联网上最大量存在的人类视频正是第三人称视角。

另一个重要的点是我们支持多视角服务,例如第三人称的视频,我们也可以生成出良好的轨迹预测。如果摄像机是装在机械臂外部的,它也可以生成出合理的轨迹预测。

3. 一些补充问题

其他典型的通过人类视频学习工作

在我们工作之前,有两种主要的方法。第一种方法是直接使用视频预测。代表工作是伯克利 Pieter Abbeel组的UniPi。这种方法通过视频学习,比如给定一个任务如倒水,给定第一帧和“倒水”这个任务,模型会预测在倒水过程中未来视频的变化。

预测出来这些视频之后,再通过视频反推出来机械臂的动作,从而执行这些动作。这种方法的优点是他非常的端到端,因为直接拿视频过来去训练视频预测模型,视频预测模型出来的东西去训练恢复机器人动作的inverse dynamics model。

这种方法的优势在于可以使用大量数据,但问题是计算量很大,因为需要先生成视频,可能一段三到五秒的视频就需要十几分钟到半个小时,甚至更久。

另一类方法跟我们的思路比较像,我们的思路是抽取某一种对于这个动作的中间表示,在这里是就是关键点位的轨迹。还有一类算法是抽取操作物体的接触点和操作物体一瞬间的运动方向。

比如说,我要拉一个抽屉,它就会提取我要抓抽屉把手和未来我会沿着抽屉表面的法向往外拉。物体的运动用接触点和接触点的运动方向进行简化。这个方法的优点是非常紧凑和简介,但他的局限在于只能处理非过程性任务,比如倒水或者叠毛巾这类任务就处理不了,因为这些任务的每个位置都有不同的旋转方向等特征。

他比较适合铰链物体的操作,比如开冰箱门或抽屉,抓住一个把手,然后沿着一个方向拉开,这个代表是CMU Deepak组的一些工作。

怎么理解非过程性任务?

简单的理解非过程性任务就是物流分拣场景中机械臂要做的从一个地方抓取到另一个地方放下,或者GraspNet这类工作,它只关心抓取的位置和目标位姿,它不会告诉你要怎么到达这个目标位姿,因为它假设这个过程可以用传统的motion
planner去实现。但对于倒水这类任务,你必须得端着水沿着杯口用不同的方向逐渐倒下水,如果用motion planner它可能会把水弄洒了。

ATM本质上也是一种模仿学习吧?

它可以被理解为跨越物理形态的模仿学习,因为人类和机器人存在一些物理形态上的差异,本质上,它仍然是一种模仿学习,因为它模仿人类动作的能力,使物体达到特定的运动轨迹。但因为人类和机器人物理形态的差异,在通过人类数据训练好的模型部署给机器人之前,他依然需要采集少量的机器人遥操作数据来弥合这个domain
gap。

关于如何从人类2D视频中抽取3D轨迹?

有一些神经网络可以根据RGB图像估计深度,这个技术最近也发展的很快,可以用这个技术给RGB视频打上3D的标,就可以从这些数据里抽取3D轨迹。

4. 一些想法

非常感谢高阳和汶川的时间,给我讲解论文,也感谢之前采访和交流过的所有学者和创业者,在和大家的交流中我也逐渐建立了自己的认知。

风险投资这个行当干了也有8年了,从最初到现在都是野蛮成长,过程也断断续续,心态确实经历了很多变化。和那些跳进时代浪潮,勇于承担风险和责任的创业者相比,大多数所谓的投资人不过是从事着信息过滤、筛选、对接、整合和传达工作的打工仔。

Deal能不能做成,项目成不成功,基金能不能赚钱都是很多机缘巧合的排列组合。这个过程涉及到的外部因素太多了,我们能控制结果么?大概率不能。那又为什么要为结果焦虑呢?在这个当下,唯独这些字儿是我自己能控制的吧,保持谦虚和学习的心态,move on!

本文来自网络,不代表财创网立场,转载请注明出处:http://www.300163.com/wulianw/20241111/5955.html

作者: 杨洋

本人不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权来源于网络。如本文内容影响到您的合法权益(内容、图片等),请及时联系站内删除!

华为Mate 70 Pro震撼发布:屏幕摄影全面升级,原生鸿蒙系统引领未来

发表回复

联系我们

联系我们

在线咨询: QQ交谈

工作时间:周一至周五,7:00-23:30,节假日正常上班
关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部