有人说,机器人领域进展缓慢,甚至和机器学习的其他子领域相比显得毫无进展。
谷歌 DeepMind 机器人科学家,SayCan、RT-1、RT-2 等具身智能项目参与者 Alex Irpan 同意这一说法。但他认为,这是因为机器人学是一个和现实紧密连接的领域,现实的复杂性决定了他们不免碰壁。他还指出,这些问题不是机器人技术所独有的。同样的问题也适用于大语言模型(LLM)等技术。这些模型在面对现实世界时,会遇到与机器人学类似的复杂性问题。
最近,他写了一篇题为「The Tragedies of Reality Are Coming for You(现实的悲剧正在向你袭来)」的博客来阐述这一观点。
现实的悲剧正在向你袭来
2023 年,我参加了一次 ML 会议。夜未央,酒酣耳热,话题转到了一个问题上:「如果你能把任何一个机器学习子领域的资源都给另一个子领域,你会砍掉哪个,把资源给谁?」
我不记得别人是怎么说的,但有一个人说他们会砍掉机器人。当我进一步追问时,他们说机器人技术进展太慢,相对于其他领域来说,什么都没有发生。
他们说机器人技术比纯软件的机器学习子领域进展缓慢,我认为他们说得没错,但我还想补充两点:
- 机器人学习进展较慢的原因是:如果不解决难题,就很难有所作为。
- 机器人技术的难题并非机器人独有。
在机器人技术领域,人们常说的一句话是「现实是混乱的」。相对于代码而言,我会将其延伸为「现实是复杂的」。在机器人技术中,你往往要将混乱的现实推向一个足够好的抽象层,以便代码能够在其上发挥作用。作为一个领域,计算机科学花了数十年时间在硬件和软件之间创建了良好的抽象层。代码描述了如何将电力输送到硬盘、处理器和显示器,它足够可靠,我甚至不需要考虑它。
这样做有很多好处。一旦你完成了这项艰巨的工作,并将你的工作进展转移到抽象的逻辑空间中,一切都会变得更容易。代码和数据的可复制性令人难以置信。我在 3 台设备上同步了代表这篇博文草稿的文件副本,甚至不用花费任何精力思考。
不过,就像 Joel Spolsky 所说,所有抽象在某种程度上都有漏洞,而我发现机器人技术中的漏洞往往更大。有很多出错的方式与代码的正确性无关。
这和这个学科的一些基本原理有关吗?有一点。很多机器人硬件比笔记本电脑或 Linux 服务器更具实验性。消费类机器人还不是一大产业。「实验性」往往意味着「奇怪的、更容易出现故障的状态」。
但是,我不认为硬件是造成问题的主要原因。现实才是问题的根源。Benjamin Holson 在他的「Mythical Non-Roboticist(神话般的非机器人学家)」一文中说得非常好:
第一个难点在于,机器人要处理的是现实世界中不完美的感知和不完美的执行。全局可变状态是一种糟糕的编程风格,因为它真的很难处理,但对于机器人软件来说,整个物理世界都是全局可变状态,你只能不可靠地观察它,并希望你的行动能接近你想要实现的目标。
机器人研究依赖于在现实与软件之间搭建新的桥梁,但这也发生在机器人研究之外。任何与现实对接的软件,对现实的了解都是不完美的。任何试图影响现实世界变化的软件,都必须应对现实的全局可变状态。任何软件,如果其行为依赖于现实中发生的事情,就会招致对抗性的噪声和复杂性。
游戏 AI 就是一个很好的例子。国际象棋 AI 是可靠的超人。然而,如果你以特定方式下棋,一些超人围棋 AI 是可以击败的,正如 Tony T. Wang 等人在 ICML 2023 论文「Adversarial Policies Beat Superhuman Go AIs」中发现的那样。对抗性技术找到了足够清晰以至于人类可以复制的策略。
在附录 G.2 中,我们的一位作者,一位围棋专家,能够在没有任何算法帮助的情况下,通过学习对手的对局记录来实现这种 [cyclic] 攻击。他们在 KGS 在线围棋服务器上以标准人类条件对局,在与作者无关的顶级 KataGo 机器人对局中取得了超过 90% 的胜率。
作者甚至在给机器人 9 个让子的情况下获胜,这是一个巨大的优势:拥有这些让子的人类职业棋手在面对任何对手(无论是人类还是人工智能)时,胜率几乎都是 100%。他们还击败了 KataGo 和 Leela Zero,二者每局棋的搜索次数都达到了 10 万次,这通常远远超出了人类的能力范围。此后,其他人类也利用 cyclic 攻击击败了其他各种顶级围棋 AI。
与此同时,几年前,OpenAI 创建了一个系统,该系统击败了 Dota 2 的卫冕世界冠军。在向公众开放该系统以测试其稳健性后,一个团队设计了一套策略,取得了 10 场连胜。
基于这一点,你可能会持一种悲观的观点,认为即使是连接 19 x 19 围棋棋盘或 Dota 2 这样一个简单的「现实」,其额外复杂性就足以使稳健行为具有挑战性。我认为这种观点有失公允,因为这两个系统都没有将稳健性作为最高目标,但我确实认为它们是一个有趣的案例研究。
最近,围绕 LLM 的炒作浪潮一浪高过一浪 —— 他们能做什么,他们能在哪里应用。这其中隐含的一个信念是,LLM 可以极大地改变人们在工作和休闲中与技术交互的方式。换句话说,LLM 将改变我们与现实交互的方式。事实上,我也加入了这股炒作浪潮,具体来说,我怀疑基础模型短期炒作过度,长期炒作不足。然而,这也意味着,对于一个历来不善于考虑现实的领域来说,现实的一切混乱都将到来。
就在这个人说机器人技术是浪费资源的同一个 ML 会议上,我提到我们正在用真实机器人进行基础模型实验。有人说这似乎有点吓人,我向他们保证这只是一个研究原型。但我也觉得 LLM 生成和执行软件有点吓人,我觉得他们隐隐担心一个却不担心另一个很有意思。硅谷的人有点自相矛盾。他们既相信软件能推动初创企业实现惊人的变革,又相信他们的软件不值得深思或反省。我认为,比特世界与原子世界一样,都是现实的一部分。它们在不同的层面上运行,但都是现实的一部分。
我注意到(有些幸灾乐祸),LLM 从业者也开始遭遇之前机器人技术碰到过的痛点。比如「我们无法复制这些训练,因为这太耗费资金了」。是啊,这个问题在机器人领域已经讨论了至少十年。再比如,「我没法让必应告诉我《阿凡达 2》的上映日期,因为它一直在调出关于自己的新闻报道,并在生成前进行自我修正。」
我们现在所处的世界,任何公开的互联网文本都会不可逆转地影响检索增强生成。欢迎来到全局可变状态。每当我看到有人声称 ChatGPT 的行为出现了倒退,我就会想起我和其他人为了解释机器人性能突然莫名下降而想出的各种「阴谋论」,以及问题究竟是出在模型、环境,还是我们的过度推断。
俗话说「所有的机器人 demo 都在撒谎」,人们发现所有的 LLM demo 也都在撒谎。我认为,从根本上说,这是无法避免的,因为人类的注意力是有限的。重要的是评估谎言的类型、大小和重要性。他们是否展示了模型 / 机器人如何泛化?他们有没有提到这些例子是如何精挑细选的?一旦将现实联系起来,这些问题就会变得更加复杂。梅西目前看起来是个不错的球员,但「他能在斯托克城寒冷的雨夜做到这一点吗」?
让问题变得复杂的是,这些问题的答案并不总是「否」。梅西可以在斯托克城的寒冷雨夜做到这一点。他足够优秀。这让问题变得困难,因为正确地回答一个「是」比正确地回答一个「否」要重要得多。随着 LLM 越来越优秀,随着 AI 在日常生活中越来越常见,作为一个社会,我们需要越来越善于判断模型是否已经证明了自己。我对未来的主要担忧之一,就是我们不善于评估模型是否已经证明了自己。
但是,我期望机器人学家会走在曲线的前面。在 LLM 操纵通用基准测试的说法出现之前,我们就在抱怨评估问题。早在「我们需要更好的数据覆盖率」成为基础模型预训练团队的口号之前,我们就在努力获取足够的数据,以捕捉自动驾驶的长尾效应。机器学习一直生活在一个令机器人专家、化学家、生物学家和神经科学家羡慕不已的泡沫中,随着它真正开始发挥作用,我们所有人都将遇到其他人多年来一直在应对的同样的现实壁垒。这些挑战是可以克服的,但会很艰难。欢迎来到现实世界。欢迎来到痛苦的世界。