Transformer+強化學習,谷歌DeepMind讓大模型成為機器人感知世界的大腦
在開發機器人學習方法時,如果能整合大型多樣化數據集,再組合使用強大的富有表現力的模型(如 Transformer),那么就有望開發出具備泛化能力且廣泛適用的策略,從而讓機器人能學會很好地處理各種不同的任務。比如說,這些策略可讓機器人遵從自然語言指令,執行多階段行為,適應各種不同環境和目標,甚至適用于不同的機器人形態。
但是,近期在機器人學習領域出現的強大模型都是使用監督學習方法訓練得到的。因此,所得策略的性能表現受限于人類演示者提供高質量演示數據的程度。這種限制的原因有二。
- 第一,我們希望機器人系統能比人類遠程操作者更加熟練,利用硬件的全部潛力來快速、流暢和可靠地完成任務。
- 第二,我們希望機器人系統能更擅長自動積累經驗,而不是完全依賴高質量的演示。
從原理上看,強化學習能同時提供這兩種能力。
近期出現了一些頗具潛力的進步,它們表明大規模機器人強化學習能在多種應用設置中取得成功,比如機器人抓取和堆疊、學習具有人類指定獎勵的異構任務、學習多任務策略、學習以目標為條件的策略、機器人導航。但是,研究表明,如果使用強化學習來訓練 Transformer 等能力強大的模型,則更難大規模地有效實例化。
近日,Google DeepMind 提出了 Q-Transformer,目標是將基于多樣化真實世界數據集的大規模機器人學習與基于強大 Transformer 的現代策略架構結合起來。
- 論文:https://q-transformer.github.io/assets/q-transformer.pdf
- 項目:https://q-transformer.github.io/
雖然,從原理上看,直接用 Transformer 替代現有架構(ResNets 或更小的卷積神經網絡)在概念上很簡單,但要設計一種能有效利用這一架構的方案卻非常困難。只有能使用大規模的多樣化數據集時,大模型才能發揮效力 —— 小規模的范圍狹窄的模型無需這樣的能力,也不能從中受益。
盡管之前有研究通過仿真數據來創建這樣的數據集,但最有代表性的數據還是來自真實世界。
因此,DeepMind 表示,這項研究關注的重點是通過離線強化學習使用 Transformer 并整合之前收集的大型數據集。
離線強化學習方法是使用之前已有的數據訓練,目標是根據給定數據集推導出最有效的可能策略。當然,也可以使用額外自動收集的數據來增強這個數據集,但訓練過程是與數據收集過程是分開的,這能為大規模機器人應用提供一個額外的工作流程。
在使用 Transformer 模型來實現強化學習方面,另一大問題是設計一個可以有效訓練這種模型的強化學習系統。有效的離線強化學習方法通常是通過時間差更新來進行 Q 函數估計。由于 Transformer 建模的是離散的 token 序列,所以可以將 Q 函數估計問題轉換成一個離散 token 序列建模問題,并為序列中的每個 token 設計一個合適的損失函數。
最簡單樸素的對動作空間離散化的方法會導致動作基數呈指數爆炸,因此 DeepMind 采用的方法是按維度離散化方案,即動作空間的每個維度都被視為強化學習的一個獨立的時間步驟。離散化中不同的 bin 對應于不同的動作。這種按維度離散化的方案讓我們可以使用帶有一個保守的正則化器簡單離散動作 Q 學習方法來處理分布轉變情況。
DeepMind 提出了一種專門的正則化器,其能最小化數據集中每個未被取用動作的值。研究表明:該方法既能學習范圍狹窄的類似演示的數據,也能學習帶有探索噪聲的范圍更廣的數據。
最后,他們還采用了一種混合更新機制,其將蒙特卡洛和 n 步返回與時間差備份(temporal difference backups)組合到了一起。結果表明這種做法能提升基于 Transformer 的離線強化學習方法在大規模機器人學習問題上的表現。
總結起來,這項研究的主要貢獻是 Q-Transformer,這是一種用于機器人離線強化學習的基于 Transformer 的架構,其對 Q 值使用了按維度的 token 化,并且已經可以用于大規模多樣化機器人數據集,包括真實世界數據。圖 1 總結了 Q-Transformer 的組件。
DeepMind 也進行了實驗評估 —— 既有用于嚴格比較的仿真實驗,也有用于實際驗證的大規模真實世界實驗;其中學習了大規模的基于文本的多任務策略,結果驗證了 Q-Transformer 的有效性。
在真實世界實驗中,他們使用的數據集包含 3.8 萬個成功演示和 2 萬個失敗的自動收集的場景,這些數據是通過 13 臺機器人在 700 多個任務上收集的。Q-Transformer 的表現優于之前提出的用于大規模機器人強化學習的架構,以及之前提出的 Decision Transformer 等基于 Transformer 的模型。
方法概覽
為了使用 Transformer 來執行 Q 學習,DeepMind 的做法是應用動作空間的離散化和自回歸。
要學習一個使用 TD 學習的 Q 函數,經典方法基于貝爾曼更新規則:
研究者對貝爾曼更新進行了修改,使之能為每個動作維度執行,做法是將問題的原始 MDP 轉換成每個動作維度都被視為 Q 學習的一個步驟的 MDP。
具體來說,給定動作維度 d_A,新的貝爾曼更新規則為:
這意味著對于每個中間動作維度,要在給定相同狀態的情況下最大化下一個動作維度,而對于最后一個動作維度,使用下一狀態的第一個動作維度。這種分解能確保貝爾曼更新中的最大化依然易于處理,同時還能確保原始 MDP 問題仍可得到解決。
為了兼顧離線學習過程中的分布變化情況,DeepMind 還引入了一種簡單的正則化技術,其是將未曾見過的動作的值降到最低。
為了加快學習速度,他們還使用了蒙特卡洛返回。其使用了對于給定事件片段(episode)的返回即用(return-to-go),也使用了可跳過按維度最大化的 n 步返回(n-step returns)。
實驗結果
實驗中,DeepMind 在一系列真實世界任務上評估了 Q-Transformer,同時還將每個任務的數據限制到僅包含 100 個人類演示。
除了演示之外,他們還添加了自動收集的失敗事件片段,從而得到了一個數據集,其中包含來自演示的 3.8 萬個正例和 2 萬個自動收集的負例。
相比于 RT-1、IQL 和 Decision Transformer (DT) 等基準方法,Q-Transformer 可以有效地利用自動事件片段來顯著提升其使用技能的能力,這些技能包括從抽屜里取放物品、將物體移動到目標附近、開關抽屜。
研究者還在一個高難度的模擬取物任務上對新提出的方法進行了測試 —— 在該任務中,僅有約 8% 的數據是正例,其余的都是充滿噪聲的負例。
在這個任務上,QT-Opt、IQL、AW-Opt 和 Q-Transformer 等 Q 學習方法的表現通常更好,因為它們可以通過動態程序規劃利用負例來學習策略。
基于這個取物任務,研究者進行了消融實驗,結果發現保守的正則化器和 MC 返回都對保持性能很重要。如果切換成 Softmax 正則化器,性能表現顯著更差,因為這會將策略過于限制在數據分布中。這說明 DeepMind 這里選擇的正則化器能更好地應對這個任務。
而他們對 n 步返回的消融實驗則發現,盡管這會引入偏差,但這種方法卻有助于在顯著更少的梯度步驟內實現同等的高性能,能高效地處理許多問題。
研究者也嘗試了在更大規模的數據集上運行 Q-Transformer—— 他們將正例的數量擴增至 11.5 萬,負例的數量增至 18.5 萬,得到了一個包含 30 萬個事件片段的數據集。使用這個大型數據集,Q-Transformer 依然有能力學習,甚至能比 RT-1 BC 基準表現更好。
最后,他們把 Q-Transformer 訓練的 Q 函數用作可供性模型(affordance model),再與語言規劃器組合到一起,類似于 SayCan。
Q-Transformer 可供性估計的效果由于之前的使用 QT-Opt 訓練的 Q 函數;如果再將未被采樣的任務重新標注為訓練期間當前任務的負例,效果還能更好。由于 Q-Transformer 不需要 QT-Opt 訓練使用的模擬到真實(sim-to-real)訓練,因此如果缺乏合適的模擬,那么使用 Q-Transformer 會更容易。
為了測試完整的「規劃 + 執行」系統,他們實驗了使用 Q-Transformer 同時進行可供性估計和實際策略執行,結果表明它優于之前的 QT-Opt 和 RT-1 組合。
從給定圖像的任務可供性值示例中可以看出,針對下游的「規劃 + 執行」框架,Q-Transformer 可提供高質量的可供性值。
更多詳細內容,請閱讀原文。