谷歌科學家親講:具身推理如何實現?讓大模型「說」機器人的語言

語言: CN / TW / HK

來源:智源社群

整理: 戴一鳴

導讀: 機器人領域已經發展了三四十年,但應用方面的進展較慢。這是因為,機器人建立在這樣一個假設上:工作環境是簡單可控的。如果將機器人部署到稍微複雜一些的環境(如家用環境中),則對機器人的部署帶來了巨大的挑戰。

隨著大規模語言模型的發展,是否能夠藉助它的能力,引導機器人理解複雜指令,完成更高階的任務?而在這一過程中,又會面臨哪些挑戰?近日,智源社群邀請谷歌研究科學家夏斐博士做“ 基於語言和視覺的具身推理 ”報告,詳細介紹了團隊在這一新興領域的前沿工作。

作者介紹 :夏斐,目前在谷歌大腦的機器人團隊任職研究科學家。他的主要研究方向是將機器人應用到非結構化的複雜環境中。他的代表工作有GibsonEnv, iGibson, SayCan等。他的研究曾被WIRED,華盛頓郵報,紐約時報等媒體報道。夏斐博士畢業於斯坦福大學,師從Silvio Savarese和Leonidas Guibas。他曾在CVPR, CoRL, IROS, ICRA, Neurips, RA-L, Nature Communications等會議和期刊發表過多篇文章。他最近的研究方向是將基礎模型(Foundation Models)用於智慧體的決策過程中。他的團隊近期提出了PaLM-SayCan模型。

01

背景

機器學習用於機器人在近年來取得了很大的進展,但依然存在比較大的問題。機器學習需要大量的資料訓練,但機器人產生的資料非常昂貴,且機器人本身也會有損耗。

人類在孩童時期,通過玩耍和物理世界進行互動,從中學習到了很多物理規律。受此啟發,是不是也可以讓機器人和環境進行互動,來獲得這些物理的資訊,從而完成各種各樣的任務?將機器學習用於機器人,很大程度上依賴於模擬環境。

對此,夏斐博士和他的同事們曾提出Gibson Env(Environment)和iGibson等工作,前者注重於視覺環境的重建,後者則注重物理模擬。通過對真實世界進行三維掃描和重建,並通過神經網路渲染視覺訊號,創造模擬環境,讓各種各樣的機器人進行物理模擬,學習從時間感測器到驅動器的控制等。在iGibson環境中,機器人可以學習與環境更為豐富的互動,如學習使用洗碗機等。

夏斐博士認為,上述工作表現的是從網際網路AI到具身AI的轉變。過去AI的訓練主要基於ImageNet、MS COCO等資料集,屬於網際網路任務。而具身AI要求AI的感知和動作形成閉環——AI要根據感知到的結果決定下一步的動作。夏斐的博士論文“large scale simulation for embodied perception and robot learning”就是關於將機器人模擬規模化後進行學習、感知和推理的。

近年來,基礎模型在人工智慧領域的快速發展。有研究者認為,可以不依賴模擬環境,而是從基礎模型中提取資訊,幫助機器人進行決策。夏斐博士稱這個新的方向為“Foundation Model for Decision Making”,並和團隊提出了PaLM-SayCan等工作。

02

PaLM-SayCan:讓語言模型指導機器人

1. 機器人為什麼很難處理複雜長程的任務?

PaLM-SayCan團隊共有45名作者,是谷歌機器人團隊和Everyday Robots的合作專案,目的是探索用機器學習改變機器人領域,並讓機器人提供資料,提升機器學習的能力。研究主要關注兩個問題:非結構化的複雜環境,以及讓機器人能夠在日常生活中更有用。

雖然人們已經有了類似Siri或Alexa這樣的個人助理,但機器人領域卻沒有這樣的存在。夏博士舉了這樣一個例子:在飲料灑了的時候,我們希望跟機器人說明情況,請它幫忙。或者運動後疲累,請它提供飲料和零食等。研究希望機器人能夠理解並執行這些任務。

目前的難點在於,機器人做長線或長程的任務還比較難,對於需要複雜規劃、常識和推理的任務依然無能為力,原因在於兩方面。 第一個是機器人領域缺乏好的使用者互動介面。傳統的機器人執行抓取-放置(Pick&Place)任務的時候,通常使用的是Goal-conditioning(目標條件)或獨熱條件(One-hot Conditioning)方法。 Goal-conditioning需要告訴機器人目標是什麼,讓機器人執行將初始條件改變為目標條件的任務,這需要首先給機器人示範一下,完成後的任務條件是什麼樣的。

而One-hot Conditioning採用的是One-hot編碼,對機器人可以完成的所有任務(如100個任務)用0~99來進行編號。每次需要執行的時候,提供給機器人一個編號,它就知道要去完成什麼任務。但獨熱條件的問題在於需要使用者記住每一個任務對應的編碼,且獨熱編碼並沒有獲得各個任務之間的依賴資訊(如完成一個目標對應的任務編碼序列)。

這些就導致目前 機器人只能完成短程的任務,通常是抓取和擺放,且機器人本身是靜態而非移動的。 此外,環境也侷限在實驗室這樣的場景中,往往沒有人類。

2.語言模型用於機器人:如何讓它能“說”機器人的語言?

為了解決這些問題,團隊想到通過使用基礎模型。語言模型可以取代Goal-conditioning,通過語言來清晰、無歧義地描述任務。同時,語言也包含了任務步驟之間的依賴資訊,如菜譜上的第一步、第二步等,為機器人學習提供幫助。此外,語言也可以去定義長程任務,解決採用模仿學習方法的侷限性。

將大模型用在機器人上,可能面臨一些挑戰。最重要的是要確定面向機器人輸出的語言。大模型是根據人類的自然語言進行的訓練,其輸出的任務,機器人不一定能做。而且語言模型沒有在機器人的資料上進行訓練,所以它並不知道機器人的能力範圍。第二個是Grounding問題,大模型並沒有親身經歷物理世界,缺少具身資訊。第三個則是在大模型引導下機器人本身的安全性和可解釋性問題。語言模型的偏見可能會因為與物理系統相聯絡而被放大,對真實世界造成影響。

  

有關可信性方面有這樣一個例子:當人類使用者和谷歌的LaMDA模型交流的時候,使用者問模型“最喜歡的島”,模型回答的是希臘的克里特島,而且還能答出一些原因。但是這個結果並不是可信的,因為AI應該給出的結果是“不知道最喜歡哪個島,因為哪個島都沒去過”。語言模型的問題便是它沒有和真實世界互動過,只是根據統計規律去輸出最有可能出現的下一句話。

如果將語言模型用於機器人上,不同的模型會給出不同的結果,其中一些對於驅動機器人執行任務沒有用處。例如,使用者提出需要讓機器人“將灑出的飲料清理掉”,GPT-3可能會說“你可以用一個吸塵器”。這個結果不完全正確,因為吸塵器並不能清理液體。

如果是LaMDA模型,LaMDA可能會說“想不想讓我幫你找一個清潔工?”這個回答是正常的,但並沒有實際用處,因為LaMDA在對話語料上進行的微調,其目標函式是儘可能延長對話長度,並非幫助完成任務。如果是FLAN模型,它會回覆“對不起,我不是故意的。”並沒有理解使用者的意圖:究竟是對話?還是需要解決問題?因此將大語言模型用於機器人上存在一系列問題。

PaLM-SayCan工作就是要解決這些挑戰。首先是讓大模型能夠說機器人的語言,方法是Few-shot Prompting(少樣本學習)。例如,構造諸如“將咖啡拿到櫥櫃上”、“給我一個橙子”等任務,並給出相應的步驟(如1-5和1-3)。然後,使用者給出模型一個指示:“將一個蘋果放在桌子上”。在有了之前的步驟提示後,模型會自行尋找和組合出合適的任務步驟,一步一步生成完成任務的計劃。

需要注意的是,大模型主要有兩種互動方式, 一種是生成式(Generative Interface),根據輸入生成下一個Token;另一種是打分式(Scoring Interface),對給定的Token計算似然函式。 PaLM-SayCan使用的是打分式的方式,語言模型會更穩定,容易輸出想要的結果。在放置蘋果的任務中,模型會對各種步驟進行打分,並選出合適的結果。

3.彌補語言模型和真實世界的鴻溝:讓機器人探索環境的可供性

還有一個問題需要解決:語言模型生成任務步驟時並不知道機器人目前能做什麼。如果機器人跟前並沒有蘋果,機器人就無法完成放置蘋果的任務。因此,這需要讓語言模型知道機器人在當前的環境和狀態下可以做什麼任務。這裡需要引入一個新的概念,叫做 Robotic Affordances(機器人可供性) ,也是這篇工作的核心。

Affordances翻譯成中文被稱為可供性,是美國心理學家詹姆斯·吉布森 (James J. Gibson)在1977年左右提出的一個概念, 定義為一個智慧體在一個環境中,在當前的狀態下可以做什麼任務,就代表它的可供性。 可供性可以採用監督學習去獲得,但是這樣需要大量的資料和標註。

對此,團隊採用了強化學習的方法,利用Policy的值函式近似可供性。例如在環境中訓練機器人抓取各種東西,訓練後讓機器人在房間中進行探索,當它看到面前有物品的時候,撿起該物品的值函式就會變得很高,從而代替可供性的預測。

將可供性和語言模型結合,就得到了PaLM-SayCan演算法。如上圖所示,左側為語言模型,對使用者提出的指令,對機器人可以完成的任務進行打分,計算出完成子任務對完成總任務有幫助的概率。右側是值函式,代表在當前狀態下完成每一項任務的概率。兩者的乘積代表機器人成功完成一個對總任務有幫助的子任務的概率。在蘋果的例子中,當前狀態下機器人面前沒有蘋果,要完成這個任務,第一件事情就是要找到蘋果,所以找到蘋果的可供性分數比較高,抓取蘋果的分數較低。找到蘋果後,抓取蘋果的可供性分數提高,則執行抓取蘋果的任務。不斷重複這個過程,直到總任務被完成。



03

更多具身智慧工作:提升模型推理能力,利用環境反饋形成閉環

1.Chain of Thought Prompting:理解複雜常識

除了PaLM-SayCan之外,夏博士和同事們也完成了其他一些相關工作。在Prompt方面,團隊提出了Chain of Thought Prompting(可以理解為解題思路)工作,目的是為了讓語言模型有更多的推理能力。

標準的Prompt模式是設計問題模板,並給出答案。模型推理時輸出答案,但有時候模型給出的回答是錯誤的。因此,Chain of Thought Prompting的目標就是在提供問題的同時給模型一段解釋,這樣可以顯著提升模型的結果,甚至在一些任務上超過人類水平。

模型在處理否定句的時候容易出錯。 例如,人類使用者提出“給我一個水果,但不要蘋果”。模型往往會提供一個蘋果,因為問題和可執行的選項中都有蘋果。利用Chain of Thought Prompting,可以提供一些解釋。例如,模型會輸出“使用者想要水果,但不是蘋果,香蕉是一種水果,不是蘋果。我可以給使用者一根香蕉”。

Chain of Thought Prompting還可以解決更為微妙的否定要求。例如,使用者表示對咖啡因過敏,要求機器人拿一個飲料。過敏是否定的另一種微妙形式,如果用傳統的方法,機器人可能會拿一個含咖啡因的飲料(沒有理解過敏所代表的否定含義)。而Chain of Thought Prompting可以對過敏等進行解釋,提升推理效果。

2.Inner Monologue:糾正錯誤,回到正確的執行軌道上

將大模型做機器人決策和環境互動相結合也是研究的重要方向。團隊提出了Inner Monologue的工作,目的是讓語言模型可以根據環境的變化來回溯以往的決策,從錯誤的指令或環境帶來的意外中恢復。

例如,人類回家的時候,發現選擇的鑰匙打不開門,這時候人們會選擇換另一把鑰匙試試,或者換個轉動的方向。這體現的就是根據環境的反饋來糾正錯誤,更新出新的動作。Inner Monologue工作就是這樣的思路。例如,機器人抓取可樂的過程中,如果可樂掉下去,後續的任務無法完成,就需Inner Monologue這樣的工作,檢測任務是否完成成功,並將反饋放入決策過程中,根據反饋資訊來作出新的決策。

如圖所示,Inner Monologue工作包含了主動情景描述(Active Scene Description)和任務成功檢測器(Success Detector)。當人類下達指令的時候,模型可以執行指令,並激活情景描述,用於輔助機器人的決策。訓練過程依然使用Few-shot Prompt的方式,使其能夠舉一反三。例如,當機器人接到指令去取飲料的時候,它會詢問人類究竟是取可樂還是蘇打水。

另一個案例是語言模型對歷史資訊進行的推理,在很多時候人類會在下達命令後改變主意,或者改變多次指令後要求機器人完成“剛才的任務”。在這裡,“剛才的任務”沒有具體指定,這就需要模型回溯歷史,看一下之前的任務是什麼。除了英文之外,目前Inner Monologue還可以在中文等語言上使用。經過在其他領域的實驗,團隊發現這種環境反饋的方法能夠完成一些非常複雜和閉環的規劃任務。

04

Q&A

Q:PaLM-SayCan的大語言模型是從頭訓練的嗎?還是隻用了模型。

A:大預言模型不需要做Fine-tune,本身已經包含了很多決策的資訊。例如用1750億引數的GPT-3,或者PaLM都可以,其本身已經包含了足夠多的任務規劃的、序列的資訊。

Q:在Inner Monologue工作中,Agent也會主動提問嗎?這是怎麼是吸納的?

A:我們用語言模型和Prompt的方法,在機器人完成一個任務的時候,會出現兩個選項“and ask”和“and continue”。究竟是提問還是繼續,取決於上下文語義中是否有歧義。

Q:機器人怎樣知道一件物品在什麼地方(比如薯片在抽屜裡)?如果將來機器人具備的能力逐漸增加,是否會造成在探索的過程中搜索空間過大?

A:機器人對於物品的存放位置的知識,目前是硬編碼的,不是一個自動的過程。但大語言模型也包含了一定的語義知識,比如物品在哪裡。這種語義知識可以減少搜尋空間。同時,也可以根據找到物品的概率去做探索。目前,夏斐團隊發表了一篇新的工作來解決這個問題,其核心思想是建立一個自然語言索引的場景表示。參考網站 nlmap-saycan.github.io

Q: 另外,近年來興起的分層強化學習,是否對複雜任務規劃有一定的啟發?

PaLM-SayCan和分層強化學習有異曲同工之處,有著底層技能和上層任務的規劃,可以說是一個分層的方法,但並不是分層強化學習。我個人比較看好這種分層方法,因為做任務規劃的時候,不一定要去做每一個細節的步驟,這樣會很浪費時間。任務規劃可以使用海量的網際網路資料訓練,但底層的技能需要物理資料,所以要和環境進行互動,學習。

Q:PaLM-SayCan真正用於機器人,是否還有原理性的問題沒有解決?如果作為日常保姆的替代等應用,還需要多久能夠實現?

A:目前還有一些原理性的問題沒有解決,並不是簡單的工程問題。在原理性方面,機器人的底層的運動控制和抓取是一個很大的挑戰,我們還無法做到100%的抓取成功,這是一個很大的問題。

當然,目前已經能夠為行動不便的人提供一些價值。但如果真正做到商業化產品,目前還不行,任務成功率在大約百分之九十,沒有達到商業上的要求。

Q:機器人規劃的成功率受限於訓練資料集嗎?

A:機器人的規劃能力是受限於訓練語料的。語料中很容易可以找到一些指令,如“將垃圾扔掉”等。但語料中幾乎沒有“把機器人二指爪往右移10釐米”這樣的語料,因為人們不會將這樣的資訊留在網際網路上。這就涉及到粒度資訊的問題,目前受限於語料,機器人只能完成粗粒度的任務。

另一方面,細粒度的規劃本身也不該由語言模型來做,因為它包含了太多的物理資訊,很可能無法用人類的語言來描述。一個思路是細粒度的操作可以用模仿學習(參考BC-Z工作),或者程式碼生成來實現(參考團隊最新工作 http://code-as-policies.github.io/)。大模型更大的作用是作為使用者的互動介面,根據人類給機器人的指令,進行解釋,並分解為機器可以執行的步驟。

此外,語言可以做高階語義規劃,不需要做更物理的規劃。如果要實現細粒度的規劃任務,還是要依靠模仿學習或強化學習。

未來智慧實驗室的主要工作包括:建立AI智慧系統智商評測體系,開展世界人工智慧智商評測;開展網際網路(城市)大腦研究計劃,構建網際網路(城市)大腦技術和企業圖譜,為提升企業,行業與城市的智慧水平服務。每日推薦範圍未來科技發展趨勢的學習型文章。目前線上平臺已收藏上千篇精華前沿科技文章和報告。

   如果您對實驗室的研究感興趣,歡迎加入未來智慧實驗室線上平臺。 掃描以下二維碼或點選本文左下角“閱讀原文”