博客專欄

EEPW首頁 > 博客 > 谷歌讓機(jī)器人充當(dāng)大語言模型的手和眼,一個(gè)任務(wù)拆解成16個(gè)動作一氣呵成

谷歌讓機(jī)器人充當(dāng)大語言模型的手和眼,一個(gè)任務(wù)拆解成16個(gè)動作一氣呵成

發(fā)布人:機(jī)器之心 時(shí)間:2022-05-15 來源:工程師 發(fā)布文章
大模型在機(jī)器人領(lǐng)域找到了用武之地。

圖片


「我把飲料撒了,你能幫我一下嗎?」這是我們?nèi)粘I钪性僬2贿^的一句求助語。聽到這句話,你的家人或朋友往往會不假思索地遞給你一塊抹布、幾張紙巾或直接幫你清理掉。

但如果換成機(jī)器人,事情就沒有那么簡單了。它需要理解「飲料撒了」、「幫我一下」是什么意思,以及到底要怎么幫。這對于平時(shí)只能聽懂簡單指令(如移動到 (x,y),抓取可樂瓶)的機(jī)器人來說確實(shí)有些困難。

圖片


為了讓機(jī)器人聽懂,你可以把上面那句話分解成幾個(gè)簡單的指令,但這一過程的繁瑣可能會讓你放棄使用機(jī)器人。為了消除這種尷尬,我們需要給機(jī)器人安裝一個(gè)聰明的大腦。
深度學(xué)習(xí)領(lǐng)域的研究表明,擁有優(yōu)秀語言理解能力的大型語言模型(如 GPT-3, PaLM 等)有望充當(dāng)這個(gè)大腦。對于同樣一句話(我把飲料撒了,你能幫我一下嗎?),大模型們給出的回應(yīng)可能是:「可以試試用吸塵器」或「你想讓我去找個(gè)清理工具嗎?」

圖片


可以看出,大型語言模型可以理解稍微復(fù)雜一些的高級指令,不過它們給出的回答并不總是可行的(比如機(jī)器人可能沒辦法拿取吸塵器或屋子里沒有吸塵器)。要想將二者更好地結(jié)合,大模型還需要了解機(jī)器人的技能范圍以及周圍的環(huán)境限制。
谷歌的「Robotics at Google」最近就瞄準(zhǔn)了這一方向,并提出了一個(gè)名為「Saycan」(DO AS I CAN, NOT AS I SAY)的算法。在這個(gè)算法中,他們讓機(jī)器人充當(dāng)語言模型的「手和眼睛」,而語言模型提供有關(guān)任務(wù)的高級語義知識。

,時(shí)長00:58
,時(shí)長00:57

在這種合作模式下,機(jī)器人甚至能夠完成一個(gè)包含 16 個(gè)步驟的長任務(wù):
,時(shí)長01:26

那么,這是怎么做到的呢?研究團(tuán)隊(duì)在項(xiàng)目網(wǎng)站上介紹了他們的方法。

圖片


項(xiàng)目網(wǎng)站:https://say-can.github.io/論文地址:https://arxiv.org/abs/2204.01691
方法概覽
研究者將大型語言模型(LLM)與機(jī)器人的物理任務(wù)組合到一起時(shí)用到了這樣一個(gè)原則:除了讓 LLM 簡單地解釋一條指令之外,我們還可以用它來評估單個(gè)動作對完成整個(gè)高級指令有幫助的概率。簡單來說,每個(gè)動作可以有一個(gè)語言描述,我們可以通過 prompt 語言模型讓它給這些動作打分。此外,如果每個(gè)動作都有一個(gè)相應(yīng)的 affordance 函數(shù),可以量化它從當(dāng)前狀態(tài)(比如學(xué)到的價(jià)值函數(shù))獲得成功的可能性。兩個(gè)概率值的乘積就是機(jī)器人能成功地完成一個(gè)對于指令有幫助的動作的概率。根據(jù)這個(gè)概率將一系列動作排序,選取概率最高的一個(gè)。

圖片


選擇了某個(gè)動作之后,我們就可以讓機(jī)器人去執(zhí)行這個(gè)動作,這個(gè)過程通過迭代式地選擇一個(gè)任務(wù)并將其添加到指令上來進(jìn)行。實(shí)際上,這里將規(guī)劃結(jié)構(gòu)化為用戶和機(jī)器人之間的對話:用戶提供高級指令,比如「你如何給我一個(gè)可樂罐?」然后語言模型會以一個(gè)明確的順序來回應(yīng),比如「我會:1、找到一個(gè)可樂罐;2、把可樂罐撿起來;3、把它拿給你;4、完成。

圖片


總之,給定一個(gè)高層次的指令,SayCan 將來自語言模型的概率(某個(gè)動作對高級指令有用的概率)與來自值函數(shù)的概率(成功執(zhí)行上述動作的概率)結(jié)合起來,然后選擇要執(zhí)行的動作。這種方法選出來的動作是可行的、有用的。研究者通過將選擇的動作附加到機(jī)器人響應(yīng)中并再次查詢模型來重復(fù)這個(gè)過程,直到輸出步驟終止。
實(shí)驗(yàn)數(shù)據(jù)
研究者在兩個(gè)場景中對提出的算法 Saycan 進(jìn)行了測試,一個(gè)是辦公室廚房,另一個(gè)是模擬辦公室廚房,其中 101 個(gè)任務(wù)由自然語言指令指定。下面將展示一些結(jié)果的亮點(diǎn)。
從下圖中,我們可以直觀地看到 SayCan 的決策過程。藍(lán)色條表示(歸一化)LLM 概率,紅色條表示(歸一化)成功執(zhí)行選定動作的概率。綜合得分為綠色條,算法會選擇綜合得分最高的動作。這種可視化突出了 SayCan 的可解釋性。
比如任務(wù)是「我把可樂弄灑了,你能給我拿點(diǎn)東西來清理嗎?」,SayCan 成功地計(jì)劃和執(zhí)行了以下步驟:1、找一塊海綿;2、拿起海綿;3、把它拿給你;4、完成。如下所示:

圖片


如果把任務(wù)稍微調(diào)整為「我把可樂弄灑了,你能給我換一瓶嗎?」,SayCan 會用這些步驟來執(zhí)行:1、找到一瓶可樂;2、把可樂拿起來;3、把它拿給你;4、完成。這表明 SayCan 能夠利用 LLM 的大容量,它們關(guān)于世界的語義知識對于解釋指令和理解如何執(zhí)行指令都是有用的。

圖片


在下一個(gè)例子中,SayCan 利用了 affordance 的能力來「推翻」語言模型做出的選擇。盡管語言模型認(rèn)為拿取海綿是正確的動作,但 affordance 意識到這是不可能的,因此選擇了「尋找海綿」。這突出了 affordance grounding 的必要性。

圖片


作者將 SayCan 應(yīng)用到一個(gè)很復(fù)雜的指令上 “我把可樂撒在了桌上,你能把它扔掉并且拿東西來擦一下嗎”,這個(gè)指令需要 8 個(gè)動作,機(jī)器人成功規(guī)劃并完成了這個(gè)任務(wù)。在實(shí)驗(yàn)中,最長的任務(wù)長達(dá) 16 個(gè)步驟。
總結(jié)來說,該方法實(shí)現(xiàn) 101 個(gè)任務(wù)的總計(jì)劃成功率為 70% ,執(zhí)行成功率為 61% ,如果去掉 affordance grouding,大致會損失一半的性能。 

圖片


更多細(xì)節(jié)可參考原論文。本文共有 43 個(gè)作者,共同通訊作者為 Karol Hausman、Brian Ichter 和華人學(xué)者夏斐。


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉