能根据你的喜好定制的家务机器人,来了!
想把深色衣服和浅色衣服分开洗?没问题,机器人分分钟就能帮你分好类:
被垃圾分类的问题搞得焦头烂额?没关系,也交给机器人来做:
总之,分类识别、定向放置…… 一切都凭你的习惯。
更关键的是,利用大语言模型,不需要大量数据,也无需场景化学习,几句话就能轻松调教。
这款整理机器人名为 TidyBot,由谷歌与美国多所高校联合打造,通讯作者来自普林斯顿大学。
让机器训练机器
对于物品整理机器人的定制,最难的一环就是用户偏好的分析。
传统上,这类信息需要通过海量的数据分析才能得到。
而 TidyBot 是使用 LLM 分析用户喜好信息的。
用户给出的具体实例,比如依据颜色将不同服饰分别放入衣柜和抽屉,会被转换成 Python 风格的 LLM 提示信息。
objects = ["yellow shirt", "dark purple shirt", "white socks", "black shirt"] receptacles = ["drawer", "closet"] pick and place("yellow shirt", "drawer") pick and place("dark purple shirt", "closet") pick and place("white socks", "drawer") pick and place("black shirt", "closet") # Summary:
最后的概述是由 LLM 反馈的,具体到这个例子当中,LLM 生成了如下结论:
# Summary: Put light-colored clothes in the drawer and dark-colored clothes in the closet.
该结论在接下来的环节中会被用于判定未知物品应该被放到哪里,前一步的输出结果在这里作为提示的开头。
# Summary: Put light-colored clothes in the drawer and dark-colored clothes in the closet. objects = ["black socks", "white shirt", "navy socks", "beige shirt"] receptacles = ["drawer", "closet"] pick and place"black socks",
然后,LLM 会输出几个新颜色衬衫和袜子的放置位置。
pick and place("black socks", "closet") pick and place("white shirt", "drawer") pick and place("navy socks", "closet") pick and place("beige shirt", "drawer")
除了放置的位置,LLM 也能分析其他操作信息,比如是需要“放”还是“扔”(下方 Summary 中的内容由 LLM 生成)。
objects = ["yellow shirt", "dark purple shirt", "white socks", "black shirt"] pick and place("yellow shirt") pick and place("dark purple shirt") pick and toss("white socks") pick and place("black shirt") # Summary: Pick and place shirts, pick and toss socks.
同样的,使用 LLM 总结出的信息可以判断应对未知物体执行何种操作。
# Summary: Pick and place shirts, pick and toss socks. objects = ["black socks", "white shirt", "navy socks", "beige shirt"] #以下为LLM输出结果: pick and toss("black socks") pick and place("white shirt") pick and toss("navy socks") pick and place("beige shirt")
其他动作信息原理也都相同。
有了 LLM 给出的信息,接下来就要应用到实际工作中了。
TidyBot 的系统中预置了很多物品的分类标签,LLM 指令的执行方式也已经由程序设定。
TidyBot 首先让图像识别模块判断出物品的基本信息,然后传给 LLM 生成指令,并交付执行。
△TidyBot 工作流程示意图
由于只有极少量的数据需要进行区分,TidyBot 具有很强的鲁棒性。
同时,它能对来自任意用户的任何物品进行分类,又有很强的灵活性。
基准测试成绩亮眼
除了 TidyBot 本身,测试基准数据集也是该团队的另一重要贡献。
该数据集包含了 96 组以文本形式描述的任务场景,具体包括已知和未知操作方式的物品和相应的容器。
在每个场景中,容器的数量为 2-5 个,已知操作方式的物品数量为 4-10 个,未知物品数量与已知相同。
这 96 个场景涵盖了客厅、卧室、厨房和储藏室四种房间类型,每个类型 24 组。
实际环境中,由于对物品分类的方式多种多样,团队分别从不同分类角度对 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/
本文来自微信公众号:量子位 (ID:QbitAI),作者:克雷西
最新评论