垃圾分类也能轻松搞定

克雷西 发自 凹非寺

量子位 | 公众号 QbitAI

能根据你的喜好定制的家务机器人,来了!

想把深色衣服和浅色衣服分开洗?没问题,机器人分分钟就能帮你分好类:

懒人福音!谷歌让机器训练机器,用大语言模型定制你的家务机器人

被垃圾分类的问题搞得焦头烂额?没关系,也交给机器人来做:

懒人福音!谷歌让机器训练机器,用大语言模型定制你的家务机器人

总之,分类识别、定向放置……一切都凭你的习惯。

更关键的是,利用大语言模型不需要大量数据,也无需场景化学习,几句话就能轻松调教

这款整理机器人名为TidyBot,由谷歌与美国多所高校联合打造,通讯作者来自普林斯顿大学。

懒人福音!谷歌让机器训练机器,用大语言模型定制你的家务机器人

让机器训练机器

对于物品整理机器人的定制,最难的一环就是用户偏好的分析。

传统上,这类信息需要通过海量的数据分析才能得到。

而TidyBot是使用LLM分析用户喜好信息的。

用户给出的具体实例,比如依据颜色将不同服饰分别放入衣柜和抽屉,会被转换成Python风格的LLM提示信息。

懒人福音!谷歌让机器训练机器,用大语言模型定制你的家务机器人

最后的概述是由LLM反馈的,具体到这个例子当中,LLM生成了如下结论:

懒人福音!谷歌让机器训练机器,用大语言模型定制你的家务机器人

该结论在接下来的环节中会被用于判定未知物品应该被放到哪里,前一步的输出结果在这里作为提示的开头。

懒人福音!谷歌让机器训练机器,用大语言模型定制你的家务机器人

然后,LLM会输出几个新颜色衬衫和袜子的放置位置。

懒人福音!谷歌让机器训练机器,用大语言模型定制你的家务机器人

除了放置的位置,LLM也能分析其他操作信息,比如是需要“放”还是“扔”(下方Summary中的内容由LLM生成)。

懒人福音!谷歌让机器训练机器,用大语言模型定制你的家务机器人

同样的,使用LLM总结出的信息可以判断应对未知物体执行何种操作。

懒人福音!谷歌让机器训练机器,用大语言模型定制你的家务机器人

其他动作信息原理也都相同。

有了LLM给出的信息,接下来就要应用到实际工作中了。

TidyBot的系统中预置了很多物品的分类标签,LLM指令的执行方式也已经由程序设定。

TidyBot首先让图像识别模块判断出物品的基本信息,然后传给LLM生成指令,并交付执行。

懒人福音!谷歌让机器训练机器,用大语言模型定制你的家务机器人

△TidyBot工作流程示意图

由于只有极少量的数据需要进行区分,TidyBot具有很强的鲁棒性。

同时,它能对来自任意用户的任何物品进行分类,又有很强的灵活性。

基准测试成绩亮眼

除了TidyBot本身,测试基准数据集也是该团队的另一重要贡献。

该数据集包含了96组以文本形式描述的任务场景,具体包括已知和未知操作方式的物品和相应的容器。

在每个场景中,容器的数量为2-5个,已知操作方式的物品数量为4-10个,未知物品数量与已知相同。

这96个场景涵盖了客厅、卧室、厨房和储藏室四种房间类型,每个类型24组。

懒人福音!谷歌让机器训练机器,用大语言模型定制你的家务机器人

△测试数据集节选,完整版可从GitHub中获取

实际环境中,由于对物品分类的方式多种多样,团队分别从不同分类角度对TidyBot的表现进行了测试,具体包括:

  • 物品大类,如“服装”和“玩具”
  • 物品属性,如“金属材质”和“塑料材质”
  • 物品功能,如“夏装”和“冬装”
  • 物品子类,如“衬衫”和“其他服装”
  • 复合类型,如“图书和玩具”

整体上,TidyBot的准确率达到了91.2%,超过了WordNet、RoBERTa等其他方式。

懒人福音!谷歌让机器训练机器,用大语言模型定制你的家务机器人

具体分类角度上的结果也是如此。

懒人福音!谷歌让机器训练机器,用大语言模型定制你的家务机器人

上述数据只是在理论层面对TidyBot的分类能力进行测试。

在实际应用中,TidyBot的表现同样不俗。

团队一共搭建了8个真实场景。

懒人福音!谷歌让机器训练机器,用大语言模型定制你的家务机器人

△测试使用的真实场景

每个场景各包括10件物品、2-5个容器和4-10条已知信息。

懒人福音!谷歌让机器训练机器,用大语言模型定制你的家务机器人

△测试中使用的容器和未知物品

每个场景都进行了重复测试,最终各测试了3次,即一共10*8*3=240次操作。

在这240次操作中,TidyBot的正确率达到了85%。

论文地址:
https://arxiv.org/abs/2305.05658
项目主页:
https://tidybot.cs.princeton.edu/
GitHub页面:
https://github.com/jimmyyhwu/tidybot/