有人说,机器人领域进展缓慢,甚至和机器学习的其他子领域相比显得毫无进展。
谷歌 DeepMind 机器人科学家,SayCan、RT-1、RT-2 等具身智能项目参与者 Alex Irpan 同意这一说法。但他认为,这是因为机器人学是一个和现实紧密连接的领域,现实的复杂性决定了他们不免碰壁。他还指出,这些问题不是机器人技术所独有的。同样的问题也适用于大语言模型(LLM)等技术。这些模型在面对现实世界时,会遇到与机器人学类似的复杂性问题。
最近,他写了一篇题为「The Tragedies of Reality Are Coming for You(现实的悲剧正在向你袭来)」的博客来阐述这一观点。
现实的悲剧正在向你袭来
2023 年,我参加了一次 ML 会议。夜未央,酒酣耳热,话题转到了一个问题上:「如果你能把任何一个机器学习子领域的资源都给另一个子领域,你会砍掉哪个,把资源给谁?」
我不记得别人是怎么说的,但有一个人说他们会砍掉机器人。当我进一步追问时,他们说机器人技术进展太慢,相对于其他领域来说,什么都没有发生。
他们说机器人技术比纯软件的机器学习子领域进展缓慢,我认为他们说得没错,但我还想补充两点:
机器人学习进展较慢的原因是:如果不解决难题,就很难有所作为。
机器人技术的难题并非机器人独有。
在机器人技术领域,人们常说的一句话是「现实是混乱的」。相对于代码而言,我会将其延伸为「现实是复杂的」。在机器人技术中,你往往要将混乱的现实推向一个足够好的抽象层,以便代码能够在其上发挥作用。作为一个领域,计算机科学花了数十年时间在硬件和软件之间创建了良好的抽象层。代码描述了如何将电力输送到硬盘、处理器和显示器,它足够可靠,我甚至不需要考虑它。
这样做有很多好处。一旦你完成了这项艰巨的工作,并将你的工作进展转移到抽象的逻辑空间中,一切都会变得更容易。代码和数据的可复制性令人难以置信。我在 3 台设备上同步了代表这篇博文草稿的文件副本,甚至不用花费任何精力思考。
不过,就像 Joel Spolsky 所说,所有抽象在某种程度上都有漏洞,而我发现机器人技术中的漏洞往往更大。有很多出错的方式与代码的正确性无关。
这和这个学科的一些基本原理有关吗?有一点。很多机器人硬件比笔记本电脑或 Linux 服务器更具实验性。消费类机器人还不是一大产业。「实验性」往往意味着「奇怪的、更容易出现故障的状态」。