有了GPT-4之后,機器人把轉筆、盤核桃都學會了
在學習方面,GPT-4 是一個厲害的學生。在消化了大量人類數據后,它掌握了各門知識,甚至在聊天中能給數學家陶哲軒帶來啟發。
與此同時,它也成為了一名優秀的老師,而且不光是教書本知識,還能教機器人轉筆。
這個機器人名叫 Eureka,是來自英偉達、賓夕法尼亞大學、加州理工學院和得克薩斯大學奧斯汀分校的一項研究。這項研究結合了大型語言模型和強化學習的研究成果:用 GPT-4 來完善獎勵函數,用強化學習來訓練機器人控制器。
借助 GPT-4 寫代碼的能力,Eureka 擁有了出色的獎勵函數設計能力,它自主生成的獎勵在 83% 的任務中優于人類專家的獎勵。這種能力可以讓機器人完成很多之前不容易完成的任務,比如轉筆、打開抽屜和柜子、拋球接球和盤球、操作剪刀等。不過,這一切暫時都是在虛擬環境中完成的。
此外,Eureka 還實現了一種新型的 in-context RLHF,它能夠將人類操作員的自然語言反饋納入其中,以引導和對齊獎勵函數。它可以為機器人工程師提供強大的輔助功能,幫助工程師設計復雜的運動行為。英偉達高級 AI 科學家 Jim Fan 也是該論文的作者之一,他將這項研究比喻為「物理模擬器 API 空間中的旅行者號(美國研制并建造的外層星系空間探測器)」。
值得一提的是,這項研究是完全開源的,開源地址如下:
- 論文鏈接:https://arxiv.org/pdf/2310.12931.pdf
- 項目鏈接:https://eureka-research.github.io/
- 代碼鏈接:https://github.com/eureka-research/Eureka
論文概覽
大型語言模型(LLM)在機器人任務的高級語義規劃方面表現出色(比如谷歌的 SayCan、RT-2 機器人),但它們是否可以用于學習復雜的低級操作任務,如轉筆,仍然是一個懸而未決的問題。現有的嘗試需要大量的領域專業知識來構建任務提示或只學習簡單的技能,遠遠達不到人類水平的靈活性。
谷歌的 RT-2 機器人。
另一方面,強化學習(RL)在靈活性以及其他許多方面取得了令人印象深刻的成果(比如 OpenAI 會玩魔方的機械手),但需要人類設計師仔細構建獎勵函數,準確地編纂并提供所需行為的學習信號。由于許多現實世界的強化學習任務只提供難以用于學習的稀疏獎勵,因此在實踐中需要獎勵塑造(reward shaping),以提供漸進的學習信號。盡管獎勵函數非常重要,但眾所周知,它很難設計。最近的一項調查發現,92% 的強化學習受訪研究人員和從業者表示,他們在設計獎勵時進行了人工試錯,89% 的人表示他們設計的獎勵是次優的,會導致非預期行為。
鑒于獎勵設計如此重要,我們不禁要問,是否有可能利用最先進的編碼 LLM(如 GPT-4)來開發一種通用的獎勵編程算法?這些 LLM 在代碼編寫、零樣本生成以及 in-context learning 等方面表現出色,曾經大大提升了編程智能體的性能。理想情況下,這種獎勵設計算法應具有人類水平的獎勵生成能力,可擴展到廣泛的任務范圍,在沒有人類監督的情況下自動完成乏味的試錯過程,同時與人類監督兼容,以確保安全性和一致性。
這篇論文提出了一種由 LLM 驅動的獎勵設計算法 EUREKA(全稱是 Evolution-driven Universal REward Kit for Agent)。該算法達成了以下成就:
1、在 29 種不同的開源 RL 環境中,獎勵設計的性能達到了人類水平,這些環境包括 10 種不同的機器人形態(四足機器人、四旋翼機器人、雙足機器人、機械手以及幾種靈巧手,見圖 1。在沒有任何特定任務提示或獎勵模板的情況下,EUREKA 自主生成的獎勵在 83% 的任務中優于人類專家的獎勵,并實現了 52% 的平均歸一化改進。
2、解決了以前無法通過人工獎勵工程實現的靈巧操作任務。以轉筆問題為例,在這種情況下,一只有五根手指的手需要按照預先設定的旋轉配置快速旋轉鋼筆,并盡可能多地旋轉幾個周期。通過將 EUREKA 與課程學習相結合,研究者首次在模擬擬人「Shadow Hand」上演示了快速轉筆的操作(見圖 1 底部)。
3、為基于人類反饋的強化學習(RLHF)提供了一種新的無梯度上下文學習方法,可以基于各種形式的人類輸入生成更高效、與人類對齊程度更高的獎勵函數。論文表明,EUREKA 可以從現有的人類獎勵函數中獲益并加以改進。同樣,研究者還展示了 EUREKA 利用人類文本反饋來輔助設計獎勵函數的能力,這有助于捕捉到人類的細微偏好。
與之前使用 LLM 輔助獎勵設計的 L2R 工作不同,EUREKA 完全沒有特定任務提示、獎勵模板以及少量示例。在實驗中,EUREKA 的表現明顯優于 L2R,這得益于它能夠生成和完善自由形式、表達能力強的獎勵程序。
EUREKA 的通用性得益于三個關鍵的算法設計選擇:將環境作為上下文、進化搜索和獎勵反思(reward reflection)。
首先,通過將環境源代碼作為上下文,EUREKA 可以從主干編碼 LLM(GPT-4)中零樣本生成可執行的獎勵函數。然后,EUREKA 通過執行進化搜索,迭代地提出獎勵候選批次,并在 LLM 上下文窗口中精煉最有希望的獎勵,從而大大提高了獎勵的質量。這種 in-context 的改進通過獎勵反思來實現,獎勵反思是基于策略訓練統計數據的獎勵質量文本總結,可實現自動和有針對性的獎勵編輯。
圖 3 為 EUREKA 零樣本獎勵示例,以及優化過程中積累的各項改進。為了確保 EUREKA 能夠將其獎勵搜索擴展到最大潛力,EUREKA 在 IsaacGym 上使用 GPU 加速的分布式強化學習來評估中間獎勵,這在策略學習速度上提供了高達三個數量級的提升,使 EUREKA 成為一個廣泛的算法,隨著計算量的增加而自然擴展。
如圖 2 所示。研究者致力于開源所有提示、環境和生成的獎勵函數,以促進基于 LLM 的獎勵設計的進一步研究。
方法介紹
EUREKA 可以自主的編寫獎勵算法,具體是如何實現的,我們接著往下看。
EUREKA 由三個算法組件組成:1)將環境作為上下文,從而支持零樣本生成可執行獎勵;2)進化搜索,迭代地提出和完善獎勵候選;3)獎勵反思,支持細粒度的獎勵改進。
環境作為上下文
本文建議直接提供原始環境代碼作為上下文。僅通過最少的指令,EUREKA 就可以在不同的環境中零樣本地生成獎勵。EUREKA 輸出示例如圖 3 所示。EUREKA 在提供的環境代碼中熟練地組合了現有的觀察變量 (例如,指尖位置),并產生了一個有效的獎勵代碼 —— 所有這些都沒有任何特定于環境的提示工程或獎勵模板。
然而,在第一次嘗試時,生成的獎勵可能并不總是可執行的,即使它是可執行的,也可能是次優的。這就出現了一個疑問,即如何有效地克服單樣本獎勵生成的次優性?
進化搜索
接著,論文介紹了進化搜索是如何解決上述提到的次優解決方案等問題的。他們是這樣完善的,即在每次迭代中,EUREKA 對 LLM 的幾個獨立輸出進行采樣(算法 1 中的第 5 行)。由于每次迭代(generations)都是獨立同分布的,這樣一來隨著樣本數量的增加,迭代中所有獎勵函數出現錯誤的概率呈指數下降。
獎勵反思
為了提供更復雜、更有針對性的獎勵分析,本文建議構建自動反饋來總結文本中的策略訓練動態。具體來說,考慮到 EUREKA 獎勵函數需要獎勵程序中的各個組件(例如圖 3 中的獎勵組件),因而本文在整個訓練過程中跟蹤中間策略檢查點處所有獎勵組件的標量值。
構建這種獎勵反思過程雖然很簡單,但由于獎勵優化算法存在依賴性,因而這種構建方式就顯得很重要。也就是說,獎勵函數是否有效受到 RL 算法的特定選擇的影響,并且即使在給定超參數差異的相同優化器下,相同的獎勵也可能表現得非常不同。通過詳細說明 RL 算法如何優化各個獎勵組件,獎勵反思使 EUREKA 能夠產生更有針對性的獎勵編輯并合成獎勵函數,從而更好地與固定 RL 算法協同。
實驗
實驗部分對 Eureka 進行了全面的評估,包括生成獎勵函數的能力、解決新任務的能力以及對人類各種輸入的整合能力。
實驗環境包括 10 個不同的機器人以及 29 個任務,其中,這 29 個任務由 IsaacGym 模擬器實現。實驗采用了 IsaacGym (Isaac) 的 9 個原始環境,涵蓋從四足、雙足、四旋翼、機械手到機器人的靈巧手的各種機器人形態。除此以外,本文還通過納入 Dexterity 基準測試中的 20 項任務來確保評估的深度。
Eureka 可以產生超人類水平的獎勵函數。在 29 項任務中,Eureka 給出的獎勵函數在 83% 的任務上比專家編寫的獎勵表現得更好,平均提高了 52%。特別是,Eureka 在高維 Dexterity 基準測試環境中實現了更大的收益。
Eureka 能夠進化獎勵搜索,使獎勵隨著時間的推移而不斷改善。Eureka 通過結合大規模的獎勵搜索和詳細的獎勵反思反饋,逐步產生更好的獎勵,最終超過人類的水平。
Eureka 還能產生新穎的獎勵。本文通過計算所有 Isaac 任務上的 Eureka 獎勵和人類獎勵之間的相關性來評估 Eureka 獎勵的新穎性。如圖所示,Eureka 主要生成弱相關的獎勵函數,其表現優于人類的獎勵函數。此外,本文還觀察到任務越難,Eureka 獎勵的相關性就越小。在某些情況下,Eureka 獎勵甚至與人類獎勵呈負相關,但表現卻明顯優于人類獎勵。
想要實現機器人的靈巧手能夠不停的轉筆,需要操作程序有盡可能多的循環。本文通過以下方式解決此任務:(1) 指導 Eureka 生成獎勵函數,用來將筆重新定向到隨機目標配置,然后 (2) 使用 Eureka 獎勵微調此預訓練策略以達到所需的筆序列 - 旋轉配置。如圖所示,Eureka 微調很快就適應了策略,成功地連續旋轉了許多周期。相比之下,預訓練或從頭開始學習的策略都無法完成單個周期的旋轉。
本文還研究了從人類獎勵函數初始化開始是否對 Eureka 有利。如圖所示,無論人類獎勵的質量如何,Eureka 都會從人類獎勵中改進并受益。
Eureka 還實現了 RLHF,其可以結合人類的反饋來修改獎勵,從而逐步指導智能體完成更安全、更符合人類的行為。示例展示了 Eureka 如何通過一些人類反饋來教人形機器人直立奔跑,這些反饋取代了之前的自動獎勵反思。
人形機器人通過 Eureka 學習跑步步態。
了解更多內容,請參考原論文。