天天看點

谷歌讓機器人充當大語言模型的手和眼,一個任務拆解成16個動作一氣呵成

機器之心報道

編輯:張倩、蛋醬

大模型在機器人領域找到了用武之地。

「我把飲料撒了,你能幫我一下嗎?」這是我們日常生活中再正常不過的一句求助語。聽到這句話,你的家人或朋友往往會不假思索地遞給你一塊抹布、幾張紙巾或直接幫你清理掉。

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

為了讓機器人聽懂,你可以把上面那句話分解成幾個簡單的指令,但這一過程的繁瑣可能會讓你放棄使用機器人。為了消除這種尴尬,我們需要給機器人安裝一個聰明的大腦。

深度學習領域的研究表明,擁有優秀語言了解能力的大型語言模型(如 GPT-3, PaLM 等)有望充當這個大腦。對于同樣一句話(我把飲料撒了,你能幫我一下嗎?),大模型們給出的回應可能是:「可以試試用吸塵器」或「你想讓我去找個清理工具嗎?」

可以看出,大型語言模型可以了解稍微複雜一些的進階指令,不過它們給出的回答并不總是可行的(比如機器人可能沒辦法拿取吸塵器或屋子裡沒有吸塵器)。要想将二者更好地結合,大模型還需要了解機器人的技能範圍以及周圍的環境限制。

谷歌的「Robotics at Google」最近就瞄準了這一方向,并提出了一個名為「Saycan」(DO AS I CAN, NOT AS I SAY)的算法。在這個算法中,他們讓機器人充當語言模型的「手和眼睛」,而語言模型提供有關任務的進階語義知識。

在這種合作模式下,機器人甚至能夠完成一個包含 16 個步驟的長任務:

那麼,這是怎麼做到的呢?研究團隊在項目網站上介紹了他們的方法。

項目網站:https://say-can.github.io/

論文位址:https://arxiv.org/abs/2204.01691

方法概覽

研究者将大型語言模型(LLM)與機器人的實體任務組合到一起時用到了這樣一個原則:除了讓 LLM 簡單地解釋一條指令之外,我們還可以用它來評估單個動作對完成整個進階指令有幫助的機率。簡單來說,每個動作可以有一個語言描述,我們可以通過 prompt 語言模型讓它給這些動作打分。此外,如果每個動作都有一個相應的 affordance 函數,可以量化它從目前狀态(比如學到的價值函數)獲得成功的可能性。兩個機率值的乘積就是機器人能成功地完成一個對于指令有幫助的動作的機率。根據這個機率将一系列動作排序,選取機率最高的一個。

選擇了某個動作之後,我們就可以讓機器人去執行這個動作,這個過程通過疊代式地選擇一個任務并将其添加到指令上來進行。實際上,這裡将規劃結構化為使用者和機器人之間的對話:使用者提供進階指令,比如「你如何給我一個可樂罐?」然後語言模型會以一個明确的順序來回應,比如「我會:1、找到一個可樂罐;2、把可樂罐撿起來;3、把它拿給你;4、完成。」

總之,給定一個高層次的指令,SayCan 将來自語言模型的機率(某個動作對進階指令有用的機率)與來自值函數的機率(成功執行上述動作的機率)結合起來,然後選擇要執行的動作。這種方法選出來的動作是可行的、有用的。研究者通過将選擇的動作附加到機器人響應中并再次查詢模型來重複這個過程,直到輸出步驟終止。

實驗資料

研究者在兩個場景中對提出的算法 Saycan 進行了測試,一個是辦公室廚房,另一個是模拟辦公室廚房,其中 101 個任務由自然語言指令指定。下面将展示一些結果的亮點。

從下圖中,我們可以直覺地看到 SayCan 的決策過程。藍色條表示(歸一化)LLM 機率,紅色條表示(歸一化)成功執行標明動作的機率。綜合得分為綠色條,算法會選擇綜合得分最高的動作。這種可視化突出了 SayCan 的可解釋性。

比如任務是「我把可樂弄灑了,你能給我拿點東西來清理嗎?」,SayCan 成功地計劃和執行了以下步驟:1、找一塊海綿;2、拿起海綿;3、把它拿給你;4、完成。如下所示:

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

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

作者将 SayCan 應用到一個很複雜的指令上 “我把可樂撒在了桌上,你能把它扔掉并且拿東西來擦一下嗎”,這個指令需要 8 個動作,機器人成功規劃并完成了這個任務。在實驗中,最長的任務長達 16 個步驟。

總結來說,該方法實作 101 個任務的總計劃成功率為 70% ,執行成功率為 61% ,如果去掉 affordance grouding,大緻會損失一半的性能。

更多細節可參考原論文。本文共有 43 個作者,共同通訊作者為 Karol Hausman、Brian Ichter 和華人學者夏斐。

繼續閱讀