Google 演示机器人服务员

Google 将虚拟聊天机器人的自然语言对话能力与实体机器人结合起来,演示了能在休息室里为其员工拿苏打和薯条的机器人服务员。该机器人尚未做好商用的准备,只能做少数简单的动作,甚至未整合 OK, Google 召唤功能。机器人能解释自然语言命令,权衡可能的行动,计划以较少的步骤实现要求。机器人使用了来自维基百科、社交媒体等来源的文字去训练其语言理解能力。它由子公司 Everyday Robots 设计,目前的功能是给员工拿零食。 (solidot)
0.jpg
0.jpg
在上周的演示中,谷歌研究人员告诉机器人:“我饿了,你能给我拿点零食吗?”然后,机器人开始搜索自助餐厅,它打开抽屉,找到薯片,并将其带给人类。谷歌高管和研究人员表示,这是首次将语言模型集成到机器人中。谷歌研究科学家布赖恩·伊克特(Brian Ichter)说:“从根本上说,这是一种训练机器人的截然不同的模式。”

目前市面上的机器人通常只专注于一两项任务,比如在装配线上移动产品或将两块金属焊接起来。开发能够完成一系列日常任务并在工作中自主学习的机器人则要复杂得多。多年来,大大小小的科技公司始终在努力制造这样的通用机器人。

语言模型的工作原理是,获取上传到互联网上的大量文本,并使用它们来训练AI软件,以猜测在某些问题或评论之后可能会出现什么样的反应。这些模型已经非常擅长预测正确的反应,以至于在与人打交道时,经常让人觉得就像在与一个有见识的人交谈。谷歌与包括OpenAI和微软在内的其他公司已经投入了大量资源来构建更好的语言模型,并对它们进行多语言的、越来越多的文本培训。 (来源: 网易科技 小小报道)

谷歌在本周二发布的博文中,详细介绍了这项研究进展,通过结合更复杂的语言模型,机器人执行命令的成功率从61%提高至74%。

641.jpg
项目链接:https://sites.research.google/palm-saycan
论文链接:https://arxiv.org/pdf/2204.01691.pdf
641.jpg
(图源:路透社)

一、用大模型提高理解能力,让机器人不再是“铁憨憨”

指挥机器人干活不是什么新奇的事,但要让机器人能够理解你的命令背后的意图,那就要考验它的“大脑”好不好用了。

比如,当你问机器人:“我把饮料洒了,你能帮忙吗?”谷歌机器人可以迅速筛出适配指令的合适行动,然后从厨房拿块清洁海绵来。

但假如你只是惊呼:“完蛋!我的饮料!”那么常见的机器人通常毫无反应,这时候,如果有一个智能机器人听出你的话外音,主动帮你清洁,那它才是真正聪明的机器人。
这些看似简单的感知技能,实际上是最具计算挑战性的任务类型。

以前,机器人系统只能执行简短、明确的指令,例如“拿起一个苹果”、“往前走两步”。

机器人往往在明确具体的任务和奖励下表现最好,但在学习执行多步骤任务和推理抽象的、模棱两可的指令方面遇到困难。

比如,你问机器人:“我刚刚锻炼过,可以给我拿一份健康的零食?”机器人可能很难理解这句话里的细微表达差别和微妙之处。
641.jpg
▲Everyday机器人给谷歌研究人员送零食(图源:路透社)

虽然近年来大型语言模型进展飞速,取得许多令人印象深刻的结果,很多语言模型在特定领域的知识储备已经远超人类,但很多语言模型的训练并没有基于物理世界的数据,通常不会跟环境产生直接交互,也不会观察其响应的结果。

这可能导致语言模型生成的指令,会让在现实环境中运行的机器人做出不合逻辑、不切实际或者不安全的行动。

我们还用刚才提到的问题举例,问机器人:“我把饮料洒了,你能帮忙吗?”
641.jpg
经典的OpenAI大模型GPT-3会提供一个建议:“您可以尝试使用真空吸尘器。”

谷歌AI系统LaMDA会回答:“您想让我帮忙找个清洁工具吗?”

另一个谷歌FLAN语言模型则会直接道歉:“对不起,我不是故意的。”这显然是个没用的回应。

因此,谷歌研究人员提出设想,有没有一种有效的方法,能够将高级语言模型的语言理解能力和机器人系统擅长的处理感知和交互能力相结合,同时利用两者的优势?

这就是谷歌正与谷歌母公司Alphabet的机器人子公司Everyday Robots合作研发的新方法——PaLM-SayCan。
//oss.zhidx.com/uploads/2022/08/62fc67951ac64_62fc679516d97_62fc679516d74_palm_saycan_teaser_compressed.mp4

二、用语言模型做“大脑”,机器人充当“手”与“眼”

谷歌研究人员称,将PaLM-SayCan集成到机器人中后,机器人通过使用思维链提示和执行请求所需的分步解决方案,能更好地执行复杂、抽象的任务,根据自身能力权衡接下来最合适的执行步骤,并实现高度可解释的行动结果。

“我们发现它(机器人)甚至能处理16个步骤的指令。”研究人员说。

引入PaLM-SayCan后,语言模型可以帮助机器人更好地理解运用到高级语义知识、需要进行推理的指令,使其与人类、与物理环境的互动更自然。

反过来,机器人可以充当语言模型的手和眼,通过与真实环境的不断交互为语言模型提供更多的经验。

具体是怎么做的呢?

PaLM-SayCan方法使用PaLM语言模型(Say)中包含的知识来确定和评估对高级指令有效的动作,它还用到一个Affordance功能(Can),来支持现实世界并确定在给定环境下可执行哪些操作。

这个系统可以看作是用户和机器人之间的对话平台。用户首先发出一个指令,语言模型将其拆解成方便机器人执行的一系列明确步骤。

然后,机器人对这些步骤进行筛选,通过评估确定在其当前状态和环境下最可行的行动计划,从而完成相应任务。

该模型通过将两个概率相乘,来确定特定技能成功学习的概率:一是task-grounding,即技能语言描述;二是world-grounding,即当前技能的可行性。

由于PaLM-SayCan方法拥有较好的可解释性,用户可以通过查看单独的语言和可视性分数,来轻松理解决策过程。

三、洒了饮料,机器人帮忙清理分几步?

如可视化界面所示,PaLM-SayCan执行复杂任务的行为是可解释的,这将使机器人的交互过程更加安全可控。

比如当你洒了饮料,请求机器人帮忙时,你可以看到它是如何做出决定,为执行任务选择最合适的步骤的:找到可乐罐,拾起可乐罐,走到垃圾桶旁边,放下可乐罐,找到一块海绵,拾起海绵,走向桌子,放下海绵……
//oss.zhidx.com/uploads/2022/08/62fc67424a059_62fc6742354cf_62fc67423549e_demo_sequence_compressed.mp4
蓝色显示的是语音模型分数,即语言模型判断技能有用的概率;红色是affordance分数,即系统成功执行技能的可能性;绿色显示的是用于最终决定执行技能的综合分数。
641.jpg
PaLM-SayCan方法将语言模型的概率和价值函数(VF)的概率相结合,以选择下一个要执行的技能,重复这个过程,直至高级指令成功完成。

研究人员使用基于图像的行为克隆(BC)来训练语言条件策略和基于时间差异(TD)的强化学习方法来训练价值函数。
641.jpg
智能体技能库中,训练策略和价值函数的每个技能都会被定义为一个具有简短语言描述的策略,用嵌入表示,以及一个指示从机器人当前状态完成技能概率的affordance函数。

为了学习affordance函数,研究人员使用稀疏奖励函数,设置为1.0表示成功执行,0.0表示未成功。

训练策略方面,研究人员从10个机器人在11个月内执行的68000次演示中收集了数据,并从一组自主学习的策略片段中筛选了12000次成功的片段,然后在Everyday Robots模拟器用使用MT-Opt学习语言条件值函数,通过使用演示来引导模拟策略的性能,以提供初步成功,再通过模拟中的在线数据收集来持续改进强化学习性能。

四、走向通用机器人时代

为了测试其方法,研究人员使用了与PaLM配对的Everyday Robots机器人,将机器人放在有各种常见物体的厨房环境中,用101条指令对其进行测试。

这些指令不是简单的命令式查询,而是涵盖了语言常有的歧义性和复杂性。

研究人员用两个指标来评估系统的性能:(1)规划成功率,表示机器人是否为指令选择了正确的技能;(2)执行成功率,表示机器人是否成功执行了指令。

他们比较了PaLM和FLAN两种谷歌大型语言模型、有和没有affordance grounding以及直接使用自然语言运行的底层策略。

结果显示,使用带有affordance grounding的PaLM(即谷歌PaLM-SayCan)系统在84%的时间内选择了正确的技能序列,并在74%的时间内成功执行这些技能序列。
//oss.zhidx.com/uploads/2022/08/62fc6a6197e37_62fc6a6194623_62fc6a61945fb_mosaic_16_demo_white_compat.mp4
▲当与PaLM结合使用时,SayCan展示了101条测试指令中84%的成功规划

与FLAN以及没有robotic grounding的PaLM相比,PaLM-SayCan的错误减少了50%。同时,相较此前的FLAN-SayCan方法,PaLM-SayCan的执行成功率提升了13%。
641.jpg
“这特别令人兴奋,因为它代表着我们第一次可以看到语言模型的进步如何转化为机器人技术的类似改进。”谷歌研究人员在技术博客中写道。

研究人员相信,这项研究将推动从执行简短、明确的制定命令的工业机器人,过渡到可以处理更复杂和抽象命令的通用机器人时代。

不过由于谷歌没有公开101个命令的完整列表,所以这些命令是否覆盖家庭机器人所需理解的绝大部分语言广度和复杂性,还不好下定论。

谷歌研究人员还开源了一个机器人模拟设置,希望提供宝贵资源用于将机器人学习与高级语言模型相结合的未来研究。

GitHub链接:http://say-can.github.io/

未来,他们希望更好地了解利用机器人的真实世界经验获得的信息来改进语言模型,以及自然语言在多大程度上是编程机器人的正确本体。

五、科技巨头对机器人研发兴趣浓厚

谷歌母公司Alphabet对研发机器人布局已久。

2013年,谷歌一连收购了几家知名机器人公司,包括机器人领域“最出圈”的波士顿动力。不过后来波士顿动力几经转手,先是被谷歌卖给日本电信和科技投资巨头软银,后来又被软银卖给了韩国汽车巨头现代。

此前Everyday Robotics打造的机器人已经在谷歌内部执行一些简单任务,比如送零食、倒垃圾、擦拭柜台。
641.jpg
▲机器人跟谷歌员工打乒乓球

Everyday Robotics项目仍处于起步阶段,机器人行动比较缓慢,做事也没那么果断灵巧。不过随着这些机器人借助谷歌大型语言模型提高理解能力,它们将进一步提高执行力。

除了谷歌外,多家大型科技公司都对机器人技术展现出浓厚的兴趣。

一个典型的代表是美国电商巨头亚马逊,它在仓库中使用了许多机器人,并且正在试验无人机送货。这个月初,亚马逊还宣布计划以17亿美元收购扫地机器人鼻祖iRobot,此次收购也将成为亚马逊史上第四大巨额收购交易。(智东西(公众号:zhidxcom) 作者 | ZeR0 编辑 | 漠影)