智駕中的VLA方案總結 原創
智駕中的VLA方案總結。
相對于VLM,最近智駕中開始流行VLA,VLM關注的重點在于環境建模,VLA除了考慮環境建模,還需要關注規劃和控制問題。
總得來說,這些VLA方案中都包含兩個核心組件:
- Pretrained VLM,側重思考和慢推理
- Action Model,側重動作預測
那么本篇整合具身智能中主要的四種VLA方案,并聯合智駕領域進行總結。下面是一個快捷目錄。
1. Pretrained VLM/LLM + action prediction
2. Vision/ state encoder-decoder transformer (from scratch) + action query-based transformer decoder
3. Diffusion model / LLM + Diffusion
4. Video generation + Inverse Kinematics (有點類似于world model的思路)
一、Pretrained VLM/LLM + action prediction
顧名思義,這種方案直接基于預訓練的VLM或LLM,action直接以token的形式預測出來;這種方案下微調的時候pretrained model也需要跟著進行微調。
這種方案比較典型的例子是openVLA。
可以明顯得看到,openVLA輸出的不是文本,而是Action Token,類似于MotionLM的柵格法,把連續的動作分到一些柵格中,每個箱子是一個token。然后拿機器人未來的行為微調VLM。
另外論文也證實了,微調時如果不調vision backbone,效果會很差。
這種方案的好處是借鑒成熟的語言模型,預訓練和scale的經驗成本更小。
在智駕中,這種方案容易遇到的問題是:出問題追溯的時候,很難區分是Pretrained VLM部分的問題還是Action部分的問題;所以單獨地訓練Action Token Prediction,或者去考慮兩部分的融合設計很有必要。
二、Vision/ state encoder-decoder transformer (from scratch) + action query-based transformer decoder
這種方案也算是經典方案了,從頭開始訓練一個encoder-decoder型Transformer,把狀態和視覺觀測當成latent condition,然后用action query-based Transformer decoder解碼出action。
這種方案比較典型的例子是Act。
網絡主要是一個Conditional VAE。
一般自回歸的方案會有一個問題,每次推理都可能有誤差,而且這個誤差會隨著自回歸過程累積,越來越大(第一種方案中也存在這樣的問題);即使是連續空間的自回歸,也存在一些因果混淆等因素會導致偶現一些幀出現一些錯誤,這時自回歸的方案會放大這種誤差。
因此這篇論文的核心是提出了Action Chunking方法,來防止誤差隨著自回歸過程越來越大(componding error),特別是中間哪步比較大的錯誤會導致后續嚴重問題,并可以一定程度解決因果混淆問題。
方案如上圖所示,每次推理輸出k個step作為一個action chunk,然后最終每步forward時,越舊的結果權重越大,加權后作為最終的結果。
目前大多論文都采用了這種Action Chunking來輸出動作序列;在智駕中,也有一些相關的研究與探索。
三、Diffusion model / LLM + Diffusion
這種方案主要基于Diffusion model,通過多步降噪對于更精細粒度的任務更有優勢。
另外,也可以引入LLM,LLM用來壓縮多模態表征,Diffusion作為action expert精細化輸出action trajectories,diffusion本身也是可以作為LLM的一個輕量head或者類MoE的expert,所以使用Diffusion并不影響結合pre-trained LLM。
這種方案比較典型的例子是Diffusion Policy。
這種方法在開始嘗試解決action multi-modal的問題。
現實世界中解決某一特定任務的方式是多樣的,而不是唯一的。但神經網絡預測只能給出單一的方式,無法應對可能有多種方式的任務情況。
下面具體說一下action multi-modal的問題,這里引用遲宬的解釋:
假設我現在在開車,前面有一棵樹。比如說,我雇傭了100個司機來解決這個問題。在這種情況下,有可能有50個司機選擇往左拐,繞過樹的左邊,還有50個司機選擇從樹的右邊繞過去。在這種情況下,往左繞和往右繞都是完全合理的。然而,當我們將所有這些解決方案合并為一個時,問題就變成了一個多模態分布,即我看到的相同場景有兩種不同的選擇。這對傳統神經網絡的預測來說并不友好,因為它通常使用均方誤差(MSE)損失進行訓練,而這無法有效處理Multi-Modal情況。
想解決上述問題有兩大難點:
1)對未來動作的預測不應該只局限于眼前的一步兩步動作,而應該更有前瞻性,可以往前預測數十步動作;但是預測高維空間的成本非常高,因為它們只能預測一步,接下來的步驟是什么。如果再加上更多的步驟,維度就會變得越來越高
2)訓練過程極易不穩定
那么Diffusion Policy就是去解決這兩大難題。
Diffusion Policy是一種新型機器人行為生成方法(Robot Action Generation),將機器人的視覺動作策略(Visuomotor Policy)表示為條件去噪擴散過程(Conditional Denoising Diffusion Process)。
Diffusion Policy訓練過程非常穩定。基本上,可以隨便調整參數,生成器就能夠輸出結果,可能效果不是最優的,但基本上都能work。
目前這種方案最大的問題不是Policy本身,而是數據。
這塊由于智駕領域對于動態障礙物的響應需求是遠高于機器人,所以目前來說這種方案很難遷移過去。
四、Video generation + Inverse Kinematics
這種方案先根據首幀和指令生成運動視頻,然后逆運動學得到對應的動作;可解釋性很強,但是非常受到視頻生成質量和instruction-following的能力的影響。
這種方案比較典型的例子是GR2。
論文基本上就是WorldModel的思路,直接拿大規模的帶文本描述的視頻來學習視頻生成任務,然后拿機器人的數據接入機器人的額外傳感器輸入來完成Fine Tuning出Action。
這種方案的通用思路是基于一個通用的視頻生成模型來做圖像和視頻場景理解,然后接專用網絡、專用數據出action;上限是最高的,但訓的時候需要資源量也大。
寫在最后,self-reasoning / inference time scale 這塊在未來應該也是能帶來收益的研究,下次再著重分享下這塊內容。
參考文獻
[1] 具身智能Vision-Language-Action的思考?? - 知乎(https://zhuanlan.zhihu.com/p/9880769870?utm_campaign=shareopn&utm_medium=social&utm_psn=1895892562612557674)
[2] 近幾年VLA方案調研(截止25.03.14) - 知乎(https://zhuanlan.zhihu.com/p/30182000493?utm_campaign=shareopn&utm_medium=social&utm_psn=1895893794794218922)
[3]OpenVLA: AnOpen-Source Vision-Language-Action Model [2406.09246](https://arxiv.org/pdf/2406.09246)
[4] Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware [2304.13705](https://arxiv.org/pdf/2304.13705)
[5] Diffusion Policy: Visuomotor Policy Learning via Action Diffusion https://arxiv.org/pdf/2303.04137
[6] GR-2: A Generative Video-Language-Action Model with Web-Scale Knowledge for Robot Manipulation [2410.06158](https://arxiv.org/pdf/2410.06158)
本文轉載自??瓦力算法學研所??,作者:喜歡瓦力的卷卷
