懶人福音!谷歌讓機(jī)器訓(xùn)練機(jī)器,用大語言模型定制專屬于你的家務(wù)機(jī)器人
本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
能根據(jù)你的喜好定制的家務(wù)機(jī)器人,來了!
想把深色衣服和淺色衣服分開洗?沒問題,機(jī)器人分分鐘就能幫你分好類:
被垃圾分類的問題搞得焦頭爛額?沒關(guān)系,也交給機(jī)器人來做:
總之,分類識別、定向放置……一切都憑你的習(xí)慣。
更關(guān)鍵的是,利用大語言模型,不需要大量數(shù)據(jù),也無需場景化學(xué)習(xí),幾句話就能輕松調(diào)教。
這款整理機(jī)器人名為TidyBot,由谷歌與美國多所高校聯(lián)合打造,通訊作者來自普林斯頓大學(xué)。
讓機(jī)器訓(xùn)練機(jī)器
對于物品整理機(jī)器人的定制,最難的一環(huán)就是用戶偏好的分析。
傳統(tǒng)上,這類信息需要通過海量的數(shù)據(jù)分析才能得到。
而TidyBot是使用LLM分析用戶喜好信息的。
用戶給出的具體實(shí)例,比如依據(jù)顏色將不同服飾分別放入衣柜和抽屜,會被轉(zhuǎn)換成Python風(fēng)格的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反饋的,具體到這個例子當(dāng)中,LLM生成了如下結(jié)論:
# Summary: Put light-colored clothes in the drawer and dark-colored clothes in the closet.
該結(jié)論在接下來的環(huán)節(jié)中會被用于判定未知物品應(yīng)該被放到哪里,前一步的輸出結(jié)果在這里作為提示的開頭。
# 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中的內(nèi)容由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總結(jié)出的信息可以判斷應(yīng)對未知物體執(zhí)行何種操作。
# Summary: Pick and place shirts, pick and toss socks.
objects = ["black socks", "white shirt", "navy socks", "beige shirt"]
#以下為LLM輸出結(jié)果:
pick and toss("black socks")
pick and place("white shirt")
pick and toss("navy socks")
pick and place("beige shirt")
其他動作信息原理也都相同。
有了LLM給出的信息,接下來就要應(yīng)用到實(shí)際工作中了。
TidyBot的系統(tǒng)中預(yù)置了很多物品的分類標(biāo)簽,LLM指令的執(zhí)行方式也已經(jīng)由程序設(shè)定。
TidyBot首先讓圖像識別模塊判斷出物品的基本信息,然后傳給LLM生成指令,并交付執(zhí)行。
△TidyBot工作流程示意圖
由于只有極少量的數(shù)據(jù)需要進(jìn)行區(qū)分,TidyBot具有很強(qiáng)的魯棒性。
同時,它能對來自任意用戶的任何物品進(jìn)行分類,又有很強(qiáng)的靈活性。
基準(zhǔn)測試成績亮眼
除了TidyBot本身,測試基準(zhǔn)數(shù)據(jù)集也是該團(tuán)隊的另一重要貢獻(xiàn)。
該數(shù)據(jù)集包含了96組以文本形式描述的任務(wù)場景,具體包括已知和未知操作方式的物品和相應(yīng)的容器。
在每個場景中,容器的數(shù)量為2-5個,已知操作方式的物品數(shù)量為4-10個,未知物品數(shù)量與已知相同。
這96個場景涵蓋了客廳、臥室、廚房和儲藏室四種房間類型,每個類型24組。
△測試數(shù)據(jù)集節(jié)選,完整版可從GitHub中獲取
實(shí)際環(huán)境中,由于對物品分類的方式多種多樣,團(tuán)隊分別從不同分類角度對TidyBot的表現(xiàn)進(jìn)行了測試,具體包括:
- 物品大類,如“服裝”和“玩具”
- 物品屬性,如“金屬材質(zhì)”和“塑料材質(zhì)”
- 物品功能,如“夏裝”和“冬裝”
- 物品子類,如“襯衫”和“其他服裝”
- 復(fù)合類型,如“圖書和玩具”
整體上,TidyBot的準(zhǔn)確率達(dá)到了91.2%,超過了WordNet、RoBERTa等其他方式。
具體分類角度上的結(jié)果也是如此。
上述數(shù)據(jù)只是在理論層面對TidyBot的分類能力進(jìn)行測試。
在實(shí)際應(yīng)用中,TidyBot的表現(xiàn)同樣不俗。
團(tuán)隊一共搭建了8個真實(shí)場景。
△測試使用的真實(shí)場景
每個場景各包括10件物品、2-5個容器和4-10條已知信息。
△測試中使用的容器和未知物品
每個場景都進(jìn)行了重復(fù)測試,最終各測試了3次,即一共10*8*3=240次操作。
在這240次操作中,TidyBot的正確率達(dá)到了85%。
最后,讓我們實(shí)際看一下TidyBot在測試中的表現(xiàn)吧。
位置及放置方式偏好:服裝→沙發(fā),放;木塊→抽屜,放;易拉罐→垃圾桶,扔;水果→黑色箱子,扔;零食→塑料箱,扔
論文地址:https://arxiv.org/abs/2305.05658
項(xiàng)目主頁:https://tidybot.cs.princeton.edu/GitHub頁面:
https://github.com/jimmyyhwu/tidybot/