一文讀懂谷歌機器人的RT-1與RT-2模型

2024年2月6日 24点热度 0人点赞

在自然語言處理與計算機視覺領域,高容量模型基於開放的不可知的任務訓練,可以吸收大規模數據集中呈現的知識,從而學習到通用能力。然後,該模型可以在特定的新任務實現少樣本或零樣本泛化的能力。這種通用能力在機器人領域更為重要。雖然近幾年產生了許多大的多任務的機器人策略,但是它們的泛化能力很差。這是因為存在兩大挑戰,分別是:

· 構造合適的數據集

· 設計合適的模型

2022年 Google 機器人研究團隊歷時17個月基於13個機器人得到了 130k episodes 以及超過700個任務的數據,這些數據可以使機器人能夠形成很好的泛化能力,從而使機器人能夠發現結構相似任務之間的模式,且應用到新任務上。該數據集不僅僅規模很大,而且廣度很大。在該數據集的基礎之上,基於模仿學習中行為克隆學習范式,把 Transformer 應用機器人的操縱任務上,提出了 RT-1模型。

2023年 Google 的 DeepMind 團隊基於互聯網上數據訓練視覺-語言模型(VLM),使其能夠學習到更多關於視覺和語 言之間映射關系的知識後,在機器人操縱任務上微調,提出了 RT-2 。接下來,分別對 RT-1 與 RT-2 介紹。

▍RT-1

高效的機器人多任務學習需要高容量模型。雖然 Transformer 在自然語言處理與計算機視覺領域展現出驚人的性能,但是它無法高效的實時運行。因此,作者們提出了一個機器人Transformer ,被稱為RT-1,它可以把相機圖片、指令與電動機命令作為輸入,即可對高維的輸入與輸出進行編碼。RT-1 的架構、數據集、以及評估概覽,可見圖1所示。

最終,實驗表明 RT-1 可以展示較強的泛化能力和魯棒性,可見圖1.b,且可以執行長期任務。

圖1 RT-1架構、數據集以及評估概覽

▍概覽

用於RT-1 研究的機器人有7個自由度的機械臂、兩個手指型夾抓,以及一個移動基座,可見圖2(d)所示。為了收集數據和訓練模型,構建了一個仿真環境,可見圖2(a)所示。兩個真實廚房環境用於評估,可見圖2(b,c)。真實廚房與仿真環境中廚房擁有相似的櫃臺,隻是燈光、背景、以及廚房的幾何結構不同。訓練數據由人類提供的演示組成,並根據機器人執行的指令對每個 episode 進行文本註釋。

圖2: (a)大規模收集數據的機器人工作室;(b)用於評估的真實辦公室廚房Kitchen1;(c)用於評估的真實廚房Kitchen2; (d)移動的操縱者;(e)用於擴展技能多樣性的被操縱對象;(f)擴展Picking技能的對象

該系統主要的貢獻:RT-1 是一個高效的模型,可以吸收大量的數據,可高效的泛化,且可實時對機器人進行控制。RT-1 的輸入由圖片序列、自然語言指令構成,輸出由機械臂運動的目標位姿( Toll , pitch gaw , gripper stαtus)、基座的運動 、模式轉換指令構成。機器人有三個模式,分別是:控制機械臂、基座、或者終止。

▍模型

RT-1 的模型架構可見圖3所示。接下來,自上而下的詳細介紹模型架構。

圖3 RT-1架構

▍Instruction and image tokenization

RT-1 中 EfficientNet-B3 把過去的6張圖片進行 tokenization 。6張的圖片作為輸入,輸出的 特征地圖,再被打平為維的視覺 tokens 。其中,EfficientNet-B3 的權重是基於ImageNet 預訓練權重初始化的。

為了包含語言指令,以預訓練語言 embedding 的形式調整圖片 tokenizer ,允許抽取任務相關的圖片特征,從而提升表現。首先,語言指令通過 Universal Sentence 編碼器編碼。然後,該 embedding 被用於輸入到恒等初始化的 FiLM 層。緊接著, FiLM 層被添加到預訓練 EfficientNet 以調節圖片編碼。由於把 FiLM 直接嵌入到預訓練網絡會擾亂中間激活函數,從而抵消掉預訓練權重的效果。為了克服該問題,初始化FiLM層為恒等形式,從而保護預訓練權重。

▍TokenLearner

為了進一步壓縮 tokens 的數據,從而加速推理, RT-1 使用了 TokenLearner 。TokenLearner是一個元素級別的註意力模塊,可以學習大量 tokens 到更少量 tokens 之間的映射。最終,把每張圖片81維的視覺 tokens 變為8維的 tokens , 6張圖片 concat 到一起,共48維 tokens 輸入到Transformer 的 Decorder 架構。

▍Action tokenization

為了 tokenize actions , RT-1中每個動作維度通過均勻采樣的方式被離散化為256個桶。這種離散化技術應該是 Sequential DQN 中的建模方式。

▍Loss

損失函數為標準的交叉熵損失函數和因果掩碼。

▍Inference speed

為了能夠使機器人的執行速度類似於人,希望機器人執行任務至少的控制頻率。因此,利用了如下技術加速推理:

· 通過利用 TokenLearner 減少預訓練 EfficientNet 生成 tokens 的數量。

· 計算 tokens 之後存儲下來,減少重復計算。

▍RT-2

與 RT-1 關註模型的泛化能力相比, RT-2 的目標是訓練一個學習機器人觀測到動作的端到端模型,且能夠利用大規模預訓練視覺語言模型的益處。最終,提出了一個在機器人軌跡數據和互聯網級別的視覺語言任務聯合微調視覺語言模型的學習方式。這類學習方法產生的模型被稱為 vision-language-action(VLA) 模型。經過評估,發現該類模型獲得了湧現能力,包括泛化到新對象的能力、解釋命令的能力、根據用戶指令思維推理的能力。如圖1所示, RT-2 模型概覽。

圖4 RT-2概覽

簡單來說, RT-1 是利用預訓練模型對視覺與語言進行編碼,然後再通過解碼器輸出動作。與之不同, RT-2 把語言、動作、圖片放在一個統一的輸出空間,利用 VLMs 產生語言,也可以理解為“動作”為特殊的語言。總的來說, RT-2 分 為兩步:首先對 VLMs 在大規模互聯網數據進行預訓練,然後在機器人任務上微調。

▍視覺-語言-動作模型

▍視覺-語言模型預訓練

RT-2基於PaLM-E和PaLI-X視覺語言模型在視覺解釋和推理任務上預訓練。預訓練任務從根據語言創作圖到單個對 象與其它對象之間關系問題的回答。

▍機器人-動作微調

RT-2 直接把動作tokens當作語言tokens,把 RT-2-PaLI-X 模型和 RT-2-PaLM-E 模型在機器人控制任務上微調。與 RT- 1 一樣,末端執行器的目標位姿作為動作空間,每一維度的動作空間被均勻的離散化為256個桶。

輸出動作一種可能的方式是輸出一個數字字符串,例如“1 128 91 241 5 101 127”。對於PaLI-X ,擁有1000個獨立 的 token ,因此可以直接利用這些 token 與動作離散化的桶相關聯,用微調模型;對於 PaLM-E ,由於沒有給出獨立的 tokens ,因此需要覆蓋之前學習過的256個 tokens ,這種微調方式為符號微調

值得註意的一個技術細節是聯合微調, RT-2在互聯網數據和機器人控制數據上聯合微調。這種方式使模型能夠學到 更多任務之外的語言或圖像知識。同時,為了保證模型在機器人控制任務上輸出有效的動作,因此對輸出進行了限制。

▍實時推理

為了能夠實時控制機器人,把模型部署在雲服務上,機器人通過服務請求的方式獲取控制指令。