對話高陽:具身大模型框架ViLa+CoPa

2024年3月,Figure推出Figure 01 demo,一段基於GPT-4V的具身操作演示讓全網震驚。與此同時,一篇知乎文章“Figure01 CEO點讚的清華具身智慧論文ViLa速讀”也將Figure 01所採用的頂層策略拖出水面。目前,在具身智慧大模型方向上,主要的兩條路徑:一條路徑是端到端訓練一套具身大模型,另一條路徑是基於現有的LLM或VLM的具身分層模型。第一條路徑以Covariant的RFM-1為代表,我們在上一篇文章解密機器人大模型RFM-1:Covariant創始人陳曦專訪做了詳細介紹;我們這篇文章,主要探討第二條路徑,具身分層模型的兩個典型工作ViLa和CoPa。
我也非常榮幸地邀請這兩個工作的負責人高陽進行了專訪,對ViLa和CoPa兩個工作背後的邏輯,核心結構等問題進行了探討。之前很多次想看高老師的工作,但因為工作較理論,一直沒有勇氣仔細閱讀。藉著最近看具身大模型的路徑,仔細看了ViLa和CoPa,感覺是具身分層大模型領域非常promising的兩個基礎設施級別的論文
這裡也對高陽做個簡單介紹:高陽目前是清華大學交叉資訊學院助理教授,本科畢業於清華大學計算機系,博士畢業於UC Berkeley。博士導師是Vision領域的大牛Trevor Darrell,讀博期間和Sergey Levine合作開始強化學習方面的探索,博後跟隨Pieter Abbeel做強化學習,合作的導師都是RL+Robotics這個領域的大牛。研究方向為計算機視覺和機器人的結合領域,教會機器人透過“看”去操縱周圍的事物。

對於具身大模型感興趣的朋友,希望以下文字,可以讓你瞭解基於GPT-4V的通用操作大模型框架ViLa和CoPa。

以下為本文目錄
👇
1. 具身分層大模型框架:ViLa+CoPa
2. ViLa:基於GPT-4V的任務規劃器
ViLa的核心思想
ViLa vs SayCan
ViLa vs VoxPoser
ViLa @ Long Horizon Task
3. CoPa:基於GPT-4V的新型通用操作框架

    CoPa的核心思想

    CoPa的結構
    Grounding Module

    Task-Oriented Grasping Module

    Task-Aware Motion Planning Module
    CoPa與Trajectory Optimization 
    CoPa與Training
4. 一些問題
    端到端大模型 vs 具身分層大模型
    響應速度問題
    任務規劃對齊問題
5. 一些想法
1. 具身分層大模型框架:ViLa+CoPa
具身智慧的核挑戰在於泛化能力,即如何讓系統在各種不同場景下都能夠正常運作。現在很多機器人demo,可能換一個桌面或者換一個燈光,它就無法正常工作了,這是因為這些 demo 可能都是在某種特定的場景下進行訓練的。ViLa和CoPa這些工作探討的是,如何利用大模型來提高系統的泛化能力。儘管 ViLa 和 CoPa 的成功率可能並不是百分之百,特別是 CoPa,有時可能只有 60% 的成功率,但它們展示了一條使機器智慧更具泛化性的道路。基於目前的工作,在沒有任何額外訓練的情況下,我們已經能夠讓系統自動執行,儘管準確率只有 60%。未來,希望透過加入一些訓練,可以讓這個系統不僅有泛化性,也可以有較高的可靠性,這就是這兩個工作背後的一些邏輯。
ViLa和CoPa是在這樣的邏輯框架下,針對不同層級的機器人任務做的嘗試,ViLa側重於高層任務規劃,CoPa側重低層子任務執行,兩個工作都基於視覺語言模型(VLM)GPT-4V。ViLa是對於一個機器人任務指令進行拆解,拆解到一個個子任務。CoPa 則是側重於如何將每個子任務做好。目前ViLa和CoPa都完全基於GPT-4V這個視覺語言模型。ViLa和CoPa目前都只是初步探索,目標是如何依賴這套方法來設計一套系統,使基於大模型的具身智慧模型能夠有效地運作,get most out of the existing foundation model。
在CoPa工作中,作者展示了利用ViLa高層規劃器生成一系列子目標,再用CoPa與現有的高層規劃演算法整合,以完成複雜的、長時程的任務demo。讓我們來看下ViLa+CoPa結合的操作任務完成情況:
User:

"Make me a cup of pour-over coffee."


ViLa:

1. “Scoop coffee beans”
2. “Pour beans into coffee machine”
3. “Turn on coffee machine”
4. “Put funnel onto carafe”
5. “Pour powder into funnel”
6. “Pour water to funnel”
CoPa Action:
Source:CoPa Project Page
User:

"Set up table for a romantic dinner."


ViLa:

  1. “Put flowers into vase”
  2. “Right fallen bottle”
  3. “Place fork and knife”
  4. “Pour wine
CoPa Action:

Source:CoPa Project Page
2. ViLa:基於GPT-4V的任務規劃器
ViLa的核心思想
ViLa是一種簡單而有效的長時程機器人任務規劃方法。他的主要作用是規劃,作為一個高層planner將一個指令分解成子任務,輸出的就是這些sub-task。例如,我想做一個漢堡,他會逐步輸出每個步驟:拿一個麵包,然後放一個肉餅在麵包上。在我們的論文中,為了展示目的,我們用傳統的方法將這些子任務執行了一遍。ViLa的核心目的就是機器人任務規劃,如何將高層任務分解。相較於其他基於語言大模型的機器人任務規劃方法,ViLa比較創新的地方在於它基於視覺語言模型,直接將視覺資訊整合到推理和規劃過程中,也是第一個基於GPT-4V在具身智慧領域應用的一個工作,主要做任務分解的planner。
ViLa vs SayCan
ViLa之前,以SayCan為代表的工作展示了LLM在機器人任務拆解和規劃上的潛力。不同之處是SayCan是基於純語言模型,而VILA是基於視覺語言模型GPT-4V,這兩種方法都是將任務拆解到子任務級別,即將複雜的長程(long-horizon)任務拆解成一些可以直接完成的小任務。
SayCan這類基於純語言模型的Planner,由於語言模型缺乏視覺輸入,它需要依賴外部功能模型(affordance model)來感知環境資訊,這些模型無法與LLMs共同推理,基於大語言模型的任務拆解相當於是盲拆,這導致它的任務拆解不夠精準。ViLa的核心思想是,如果在語言模型的基礎上引入視覺資訊,是否能夠更好地拆解任務,好多少,甚至是否可以在一些基於語言模型無法拆解的複雜任務上有所突破。ViLa直接將感知資料整合到其推理和規劃過程中,實現了對視覺世界中常識知識的深刻理解,包括空間佈局和物件屬性。
實驗結果也證實,基於視覺語言模型的planner比單純基於語言模型的planner效果好很多。因為在某些場景下,你可能難以用語言來描述某樣東西,如果增加了視覺資訊,基礎模型有更多的維度可以理解某些場景。將視覺資訊融入其中可以極大提高高層規劃的成功率。而且,這種方法只需極少的提示(prompt),就能取得相當好的效果。相比之下,之前基於純語言模型的工作比如SayCan通常需要大量的文字提示(text prompt)才能有良好的表現。純語言模型,對於機器人面臨的場景的描述需要大量的prompt來解釋,現在有了視覺資訊,這個prompt只需要告訴他一組包含技能(比如抓、拿、放)等維度的資訊就可以。
ViLa vs VoxPoser
VoxPoser是在解決每一個subtask,比如要開微波爐門但又不想碰到花瓶,它引入了3D空間的一些cross-map等。所以ViLa和VoxPoser解決的問題層級不一樣,ViLa是更高層的規劃,VoxPoser側重在高層任務規劃後的子任務完成上。與VoxPoser類似的是CoPa,它們都是在每一個subtask層級做事情。
ViLa @ Long-Horizon Task
一般在學術界中,長時程和短時程是相對的概念,如果一個任務需要十步才能完成,我們會稱其為長時程;如果一到兩步甚至最多三步就能完成,我們會稱其為短時程。這種劃分的原因在於傳統的強化學習中,完成一個十步任務的複雜度可能是指數級別的,比如2的十次方,因為需要考慮很多排列組合。而對於短時間跨度的任務,複雜度較低,比如2的二次方、三次方,比較容易搜尋到解。但對於更長的時間跨度,比如100步之類的,可能會使用一種分層結構設計,比如先將其分解成十個層級,每個層級逐步處理十個步驟,直到完成,超長時間跨度的任務通常不在我們的討論範圍內。
傳統的強化學習主要依賴於暴力搜尋的方法。也就是說,系統會不斷嘗試各種動作組合,當某一次嘗試的動作順利完成了任務時,系統就會認為這個動作是正確的,然後在類似情況下繼續採用相同的動作。這種方式對於短時程沒問題,一旦動作步驟增多搜尋速度會非常慢,隨著 GPT 等模型的出現,以SayCan為代表的這種方法,都是利用先驗資訊來幫助解決長時程的問題。我們定義問題時會考慮加入圖片輸入,視覺語言模型的能力使得VILA在處理長時程任務上比SayCan還要優秀。因此,ViLa在任務規劃上比傳統的RL要好很多,也比SayCan這種基於純語言模型的規劃也有很大提高。
ViLa是完全沒有用到RL。基於這麼多年的研究經驗,我們認為強化學習可能可以用到最後的改進,比如從90%到99%,在前面的步驟,強化學習不是很有必要。強化學習他的數學確實很優美,一個框架可以解決所有問題,但實際用起來有很多工程難點。
3. CoPa:基於GPT-4V的新型通用操作框架
CoPa的核心思想
CoPa是高陽團隊提出的一種基於目標位姿空間約束的機器人操作(Robotic Manipulation through Spatial Constraints of Parts ,CoPa)的新型框架,它利用嵌入在基礎視覺語言模型(VLMs,如GPT-4V)中的常識知識,為開放世界的機器人操作生成一系列末端執行器的目標姿勢,直接用於機器人Low-Level操作任務中
Source:CoPa Project Page
CoPa的核心思想可以簡單總結為:我們日常的操作可以被視為一些空間位置上的約束。比如,倒水這個動作的限制是需要將杯子置於虎口上方的中心位置。再比如,插花時,空間的限制是花的位置需要垂直於花瓶口,並且相對花瓶處於上方等等。CoPa 並不屬於模仿學習或強化學習,它是一種全新的方法,而這種新方法的來源是因為我們有了大模型,我們可以利用這些模型的特點來發明一些新的演算法。在 CoPa 中,這種新演算法的作用是讓大型模型輸出這些空間位置關係的約束。
需要強調的是,CoPa關於空間位置的限定是關於目標位置的。舉個例子,比如我要倒水。在我前面進行一系列操作後,最終我希望杯口能夠被正確地放在另一個杯子上。所以在中間的過程中,可能有很多種方法可以實現這個目標,但最終杯口的位置姿態必須對準另一個杯子,這就是我們所說的目標位置。換句話說,我們只限定了最終的目標姿態(target pose),那麼中間的過程如何實現呢?我們可以呼叫最優控制裡面的一個包,比如用軌跡最佳化方法(Trajectory optimization)來做,這些方法可以計算出一條最快或者最省能量的軌跡。當我們給定不同的目標位置時,最優控制方法會產生不同的軌跡。因此,對於具體執行的軌跡,其實並沒有太多限制,但對於最終要達到的目標位置是有一定限制的。
要去總結的話,CoPa的點是說,如何將機器人中最有效的軌跡最佳化(trajectory optimization)與大型模型中最有用的常識有機地結合起來。而我覺得重點在於如何利用大型模型的輸出,即如何設計輸出,使得大型模型既能夠輕鬆地說出一些正確的話,又能夠在物理上是可行的。
CoPa的結構
CoPa模型結構可以分成三大模組,即Grounding模組、抓取模組和移動模組
其中Grounding模組可以理解為對場景理解以及物體的識別。抓取模組和移動模組,之所以這樣分,是因為大多數操作任務可以分解為兩個階段:一個是抓取階段,另一個是移動/操作階段。舉個例子,比如倒水,首先我需要抓住杯子,這是第一步,然後,我需要操作這個杯子,使得水倒入另一個杯子中,這是第二步。所以,整個過程被分為了這兩個階段:先抓取,再進行操作。
第一個部分涉及確定如何執行任務的抓取步驟。換句話說,這是關於如何準備工具以執行任務的問題。比如,如果任務是切東西,我需要拿刀柄;如果任務是拿水杯,我需要抓住杯把。這就是抓取部分的內容。
第二部分則是關於在抓取完成後如何移動的問題。也就是說,一旦拿到了工具,我需要確定如何動作,如何移動這個物體以完成任務。這包括生成一些約束條件並解決這些問題,然後進行最佳化。
關於CoPa的這三大模組具體是如何實現的,我們參考論文做一些展開:
Grounding Module
Grounding不知道怎麼翻譯,簡單理解成定位,具體理解是在複雜環境中找到操作目標以及操作部位。CoPa在Grounding過程有兩個步驟:第一步,先找到操作物件(coarse-grained object grounding),第二步,在操作物件上找到操作部位( fine-grained part grounding)。具體而言,作者首先使用 SoM 對場景中的物件進行分割和標記。然後,結合指令,作者利用 GPT-4V 選擇操作任務抓取物件,進一步基於GPT-4V和SoM在抓取物件上選擇操作部位。
Task-Oriented Grasping Module
CoPa將操作過程分解為兩個階段:面向任務的抓取Task-Oriented Grasping)任務感知的運動規劃(Task-Aware Motion Planning。在面向任務的抓取階段,CoPa利用基礎視覺語言模型(VLMs)透過一種新穎的粗到細的grounding機制選擇物件的抓取部位。在任務感知的運動規劃階段,再次利用VLMs識別任務相關物件部位的空間幾何約束,然後用於匯出抓取後的姿勢。
Task-Oriented Grasping Module(任務導向的抓取模組)被用來生成抓取姿勢。首先,從場景點雲中使用 GraspNet 生成抓取姿勢候選項。同時,根據指示和場景影像,透過一個Grounding模組,識別出抓取部位。最終,根據抓取部位和 GraspNet 分數篩選出最終的抓取姿勢。
Task-Aware Motion Planning Module
Task-Aware Motion Planning Module(任務導向的運動規劃模組)用於獲取一系列抓取後運動規劃。給定指示和當前觀察,作者首先使用一個Grounding模組在場景中識別與任務相關的部位。隨後,這些部位被建模為3D資料,並且被投影和註釋到場景影像上。接著,使用VLMs生成這些部位的空間約束。最後,應用求解器基於這些約束計算抓取後的姿勢。基於上CoPa的核心思想部分的介紹,CoPa的關鍵是要輸出一個目標位置的空間位置關係約束,即上圖中Spatial Contrastraints部分的描述,Vector2(錘子)和Vector3(釘子)需要是Colinear的,Point 2應該在Point1上方5釐米,Vector 2應該向下,Vector1(把手)應該與桌面平行。有了這些目標位姿的空間約束之後,接下來需要簡單的prompt來指導動作,例如垂直下移7釐米。
CoPa與軌跡最佳化
CoPa在Motion Planning模組,在從目標物體初始位置到達目標位置的空間約束的過程中,呼叫了最優控制領域的軌跡最佳化(Trajectory Optimization)方法。這是CoPa非常創新的一點,因為大多數RL和IL都沒有用到軌跡最佳化方法,但作者認為軌跡最佳化方法是非常值得采用的方法,因為這種方法非常有效,而且可以保證平穩性和順暢性。軌跡最佳化簡單來說,可以分為兩類:一種是無碰撞的最佳化,另一種是帶碰撞的最佳化。無碰撞的最佳化指的是在規劃軌跡時,不撞到任何東西,這相對較簡單,因為只需瞭解空間中哪些區域沒有物體,然後規劃一條軌跡即可。另一種情況是帶有碰撞的最佳化,比如插拔USB,這種情況用軌跡最佳化去做就非常困難,因為一旦接觸到物體,就會產生各種摩擦和阻尼,從環境中獲取資訊也較為困難。
CoPa與Training
Copa沒有用到任何training,它的核心是提出了一個框架,探索如何設計多模態大模型的輸出,來指導機器人完成各個子任務。它的主要任務是最佳化,即如何解決已經確定的約束條件。這涉及到一個小型的最佳化過程,對於每個場景來說,執行一次最佳化即可。CoPa這個模型本身是完全沒有經過訓練的,它全是GPT-4V的weights。
雖然暫時Vila和Copa沒有用到額外的機器人資料進行訓練,但並不意味著機器人資料不重要,只是暫時Vila和Copa這兩個工作沒有用到。真實的機器人資料和這兩個工作結合的關鍵在於實際機器人的動作表現可能會更加精確。例如,有時候 CoPa 可能由於大型模型的能力限制而未能正確聚焦到目標物體的特定部分。或者其生成的操作可能不夠準確,比如,在某些情況下,需要將一個 USB 插頭插入到另一個插孔中,但這些操作的限制可能非常嚴格,導致生成的動作不夠精準。對於這些情況,我們可以透過真實機器人資料進行微調來解決問題。總結來說,在GPT-4V的基礎上,加入真實機器人資料做finetune得到更好的機器人大模型,再給Vila和CoPa來用,可以進一步提高任務的完成度和泛化性。
4. 一些問題
端到端大模型 vs 具身分層大模型
實際上,這兩種方法沒有本質區別。第一種方法是端到端地訓練模型,假設你有像 OpenAI 這樣的無限計算資源和無限資料,這兩種方法最終結果可能是差不多的。因為假設兩者都有無限的文字和文字-影像配對資料以及機器人本身的資料,它們的效果可能會非常接近。因此,我認為重要的是回答以下問題:當我們只有有限的機器人資料時,如何充分利用現有的VLM,使得用現有的有限機器人資料以最大程度地提高機器人的泛化能力。所以不管是端到端的去訓練,還是基於VLM去做微調,其實都可以,核心是如何利用有限的機器人資料讓模型具有最大的泛化性。目前來看,VLM微調的效果可能會更好,因為GPT-4V的訓練資料量太大。端到端的訓練一個模型很難達到GPT-4V這樣的資料量。
響應速度問題
具身分層大模型,上層的任務拆解用VLM沒啥太大問題,因為他就是拆一次,拆完一次他就不用再拆了。這個東西呼叫一次就可以了。像CoPa,我們現在用GPT-4V去做它確實比較慢,我們之後會有一個專門的小模型,一箇中等大小的模型,把VLM關於這部分的知識蒸餾出來,這個小模型跑的會比較快,在機器人本體上以適合自己的速度去跑。
任務規劃對齊問題
固定場景,確實可以用人去寫,但開放場景還是要用VLM,但這個拆出來是否符合人類的價值觀,我認為可以採用類似於目前對大型語言模型進行RLHF的方法來實現,這些alignment的方法不用很擔心。
5. 一些想法
2024年伊始,EmbodiedAI最具突破性的進展依然無一例外的發生在美國。24年3月初,EmbodiedAI領域美國三家創業公司Covariant、Pi、Figure接連著釋出重磅新聞:Covariant於3月11日釋出端到端具身大模型RFM-1,3月12日地球人可以想象到的最豪華具身智慧創業團隊Sergey Levine和Chelsea Finn宣佈創立Pi(Physical Intelligence),3月13日美國人形機器人公司Figure釋出介入OpenAI GPT-4V的操作演示Figure 01 demo。不久後的Optimus新demo相信也會再一波重新整理認知。學術界也陸續有人形機器人控制的demo推出,比如UCSD王小龍老師組裡的ExBody,CMU石冠亞組裡的H2O等。
相比之下,作為2023年最火熱的賽道,具身智慧在國內的進展可能除了創業公司一輪又一輪的融資,並無其他實質突破。在一提到具身智慧就是人形機器人的話語體系下,是否要冷靜的思考一下為什麼機器人這個賽道在2023年又一次火起來?它的變數究竟在哪裡?機器人本體?控制?還是Embodied AI ? 作為具有極強硬體供應鏈優勢的國內,是否可以孕育出具身智慧領域的OpenAI?
相較於人形機器人,我一直更願意關注Embodied AI,那誰在搞Embodied AI,這也是AI+Robotics華人圖譜產生的背後邏輯。我當時並不知道全世界誰在搞Embodied AI,更別提上哪去找人了。在看了大半年之後,基本定位了目標人群,但也有無奈之處,如果在5年前,華人創業會首選回國吧!
我是一個選題和寫字都看心情的投資人,歡迎做Embodied AI的朋友加我微信交流。
References:
https://robot-VILA.github.io/
https://CoPa-2024.github.io/
原創不易
快來戳一下”關注“給些鼓勵吧!
歡迎“點贊”“打賞”“在看”三連


相關文章