当前位置:   article > 正文

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

懒人福音!谷歌让机器训练机器,用大语言模型定制专属于你的家务机器人
克雷西 发自 凹非寺
量子位 | 公众号 QbitAI

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

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

563db11b5705a5240b9d2cb23a42be85.gif

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

2644b2fac666364065ac8f2a8fc78bad.gif

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

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

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

f7b16e231d6d5bfc7e6112d90a2f7502.gif

让机器训练机器

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

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

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

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

  1. objects = ["yellow shirt""dark purple shirt""white socks""black shirt"]
  2. receptacles = ["drawer""closet"]
  3. pick and place("yellow shirt""drawer")
  4. pick and place("dark purple shirt""closet")
  5. pick and place("white socks""drawer")
  6. pick and place("black shirt""closet")
  7. # Summary:

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

# Summary: Put light-colored clothes in the drawer and dark-colored clothes in the closet.

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

  1. # Summary: Put light-colored clothes in the drawer and dark-colored clothes in the closet.
  2. objects = ["black socks""white shirt""navy socks""beige shirt"]
  3. receptacles = ["drawer""closet"]
  4. pick and place("black socks",

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

  1. pick and place("black socks""closet")
  2. pick and place("white shirt""drawer")
  3. pick and place("navy socks""closet")
  4. pick and place("beige shirt""drawer")

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

  1. objects = ["yellow shirt""dark purple shirt""white socks""black shirt"]
  2. pick and place("yellow shirt")
  3. pick and place("dark purple shirt")
  4. pick and toss("white socks")
  5. pick and place("black shirt")
  6. # Summary: Pick and place shirts, pick and toss socks.

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

  1. # Summary: Pick and place shirts, pick and toss socks.
  2. objects = ["black socks""white shirt""navy socks""beige shirt"]
  3. #以下为LLM输出结果:
  4. pick and toss("black socks")
  5. pick and place("white shirt")
  6. pick and toss("navy socks")
  7. pick and place("beige shirt")

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

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

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

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

8c9238722085d2610284cdf6029f8b8c.png

TidyBot工作流程示意图

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

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

基准测试成绩亮眼

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

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

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

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

8fede086c704c28abf5e559eb9243614.png

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

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

  • 物品大类,如“服装”和“玩具”

  • 物品属性,如“金属材质”和“塑料材质”

  • 物品功能,如“夏装”和“冬装”

  • 物品子类,如“衬衫”和“其他服装”

  • 复合类型,如“图书和玩具”

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

1fba471b8bea5a4909856e6ee5f7e442.png

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

7c599cce753c5a4245923014cb974dc0.png

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

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

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

b7dd61fc9031e8c132a8734f3f3f8d6f.png

测试使用的真实场景

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

8e5f6829a97d77620a18c33ffbad870d.png

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

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

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

最后,让我们实际看一下TidyBot在测试中的表现吧。

位置及放置方式偏好:服装→沙发,放;木块→抽屉,放;易拉罐→垃圾桶,扔;水果→黑色箱子,扔;零食→塑料箱,扔

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/283077
推荐阅读
相关标签
  

闽ICP备14008679号