当前位置: 首页 > 科技观察

“行胜于言”:语言模型如何融入机器人?

时间:2023-03-16 13:35:00 科技观察

本文转载自雷锋网。如需转载,请在雷锋网官网申请授权。谷歌大脑的机器人团队(RoboticsatGoogle)最近发表了一篇文章,介绍了他们如何将大规模语言模型的“说话”能力与机器人的“行走”能力相结合,从而赋予机器人更适合的推理能力物理世界(物理接地)。1动机当有人问“我不小心把饮料洒了,你能帮帮我吗?”时你如何回答?你评估一下现在的环境,你可能会帮对方清理一下饮料瓶。如果身边有抹布,你就会拿起抹布给他擦干净。当然,这些循序渐进的说明可能会在你心里默念。当你不观察周围的吸尘器时,你显然不会告诉对方使用吸尘器进行清洁,因为它不符合当前的环境条件。这种行为决策已经体现了两个步骤:面对求助,你有一些可以解决当前问题的行为候选,然后你要真正下来,选择最符合的行为与现实。在机器人的语境下,在上一步中,我们需要一个语言模型来理解一段人类语言发出的指令,并“告诉”我们可能的解决方案;第二步需要结合周围环境,挑选出符合现实世界的场景。这篇文章是尝试将这两种行为解耦,并以适当的方式将它们结合起来。第一步是了解和生成可能的候选人的第一步。自然,文章使用了现在自然语言处理领域流行的大规模语言模型(LLM)。可以是生成式的,即面对一个问题,生成可能的问题和答案,如下图所示:三位LLM给出的回复可以看出,这种生成式结构并不适用于机器人面对行为领域。一方面,FLAN模型的输出结果没有明确的行为指示;另一方面,即使在GPT3中给出了具体的做法,仍然没有考虑到真实场景:没有吸尘器怎么办?就像我一开始想表达的:你能说什么不重要,重要的是能不能行得通?因此,第二步需要考虑机器人所处的环境、它能完成的行为、它目前拥有的技能等,这些往往是用强化学习的价值函数(VF)或可供性函数来评估的。如果说第一步的LLM是会思考会说话的“心口”,那么第二步的affordance就是“眼睛和手”。第一步是“说”,第二步是判断“能”做什么。文章将这个模型命名为SayCan。2方法上面提到的文章中方法的关键是如何让没有与现实世界结合的“理想化”的LLM变得更加“现实”。只是根据一个指令,用对话生成的方法生成一个合理但无关紧要的语句并不是我们想要的。因此,SayCan采用提示和对特定行为进行评分的方式。具体来说,机器人首先观察周围的环境,并使用VF来寻找一些可操作的行为候选。法学硕士根据问题和简短提示对这些行为进行评分。VF和LLM打分的两个分数的乘积作为最终选择行为的置信度,选择得分最高的行为作为本步骤选择的行为。之后将当前选择的行为连接到上一步的答案模板,作为下一步的模板输入,继续重复上述动作,递归推导后续行为,直到结束标志终于推导出来。这个过程可以参考下图。选择行为流程示意图LLM是怎么做到的?如下图所示,LLM使用模板“Iwould:1.”。作为回答“Howwould...”问题的命令词汇表(提示)。值得注意的是,文章中还提到,这种以比较标准的方式开始的对话,是专门针对机器人的语境设计的,真实场景可能会更加复杂。此外,用于上下文学习的例子也是由相似的句子组成的。为了让模型生成句子供参考,就是图中的提示工程部分。后续的LLM是对预先选择的行为进行打分,这是一种类似于分类或者检索的方法,而不是生成式的。LLM的具体实现过程,整个实现可以参考如下伪代码:3结果本文在模拟厨房和真实厨房中进行了测试,包括101个由不同语言指令组成的任务。SayCan补全的一些示例如下所示。作为人类给出的指令,右侧是机器人根据LLM和VF解码的指令序列。蓝色柱状图表示LLM对特定动作得到的概率分数,右边是VF得到的分数。场景1人类:我把可乐洒了,你能用什么东西把它清理干净吗?机器人:我会1)找一块抹布。2)拿着这块抹布。3)把它带给你。4)完成。示例场景1场景2人:我打翻了可乐,你能帮我拿一罐吗?机器人:我会1)找一罐可乐。2)拿起这罐可乐。3)把它带给你。4)完成。示例场景二示例场景三场景三人:你会怎么把抹布放在壁橱上机器人:我会1)找一块抹布。2)拿着这块抹布。3)靠近壁橱。4)完成。其中,场景三第一步的选择,虽然语言模型给出了“捡起海绵”的最佳选项,但是当机器人什么都看不见的时候,VF给这个选项打分很低。这表明SayCan的语言部分可以对物理世界进行推理。同时,有趣的是,最后一个动作,“笨拙”的机器人还是失败了:它把海绵扔到了地上。更多视频请参考网址:https://say-can.github.io/4结论SayCan结合了强化学习的“行动”能力和大规模语言模型的“说话”能力,突出《行胜于言》背后的思考——仅仅发出可能的行为指令是不够的,还要结合外部周围环境去做能做的事情。但是,文章提出了以下问题作为方向未来思考:1)如何借鉴融合现实世界的LLM进一步完善语言模型本身,比如提高对世界知识的推理能力。2)更本质的是,适合人类的自然语言真的是本体吗机器人编程的语言?3)如何将自然语言理解技术更好地融入机器人领域?可以看出,目前对机器人的研究已经逐步发力在机器人领域f“软件”算法,上游的AI算法也快速应用到这个领域,期待它有更好的发展。