2024年国际机器人与自动化会议(ICRA)已经结束,或许是时候总结一下我对机器人学与人工智能研究中所面临问题的差异的思考,并澄清一些误解了。这篇文章主要面向技术爱好者,但我尽量保持轻松和通俗易懂的风格,以便分享给朋友们。文中会提到一些2024年的最新进展,这部分可能会稍微技术化一些。
背景
作为一名机器人学研究者,我经常需要解释机器人学与人工智能(AI)之间的区别。这两个领域有明显的重叠,但随着技术的发展,尤其是在最近,自动化方法上的差异也越来越大。然而,在大众的认知中,这两个领域常常被混为一谈。
当人们谈论AI威胁时,他们脑海中常常浮现的是这张脸。
随着大型语言模型(LLM)如ChatGPT的进展,AI话题再次成为热点,我也因此更频繁地解释两者的区别。一个常见的问题是:“既然AI(LLM)进展如此迅速,为什么机器人学没有同样的突破?既然有了ChatGPT,给机器人造个‘大脑’能有多难?”
当我第26次听到这个问题时的表情
我反复强调的核心观点是:感知运动任务比你想象的要难得多,而LLM的进展并不能直接转化为机器人感知运动任务的性能(至少目前还不能)。用通俗的话来说,我常常会这样开头:“大家都把天网和T900终结者混为一谈,但这是两个完全不同的问题,需要不同的解决方案。”虽然这只是我的个人观点,但后者(T900)确实是一个更复杂的问题。
因此,我决定写下我的思考和论据,以便日后可以直接引用这篇文章。这篇文章主要面向对技术和科学有一定了解的人。我想讨论的特定观点可以总结为这条(现已删除的)推特回复,一位机器人学教授发布了他的研究成果后,有人回复道:“LLM已经这么厉害了,机器人学怎么还没跟上?”
推特上的LLM爱好者回复一位机器人学教授,后者刚刚发布了他的新研究论文。
这篇文章将分为三个部分。首先,我会简要介绍当前AI解决方案的工作原理(相关部分),然后解释机器人学问题的不同之处,以及为什么AI/LLM的方法可能不足以解决这些问题。最后,我会简要探讨为什么许多人难以接受这一核心观点,并分享一些相关的见解。
需要注意的是,这里提到的许多问题仍在激烈讨论中,存在合理的分歧。因此,我可能很快会被证明是错的。另外,当我在本文中提到“机器人”时,我指的是通用机器人,而不是所有特殊用途的机器人。
当前的AI解决方案是如何工作的?(简要介绍)
自2009-2012年深度学习算法在图像和模式识别领域取得突破以来,许多后续开发的方法都归属于同一类算法。这包括生成式AI算法,如现在著名的ChatGPT,以及所有AI合成语音和图像生成工具,如StableDiffusion、Midjourney等。
在不深入技术细节的情况下,这些方法有几个关键支撑因素。首先是计算能力。2011年的突破(AlexNet、DanNet)发生在人们使用图形处理单元(GPU)这种特定芯片大幅加速深度学习模型训练时。其次是对海量数据的需求。从2010年代初的数万张猫图片训练模型识别猫,到现在使用互联网上大部分免费数据来训练生成图像或文本的模型。Richard Sutton在他的文章《苦涩的教训》[5]中写道,计算能力的提升是AI进步的主要驱动力。
这两个因素在我们的讨论中非常重要。计算能力和数据是这些方法的主要支柱。虽然它们不是唯一的因素,但在机器人学的背景下,计算能力和数据需求,尤其是后者,是需要牢记的。
什么是“难”?什么是复杂?
让我先引用Jacob Browning在这场辩论中的一句话(时间戳56:21)[3]:
1966年,MIT的夏季视觉项目旨在用三个月的时间教会计算机“看”。当时普遍认为,让计算机使用语言和推理是AI的难题,而感知则被认为是简单的,只是将输入放入认知系统。这个项目失败了。事实证明,视觉真的很难……这个项目的背景假设是,认知本质上是语言学的,而感知、动作和运动等非语言过程是非认知的,更容易解决。
通俗地说,他的意思是,人们曾假设对图片中的事物(如猫)进行推理比**识别图片中哪些部分(像素)是事物(猫)**更难。然而,直到2011年,我们才能稍微可靠地识别图片中的猫(而且仍然会出现一些搞笑的错误)。
我想通过上述引用强调的是:我们对问题难度的直觉判断往往是一个糟糕的指标。我们可能只比1966年的人们稍微聪明了一点。
自80年代以来的已知事实
上述观察并不是我的原创。事实上,自80年代以来,人们就已经意识到了这一点,并给它起了一个名字:莫拉维克悖论:
莫拉维克悖论是人工智能和机器人学研究者观察到的一个现象,与传统假设相反,推理需要的计算量很少,但感知运动和感知技能需要巨大的计算资源。这一原则由Hans Moravec、Rodney Brooks、Marvin Minsky等人在1980年代提出。
莫拉维克的意思是,当你试图逆向工程(复制)一项技能时,那些低于意识水平的技能是更难解决的问题。
想象一下教一个孩子骑自行车,再对比教同一个孩子做矩阵乘法。前者是孩子在进入小学前就能学会的技能,而后者则是高中或更高年级的内容。在教学中,你可能会将每个任务分解为一系列步骤或概念。但对于骑自行车来说,这些步骤或概念可能并不那么有用,而对于矩阵乘法,即使是计算机也能轻松掌握。前者涉及的潜意识过程比后者多得多,通常需要孩子通过反复试验才能“掌握”如何平衡自行车、踩踏板和转向。而矩阵乘法则完全可以通过纸笔教学(尽管需要很多纸张,如果你考虑到理解它所需的数学知识)。
让我们思考一下日常任务,比如泡一杯咖啡。试着分解这个任务:“拿起桌上的咖啡杯,喝一口。”假设你知道杯子的位置。你需要将每个步骤分解为动作,比如“右手向前移动,速度为X或Y厘米/秒。食指和拇指移动Z厘米。”这是一个你甚至可以在不专心的情况下完成的任务(比如在阅读这篇文章时)。虽然繁琐,但“拿起杯子”应该是相当直接的。现在,如果我在拿杯子的路径上放置其他物体,你的解决方案会如何改变?如果杯子是空的还是满的(不洒出内容物),你会如何抓取它?如果杯子上面有东西呢?如果桌子上有粘性物质(如蜂蜜)将杯子粘在桌子上呢?你的潜意识可以快速轻松地适应这些情况,但你可能需要每次都完全重写“移动指令”表。如果你有编程背景,你可能会想到可以加入if和while循环,并保持指令表的大部分不变。这在受控环境中可能暂时有效,但在现实世界中,变化量很快就会变得难以应对。
现在,我让你将任务分解为“动作组件”。但实际上,要让一个机器人(形状类似于人类)完成这个任务,我们需要将其分解为手臂每块肌肉的收缩和伸展以及用力。这看起来可能没有太大区别,但潜意识中,你的所有“动作”都以某种方式转化为肌肉的预期力量输出。“右手向前移动”,你如何用肌肉运动和力量来表达?机器人没有肌肉,但有关节和执行器,因此我们用力/扭矩来表达这些动作。当这个力出错时,我们有时会看到一些搞笑的行为,比如这个机器人因为以为自己在转动门把手并施加了所需的力,预期会有阻力而摔倒。
机器人试图开门
这个思维实验还有一个陷阱:你可以假设你知道杯子的位置。这看起来很简单,但如果我让你以毫米或厘米的精度估计杯子在桌子上的位置,相对于你的位置,这是一个相当困难的任务!
请记住,所有这些计算都必须非常快速地完成,所有的边缘情况都必须识别(估计)并及时推理。例如,如果不及时将咖啡倒入杯子中,咖啡就会溢出!就像自行车与矩阵乘法的例子一样,仅用语言来完成整个过程是不够的。
我甚至还没有涉及到设计机械系统的需求,这只是问题的软件部分。因此,常见的反驳(尤其是来自机器学习领域的人)是……
“硬件还没跟上”
这是我多次听到的另一个论点,尽管最近少了一些:硬件能力还不足以充分利用AI的进展。这绝对是机器学习从业者加入机器人公司时的头号借口。(免责声明:这个论点是我在职业生涯中多次需要反驳的,因为某些专业人士试图推卸责任,所以这部分可能会显得有些抱怨。)
这里有一个
展示了一个人类控制机器人的场景
人类远程控制一个上半身机器人,用于便利店应用。拍摄于2020年左右
这是我曾经合作过的一个远程操作机器人。它的核心是一个非常简单(且廉价)的设置。由于机器人目标是量产,许多传感器被剥离,部分组件被替换为更便宜但可靠性较低的部件。但即使在这个平台上,用AI自动化下面的任务也是非常复杂的。然而,人类可以毫不费力地完成这个任务;仅凭视觉反馈,一个完全的新手也可以在几分钟内完成这个任务,而不会损坏机器人。更令人印象深刻的是,我们可以轻松适应轻微的偏差。
这个机器人在5年前就已经存在。现在还有更复杂的远程操作设置和机器人,比如1X Technologies(前身为Halodi Robotics)或带有触觉反馈的Shadowhand远程操作,以及本文撰写时的Tesla-bot、Unitree H1和Agility Robotics的Digit等。在学术界,像Mobile-Aloha这样廉价但高效的设置可以通过远程操作完成相当灵巧的任务。因此,硬件已经展示了它在由人脑操作时的能力。当你有了这个设置,尽管传感器有限且硬件廉价,但它能在人类操作下完成复杂任务时,很难说“硬件还没跟上”。(至于它是否经济可行,则是另一个问题。)
两只机器人手试图给玩具青蛙戴隐形眼镜(我觉得是青蛙……?)原始速度的7倍,远程操作。
所以,当他们说“硬件还没跟上”时,他们的实际意思是:
“我们没有那种已经收集了互联网规模的数据集的硬件,这些数据集包含了所有可能的人类任务,完美执行并由人类标注,且无噪声、高精度。哦,还有能在1毫秒内运行ChatGPT大小模型的计算硬件。”
这是事实,我们最接近的可能是Meta的Ego4D数据集。但如果这是机器学习提供有效解决方案的要求,那么大部分工作已经为你完成了。在机器人学中收集数据是困难的。“硬件还没跟上”是一个方便的借口。当多个不同的(廉价)硬件平台在人类操作下能够完成精确任务,但在AI操作下却不能时,这个借口就显得很无力。
旁注:我们需要更好的硬件来学习吗?
上述观点是,即使硬件有限,当由人类操作时,它也能完成有用且复杂的任务。因此,执行任务的硬件限制并不是问题。然而,这并没有回答硬件是否限制了AI能学什么。例如,上述提到的仿人机器人没有触觉,或者在人类操作时,没有重量感。但我们人类通过生活经验学会了这些,当通过VR头显操作机器人时,可以替代这些感觉,仍然能很好地控制机器人。
这是一个我们还没有答案的问题[3]。一些研究人员认为我们不需要任何复杂的硬件(触觉等),仅凭视频就足够了,而另一些人则认为,要学习物理基础,即对物理世界如何运作的有用理解,我们需要来自物理实体(机器人)的数据,而不仅仅是观察。
Meta研究负责人在2021年12月20日的Facebook讨论中分享的观点
我个人对仅凭视频或互联网数据就足够的观点持怀疑态度。但这还取决于学习的目标是什么。对于一个能完成健康成年人期望的仿人机器人,我持怀疑态度。但对于一个能在工厂里走动并执行预定任务的简单机器人,或许可以。
支撑AI进步的因素在机器人学中尚不可期
从上述硬件示例中可以看出,人们正在努力为远程操作创建硬件平台。这里的假设是,就像深度学习通过扩展数据(互联网规模)的人类演示(视频、图像、文本、声音)取得成功一样,如果我们收集足够多的机器人执行特定任务的数据,并用文本描述进行标注,我们就可以训练一个模型,使其能够学习抽象动作,从而跳过我们之前思考的“动作组件”过程,模型可以稳健地执行它最初没有训练过的任务。创建这种称为大型行为模型(LBM)[8]的努力正在不同实验室进行。我认为Russ Tedrake和丰田研究所的工作值得一提,还有Google(之前的Everyday Robots)。学术界也在努力创建训练这些模型的数据集(RT-X)。
我相信这些方法会让我们走得更远,我们可能会看到更多多功能且灵巧的机器人从工业和学术实验室中诞生。
但这可能无法满足我们对机器人的期望。机器人系统的故障通常不像LLM模型那样被容忍。当ChatGPT或Midjourney给出错误答案或生成有六根手指的人类图像时,我们可以一笑置之,并继续使用。但自动驾驶汽车或机器人电工剪错电线导致房屋起火,即使是轻微的故障也是不可接受的。
想象一下,如果有一个像这样的机器人,故障率与ChatGPT一样
现实世界比互联网更加动态和混乱。语言模型的边缘故障在互联网用例中是可以容忍的,但这些故障在动态的现实世界中更为普遍,对于机器人学来说不可忽视。复制所有这些边缘案例将是一项艰巨而漫长的数据收集任务。
即使在当前阶段,似乎收集的数据质量比数量更重要,这与LLM模型的情况形成对比。对于机器人学来说,在我们讨论硬件之前,数据是瓶颈。这里的瓶颈不仅仅是指数据的数量,这正在通过公司和LBM的努力得到解决。数据的内容,包括其多样性和精确性,也很重要。
另一个因素是计算能力。ChatGPT和Midjourney可以非常快速地为你写信、解决编程问题、绘制图画,与人类相比速度快得惊人。然而,这些模型输出结果的速度对于灵巧地穿越和与现实环境互动来说仍然太慢。即使我们能够为机器人收集精确的数据,以大约250毫秒的速度(人类的平均反应时间,我们的反射甚至更快[6]),我们能否在当前模型的基础上以所需的速度部署这些数据?
例如,假设你在食堂排队时端着午餐托盘,有人从后面撞了你一下。从识别发生了什么,到在保持午餐托盘水平的同时稳住平衡,整个过程发生得非常快。这是目前LBM或LLM模型难以实现的要求。
机器人可能对我们保持食物托盘平稳的能力感到惊讶,就像我们对蜘蛛侠电影中的蜘蛛感应感到惊讶一样
值得一提的是,这种平衡问题是一些机器人解决得非常优雅的。你可能见过波士顿动力公司“欺负”他们的机器人来展示这种