對話馬也騁:Eureka和DrEureka如何利用LLM解決模擬+RL最重要的難題

在Robot Data的前幾期,我們介紹了用人類影片資料、遙操資料以及動捕資料進行機器人學習的典型論文,這些論文都以人類專家經驗為基準。在機器人學習領域有另一大主流分支就是模擬+強化學習,在四足和雙足locomotion的訓練方面,模擬+強化學習的效果毋庸置疑。但在操作方面,模擬+強化學習卻面臨著非常大的瓶頸:模擬環境和獎勵函式搭建費時費力,強化學習搜尋速度慢,Sim2Real Gap等問題。Eureka和DrEureka利用大語言模型自動設計模擬環境和獎勵函式,在模擬中快速學習新技能,並迅速將其轉移到現實世界中。
我們很榮幸的邀請到Eureka和DrEureka的一作馬也騁博士,對模擬、強化學習、以及LLM在模擬+強化學習領域的潛力做了詳細講解。以下萬字長文,希望帶你一起了解Eureka和DrEureka。
Eureka和DrEureka的作者包括來自賓大Grasp、英偉達等機構的學者。Eureka: Human-Level Reward Design via Coding Large Language Models作者包括Jason Ma, William Liang, Guanzhi Wang, De-An Huang, Osbert Bastani, Dinesh Jayaraman, Yuke Zhu, Linxi "Jim" Fan, Anima Anandkumar,其中Jason Ma(馬也騁)是Eureka的一作。DrEureka: Language Model Guided Sim-To-Real Transfer,作者包括Jason Ma*, William Liang*, Hungju Wang, Sam Wang, Yuke Zhu, Linxi "Jim" Fan, Osbert Bastani, Dinesh Jayaraman,其中Jason Ma(馬也騁)和William Liang是Dr Eureka的共同一作。
以下為本文目錄
👇
1. Eureka的核心思想
2. DrEureka的核心思想
3. Eureka方法介紹
    Initial Reward Function Generation
    Environment as Context
    Rapid reward evaluation via massively parallel RL
    Return reward reflection
    Super human level reward function
    Novel reward function
4. DrEureka方法介紹
    Reward-Aware Physics Prior

5. 一些問題

    Eureka和DrEureka可以改進的地方
    Eureka與其他基於LLM的機器人工作對比
    目前模仿學習和真機操作資料更主流?
    Eureka可以成為解決Sim+RL的方法嗎?
    Eureka的應用情況
    Sim2Real Gap的渲染問題
    正常怎麼做Domain Randomization?
    Eureka效果僅侷限在區域性移動這類任務嗎?
    模擬+RL在處理長程任務上的表現?
    模擬環境裡的資料是怎麼產生的?
    關於研究方向

    VIP簡單介紹

6. 一些想法
1. Eureka的核心思想
眾所周知,資料在機器人學習領域是最重要的問題之一,我們可以透過遙操作收集真實世界資料,可以在模擬中收集資料。理論上,在模擬中我們可以擴充套件資料規模,然後將其轉移到現實世界中。然而,使用模擬資料有一個非常重要且被低估的問題是必須由人來設計模擬環境,然後以某種方式驗證模擬環境是否有效,或者說能否將其轉移到現實中。否則即使你在模擬中收集到大量資料,不管用什麼訓練策略,如果數不可靠,這些方法也不會太有效。
那我們如何有效的為一個新任務或新機器人設計模擬環境?過去,這種模擬環境的搭建通常都需要人類完成,過程緩慢且需要大量專業知識。因此,在 Eureka 的工作中,我們提出了一個設想:能否透過LLM自動設計模擬環境,使我們能夠在模擬中快速學習新技能,並迅速將其轉移到現實世界中。這正是 Eureka 工作的創新所在
在模擬中,因為資料非常豐富,我們可以長時間執行模擬,探索不同的狀態。因此在模擬中,流行的方法不是進行模仿學習,即人類使用鍵盤或遊戲控制器提供示範,而是執行強化學習,讓策略自己收集資料、觀察反饋並逐步改進。這是為什麼在模擬環境中機器人學習的常見方法是強化學習。但進行強化學習需要一個環境,而這就是問題所在。你需要設計一個獎勵函式,這是一個數學函式,告訴策略哪些狀態和動作有利於完成任務,哪些不利。這一直由人類設計,但過程緩慢且不直觀。
閱讀強化學習的論文時,你會發現人們並不會在主要論文中詳細討論獎勵函式,通常只是一個簡單的說明或在附錄中提及,但實際上獎勵函式的設計非常重要。如果獎勵函式設計得當,強化學習通常可以找到解決方案。否則,效果會非常不理想。
Eureka 使用大型語言模型(LLM)來自動編寫用於模擬機器人任務的獎勵函式(Reward Function)。在模擬中,獎勵函式就像模擬中的其他程式碼一樣,是可以在計算機上執行的程式碼,而像 GPT-4 這樣的LLM非常擅長編寫程式碼。因此,在 Eureka 中,我們使用LLM來自動編寫獎勵函式程式碼。但這還不是全部,我們還要求LLM改進獎勵函式程式碼
具體操作是,LLM會編寫多個獎勵函式程式碼,然後在模擬器中我們利用這些獎勵函式來訓練策略,並構建反饋,看看哪個效果更好,哪個效果更差。根據這些反饋以及策略實際表現,我們可以指導LLM編寫更好的獎勵函式。由於LLM非常擅長遵循指令,它們可以根據反饋生成更好的獎勵函式。這就像一種自我改進的迭代過程,LLM可以透過模擬反饋逐步編寫出更好的獎勵函式。這就是我們在論文中所稱的進化演算法(evolutionary algorithm),我們讓大型語言模型進化這些獎勵函式。你也可以把這看作是一種基於人工智慧反饋的強化學習方法,即 RLAIF (Reinforcement Learning from AI  Feedback)。最終目標是提出能夠解決任務的策略,但在這個過程中,不僅策略在更新,環境的獎勵函式也在更新,以便最終能提出最佳策略。這就是 Eureka 的高層次工作原理。
最終結果是,使用相同的演算法,不需要任何提示工程,我們可以直接解決 10 種不同機器人形態的 29 項任務。特別是,我們能夠展示一些新穎的任務,比如讓機器人第一次旋轉鉛筆。使用相同的理念,當Eureka 的獎勵生成能力與經典強化學習演算法結合時,我們可以教機器人用多種方式旋轉鉛筆,效果非常好。
Eureka 轉筆
Eureka轉魔方
2. DrEureka的核心思想
基於Eureka,我們有了一種完全自動化的模擬環境獎勵設計方法。理論上,我們可以在模擬中生成任何行為,因為現在有了能夠生成高層次規劃和行為生成獎勵函式的語言模型。Eureka 專案獲得了很好的反饋,我在 NeurIPS 2023 的多個研討會上展示了它,並且它還被 ICLR 2024 接受。但當我們第一次在各個研討會上展示它時,最常被問到的問題是,這能在真實機器人上工作嗎?你展示的一切都是在模擬中,這能在真實機器人上實現嗎?為了回答這個關鍵問題,我們更進一步,開發了 DrEureka,或者我稱之為 Doctor Eureka。因為成為博士意味著你畢業了,所以讓 Eureka 從模擬到現實世界的轉移就像是畢業典禮。為了實現從模擬到現實的強化學習,除了設計獎勵函式,你還必須讓模擬到現實的轉移能夠順利進行。
通常,模擬環境和現實世界環境之間存在很多不匹配,特別是在物理模型方面。模擬器無法完美地模擬現實世界中的重力、摩擦力等。因此,現在很流行的一種做法是進行領域隨機化(Domain Randomization),即在模擬中隨機化物理引數。這樣,策略就必須在更廣泛的物理環境分佈上進行學習。如果策略能夠在更廣泛的分佈上進行學習,那麼它可能更具魯棒性,並且更有可能在現實世界中成功部署。因此,如今幾乎所有的模擬到現實的強化學習方法都採用某種形式的領域隨機化。
但在Domain Randomization的過程依然有一個問題,那就是人類必須手動涉及這個Domain Randomization的引數。以教機器狗行走為例:作為人類,我們憑直覺和常識知道摩擦力、重力、機器人質心等是需要隨機化的重要物理引數。然而,這種設計需要大量領域知識。更重要的是,面對新任務時,我們可能需要重新設計整個隨機化過程。
在DrEureka中,除了自動編寫獎勵函式,我們還自動化了域隨機化設計。具體做法如下:首先,我們向大型語言模型提供了一份可隨機化的物理引數列表。在此基礎上,基於具體任務,語言模型會自動決定應該隨機化哪些引數,以及這些引數應該從模擬中的預設值隨機化到什麼程度。我們發現語言模型在進行超引數選擇方面表現出色。其他研究已經證明,語言模型能為超引數生成產生相當好的樣本,例如線上性迴歸任務中猜測數值。更令人興奮的是,我們的研究表明,語言模型甚至能夠零樣本(即無需額外訓練)生成相當好的域隨機化引數。這種方法大大簡化了域隨機化的設計過程,減少了對人類專家知識的依賴,為自動化強化學習任務開闢了新的可能性。
現在,我們已經實現了獎勵函式和域隨機化的自動選擇,我們可以部署在獎勵函式分佈和域隨機化引數上表現最佳的策略。令人驚喜的是,我們發現將這些策略直接部署到現實世界中竟然是可行的。這意味著我們現在擁有了一個端到端的、完全自動化的模擬到現實世界的流程。整個過程完全由大型語言模型自動化完成,中間不需要任何人工干預。
這一突破性進展展示了大型語言模型在自動化強化學習任務中的強大潛力,從獎勵函式的設計到域隨機化的選擇,再到最終策略的部署,全程無需人類專家參與。這不僅大大提高了效率,也為解決更復雜的現實世界問題開闢了新的可能性。
在DrEureka中,我們展示了這個演算法不僅可以教會機器人在手上旋轉模仿,還可以教機器人如何向前行走。但我認為真正有趣的是,考慮到語言模型無法自動化所有事情,如果我們能教會機器人一項新任務會怎樣?這就是我們讓機器狗在瑜伽球上行走所做的,這個任務之前從未被演示過。我們在物理引擎模擬器中放置了一個機器狗在瑜伽球上,然後執行DrEureka演算法,任務目標是讓機器人在球上行走,儘可能長時間地停留在球上。然後在沒有任何人為監督的情況下,它能夠提出獎勵函式和域隨機化引數。在現實世界部署中,也取得了不錯的效果,當然有一個限制條件是人類要握著牽引繩。這主要是出於安全考慮,確保我們不會真的損壞機器人。但即使沒有牽引繩,機器人也能在多種不同地形上站在球上超過5到10秒。
DrEureka Video
轉魔方
狗走不同地形
這裡值得特別提出的是,我們使用的模擬器IsaacGym是剛體模擬器,它無法模擬可變形的表面。所以在模擬環境中,和機器狗配合的球實際上是一個剛體球,它沒有形變。但在現實世界中,瑜伽球顯然是可變形並且有彈性的。由於我們無法設計出一個儘可能接近真實世界的模擬器,這實際上迫使演算法對模擬中的不準確性具有魯棒性。換句話說,如果你的策略沒有考慮到模擬中的不準確性,它在現實世界中可能無法工作。但LLM能夠自動生成一個有效的分佈,使得現實世界的遷移成為可能。這展示了在未來使用LLM自動處理模擬中的新任務並轉移到現實世界的潛力。DrEureka是展示未來實現這一目標的第一步。
3. Eureka方法介紹
設定模擬環境或獎勵函式,無論你怎麼做,最終它們都是程式碼。這些程式大多數是Python程式,而LLMs(大型語言模型)如GPT-4非常擅長寫Python程式碼。所以在程式碼格式上,LLMs實際上非常擅長寫這些程式碼,只要你正確提示它們。但是,為了讓這些程式碼有用並控制LLMs的幻覺(因為LLMs可能生成一個環境程式碼,但這個環境可能很差,不太有用,這時反饋就很重要),你需要一種方法來判斷獎勵函式是好是壞。這時你可以在強化學習中訓練策略,觀察策略在模擬中的行為,總結這些行為,然後將這些作為反饋給LLMs,以生成更多的獎勵函式。
Eureka方法框架
這裡有一個重要的注意事項:我們生成的密集獎勵函式(dense reward function)實際上可以引導強化學習。另外,還需要一個獨立於密集獎勵函式的真實評價指標。否則,你會有一堆策略,它們做的事情都不一樣,你無法判斷哪個做得更好或更差。所以在Eureka的工作中,我們假設可以訪問一個表示成功與否的函式,該函式能夠告訴我們某個策略是80%成功還是50%成功。通常,這會是一個指示函式(indicator function)。
舉個例子,如果任務是開門,那麼成功函式只會簡單地告訴我們門是否打開了,這是一個是或否的問題。而密集獎勵函式則需要捕捉諸如“機器人需要靠近門把手”,然後“旋轉門把手並開啟門”等步驟。這些對人類來說非常難以編寫,編寫成功檢查器通常很簡單。但是,成功檢查器本身對於強化學習來說並不太有用,因為它的訊號太稀疏。這時我們可以使用Eureka來自動化生成密集獎勵函式,獲取反饋並不斷改進。
在Eureka中,除了成功函式外,我們還對Eureka生成的獎勵函式本身的策略統計進行了總結。每個獎勵函式都是由不同的要點構成的。例如,一個獎勵函式可能由要點A、要點B和要點C組成。要點A可能是靠近門把手,要點B是旋轉門把手,等等。如果你還能總結這些單獨元件的情況,那麼這會給你非常詳細的反饋,告訴你哪個項沒有得到適當的最佳化。比如,你的策略可能會得到0%的成功率,因為它們從未靠近門把手。
如果我們對這些單獨要點進行詳細總結,並將其用作反饋給大型語言模型,那麼在下一次迭代中,LLM就會知道哪個要點需要更改或新增哪些新要點,以提供更好的密集獎勵函式來改進策略。因此,Eureka中的LLM反饋部分實際上結合了真實成功函式和每個策略在Eureka獎勵函式中的各個單獨要點的統計總結。這為LLM提供了足夠的訊號,使其能夠自主生成更好的獎勵函式,並改進現有的函式。
Initial Reward Function Generation
Zero-shot生成獎勵函式非常重要,因為在資料稀缺的情況下,你需要一個獎勵函式作為起點,但設計一個獎勵函式通常非常困難。為新任務設計獎勵函式時,通常很難找到合適的起點。然而,LLM可以直接生成獎勵函式,並透過自我改進來啟動這一過程。這是LLM在Eureka工作中所需的關鍵能力之一,因為它能夠在沒有人工干預的情況下完成這項工作。

DrEureka方法框架

有了Eureka,即使人類編寫了初始獎勵函式,Eureka仍可以對其進行改進,最終結果實際上會比從零開始使用Eureka更好。儘管人類可能不擅長編寫獎勵函式,但他們在識別環境中對編寫獎勵函式有用的變數方面卻很有經驗。這對LLM來說是非常有用的訊號,有助於其編寫越來越好的獎勵函式。
如果LLM必須從零開始編寫一切,它不僅需要確定如何設計獎勵函式,還需要弄清楚哪些輸入是獎勵函式所需的。這在環境描述不佳時尤其困難,因為很難理解狀態變數的意義。但是,當人類提供了初始獎勵函式時,這實際上簡化了LLM的任務,因為LLM不需要生成初始候選函式,只需要逐步改進獎勵函式即可。如果初始候選函式非常差,即使改進後效果也可能不好。搜尋演算法需要較好的初始候選函式,以便自我改進也能取得良好效果。
Environment as Context
LLM如果要設計獎勵函式,最終這是一段程式碼,你需要把這段程式碼放到原來的環境中執行,但LLM需要知道可以使用哪些變數,還需要了解環境的相關資訊,以便生成可執行的程式碼。而環境本身已經是一段程式碼。假設人類已經知道這部分環境程式碼,那麼如果你把整個環境程式碼輸入到LLM的上下文中,LLM現在已經非常擅長識別哪些變數和環境原始碼中的哪些行是編寫獎勵程式碼所需的有用資訊。環境原始碼已經提供了所有必要的資訊,用於識別環境中的狀態和動作變數。這樣,LLM就可以使用這些變數來編寫獎勵函式。
所以,這是一種自動化的方法,告訴LLM,這是你需要編寫獎勵函式的環境程式碼。因為如果不提供環境原始碼作為上下文,你需要透過提示單獨告訴LLM,我的環境有一個人形機器人,它有一個頭、一個軀幹、兩隻手和兩條腿等不同變數,然後再推薦獎勵函式。我們在附錄中也展示了這種方法,但那樣人類需要編寫提示資訊。而更簡單的方法是,因為在構建獎勵函式時你已經有了環境程式碼,你可以直接將整個環境程式碼複製貼上到上下文中,這樣就能順利執行。所以,這是一種懶人提示法,但我們發現這種方法效果很好。
因為現在的大模型在語言程式碼理解方面非常強大,所以如果你把原始環境程式碼輸入進去,它自己就可以識別出環境中的變數,不需要人類再手動說明環境的細節。你不需要再詳細描述環境,比如這個人形機器人有四肢、兩個胳膊、一雙手、一個頭等。這些資訊模型透過讀取原始碼就能識別出來。
這樣可以讓整個過程簡單得多,減少人工干預。這也是為什麼我們可以用相同的提示語在10種機器人和29類任務上進行操作的原因。每個環境的原始碼不同,但這沒有問題,你不需要為每個環境單獨提示。這樣的方法具有很大的可擴充套件性優勢,使得同一個提示語可以直接應用於多個機器人和任務。
Rapid reward evaluation via massively parallel RL
一般來說,在模擬環境中執行強化學習(RL)會花費相當長的時間。在Nvidia推出Isaac Gym之前,強化學習在模擬中的執行速度相對較慢。但由於有了這些高效的模擬工具,比如Isaac Gym,評估一個獎勵函式現在可能只需要一到兩個小時,所以一天之內可以進行五到六次迭代。
然而,如果使用並行模擬(GPU parallel simulation),迭代和評估的速度會變得很慢。訓練一個策略可能需要10個小時甚至一天,如果進行5次迭代,可能需要三四天。這會極大地減慢演算法開發的速度。對於終端使用者來說,這樣的等待時間也是難以接受的。如果需要等三四天才能得到一個好的獎勵函式或策略,使用者可能會失去興趣,就像你們一開始提到的,與其等待模擬結果,不如花三四天收集更多的真實資料。
Return reward reflection
這個就是我剛剛提到的反饋機制,具體來說就是使用成功函式(success function)。這樣可以讓大語言模型(LLM)評估每個獎勵函式的好壞。因此,我們需要將這些反饋編寫成一個文字,然後提供給大語言模型。這樣,模型就可以根據這些反饋更新並生成更好的獎勵函式。
Eureka效果—super human level reward function
我們在這篇論文中使用了29個任務,這些任務都是開源的,不是我們自己寫的,而是RL研究者們自己編寫的。例如,Nvidia的Isaac Gym中的10個原套環境,這些環境中的獎勵函式由RL研究者和Nvidia研究人員寫的。因此,這些獎勵函式質量還算不錯。這也是為什麼我們認為RL研究者自己在基準測試中編寫的獎勵函式通常是不錯的,因為如果獎勵函式不行,你就無法透過基準測試,也無法完成論文。
在我們的論文中,我們使用了29個任務,這些任務都是開源的,由RL研究者自己編寫的,而不是我們自制的。例如,我們使用了Nvidia Isaac Gym中的10個環境,這些環境的獎勵函式是由RL研究者和Nvidia團隊編寫的。我們認為,RL研究者自己在基準測試中編寫的獎勵函式通常是不錯的。如果獎勵函式不好,那麼沒人會使用你的基準測試。而這些獎勵函式,相當於人類專家級別的水平。我們的工作以這些專家級別的獎勵函式做比較,也可以進一步說明Eureka的效果很好。
這個比較的基準線其實很難做,在當時,沒有其他類似Eureka這樣能自動生成獎勵函式的演算法,我們沒有合適的基準。更有意義的方法是與已有的人工獎勵函式進行比較,有些任務對於人類來說通常很困難。這樣比較能更好地展示大型語言模型在自動化任務中的潛力,這讓我們覺得非常有價值。
Eureka效果—Novel reward function
LLM可以生成一些人類想不到的獎勵函式,可以從兩個角度解釋。首先,我們對比了人類編寫的獎勵函式和Eureka生成的獎勵函式,進行了相關性分析。我們把它們當作數學函式來看它們的相似度。這可以從數學層面上判斷它們是否類似。有時,這兩者的相關性很低,甚至是負相關,說明人類的獎勵函式可能已經很最佳化,而我們生成的獎勵函式可以做得更好。
我們發現Eureka生成的獎勵函式中包含了一些人類不常用的數學公式。例如,在一個獎勵函式中,我們使用了“e的e的負距離次方”這一雙重負指數函式,這在常見的獎勵函式中非常不尋常。人類編寫的獎勵函式通常使用的是簡單的L2距離函式,即最小化機器人和目標位置之間的距離。
這個獎勵函式是“e的e的負距離次方”,這是非常令人驚訝且不常見的。我們在研究後發現,這種函式在負值範圍內非常平滑,而在強化學習中,平滑的獎勵函式有助於穩定訓練。這意味著,LLM生成的獎勵函式雖然看起來奇怪,但實際上可能包含非常有效的數學公式,並且表現得比我們自己編寫的函式更好。
這一點在我去MIT演講時被指出。在演講後,有觀眾提到他們在我們網站上發現了這個看起來很奇怪的獎勵函式,並且自己嘗試後發現效果比我們自己寫的要好。起初,我並沒有過多關注LLM生成的獎勵函式,但顯然其他人關注到了,並發現了它們的實際價值。這讓我感到非常意外和有趣。
4. DrEureka方法介紹
Reward-Aware Physics Prior
在DrEureka的工作流程中,首先使用Eureka生成獎勵函式,然後再調整domain randomization引數。這些引數有一個範圍,而在物理模擬中,這個範圍理論上可以從負無窮到正無窮。比如,視覺物理和重力引數可以在-100到100之間變化。但如果讓LLM在如此大的範圍內搜尋引數,得到的範圍可能太寬泛且無用。因為如果範圍太大,訓練策略時可能會出現過多的變化,導致策略崩潰。
為了解決這個問題,我們採用了物理先驗(physics prior)的概念。具體而言,我們先有一個初始的獎勵函式和初始的預設物理值,然後逐漸增加或減少這些值,直到基於原始獎勵函式訓練的策略失效。這樣就可以得到一個更小的、可用的引數範圍。
透過這種方法,我們可以限制LLM的搜尋範圍,使其得到一個有用的物理隨機化分佈。換句話說,我們需要知道獎勵函式和策略仍然有效的上下限,然後在這個範圍內進行搜尋。否則,搜尋空間太大,返回的結果可能無效且不實用。這種方式確保了domain randomization的有效性。
5. 一些問題
Eureka和DrEureka可以改進的地方
Eureka和DrEureka都沒有考慮視覺輸入,在這些工作中,機器人實際上無法看到環境,它僅僅依靠接收到的文字或程式碼輸入來解決問題。然而,在現實世界中,特別是在操控任務中,機器人首先需要看到環境,以瞭解物體的位置以及如何與其互動。這兩個工作都沒有解決這一部分問題。但我們相信,藉助現在的視覺語言模型,比如GPT4v、GPT4o、Gemini等,我們可以利用視覺反饋來設計獎勵函式,並從視覺輸入中提供反饋。
此外,在DrEureka的工作中,我們沒有使用現實世界的反饋來更新領域隨機化引數。因為當時我們認為這樣會使迭代週期變得過於緩慢,而我們只對Zero-shot的效果感興趣,想要測試LLM在開箱即用的情況下能做多少。不過,未來對於一個完整的系統,我認為利用一些現實世界的反饋來調整獎勵函式和領域隨機化引數會非常有幫助。

Eureka和DrEureka與其他基於LLM的機器人工作對比
整體來說,我們開發了利用LLM來加速和自動化強化學習場景的方法。我們成功地在模擬環境中展示了技能,比如轉筆,以及在現實世界中展示了之前未見過的技能,比如讓機器狗在瑜伽球上行走。這表明LLM對機器人學習複雜技能方面具有很大的潛力。
我想將這一點放在大型語言模型在機器人領域的應用背景中來看。比如,已經有很多工作使用大型語言模型來進行機器人研究,比如說SayCan,RT2之類的工作,但這些工作通常關注於機器人的高層次規劃問題,而很難展示大型語言模型如何用於教機器人進行高頻率的低層次技能。我認為,Eureka和DrEureka是一些首次展示了使用大型語言模型不僅能告訴機器人該做什麼,還能教機器人如何完成複雜技能的工作。這開啟了大型語言模型在機器人領域應用的全新方向。
如何評價目前學術界模仿學習和真機操作資料更佔上風?
模擬和強化學習確實有它的問題,就像你說的,模擬環境和獎勵函式的設定會佔到工作量的80%到90%。因此,如果你考慮寫一篇論文,設計環境並不新穎,因為沒有什麼可以寫的方法。所以,從寫論文和展示演示的角度來看,這確實很痛苦。
關於模擬和真實資料的選擇,我認為這兩種學習正規化都非常重要。如果你只使用模仿學習和真實資料,你的效能最終會停滯不前。因為在某個階段,我認為模仿學習是達到70%到80%效能的最簡單方法。對於演示來說,這已經足夠了,因為在演示中,你只需要展示你的系統工作一次或兩次。但是,如果你希望機器人在現實世界中真正工作,80%的成功率和執行速度是不夠的。你需要它更加魯棒。如果你關注文獻中關於從模擬到真實的強化學習,你會發現RL的控制器通常更加魯棒。所有展示出非常魯棒行為的工作,如四足機器人和無人機,它們的行為更加靈活和魯棒。這主要是因為它們能夠在模擬中嘗試大量的資料,並且能夠使用強化學習來處理次優資料。
相比之下,在模仿學習中,你必須使用高質量的資料,但高質量資料只告訴你如何在專家分佈內完成任務。一旦超出這個範圍,機器人會停滯,不知道該做什麼。這對於演示來說是可以的,但如果你希望它魯棒,你會發現透過強化學習可以走得更遠。在DrEureka專案上我們展示了一些有創造性的影片,我們踢機器人,踢球,把球從草地踢到平坦的地形上,機器人能夠預先判斷這種行為,而這在模仿學習中要難得多。但不可否認的是,設定模擬環境和設計獎勵函式確實非常困難。
Eureka可以成為解決Sim+RL的方法嗎?
像PPO這樣的演算法在強化學習領域已經很成熟並廣泛應用,但在實際的機器人模擬中,環境的構建和獎勵函式的設計仍然是一個大的挑戰。如何設計合適的環境、如何建立有效的獎勵函式、以及如何進行領域隨機化,這些問題都需要解決。目前,不同的機器人和任務需要不同的環境設定,這往往涉及大量的人工工作。
學術界有一個說法叫做Graduate students decsent,讓研究生或博士生來調參和最佳化模型,既費時又費力。但現在,藉助大語言模型自動化處理這些任務,能夠極大地節省時間和精力。我認為這是一個非常重要的貢獻,可以把模擬和Sim2Real進一步擴大規模(scale up)。
過去對於每一個任務,我們都需要花費大量時間。但現在,藉助大語言模型,我們可以自動化處理數百甚至數千個任務。這將有效解決大規模模擬以及sim2real中的一個關鍵瓶頸,傳統的模擬非常適合單個任務,你可以為一個任務花費數小時甚至寫一篇論文,但這樣的方法對其他任務或機器人可能並不適用。然而,利用大語言模型作為通用平臺,可以廣泛支援各種模擬任務,我認為這將在未來變得非常重要。
Eureka的應用情況
學術界有一些使用Eureka來進行不同型別機器人的例子。例如,有人用Eureka為一個蛇形機器人設計獎勵函式,讓它能夠成功地前進。這種方法確實取得了不錯的效果。我們自己的研究也使用了Eureka來改進獎勵函式,這在多個專案中都表現出了良好的效果。
Eureka的影響不僅僅侷限於機器人領域,它是一個非常通用的演算法,不僅僅侷限於設計獎勵函式。最近有人用Eureka的理念,即使用大語言模型來進化演算法。Google最近在ICML上發表的一些論文也探討了類似的想法,用大語言模型提出不同的解決方案,然後驗證這些解決方案並生成新的解決方案。這種方法在科學發現領域也有很大的潛力,例如蛋白質合成和編碼等領域。
Eureka是一項非常前沿的技術,但如果要將其商業化,可能還需要再迭代一兩次。商業化過程中有很多考慮因素,不僅僅是大語言模型,還需要確保機器人硬體足夠好,能夠支援演算法的有效執行。
總的來說,Eureka在機器人和科學領域的影響將會非常大。不過,我不會把所有的功勞都歸於Eureka,因為還有很多其他同時進行的工作也在探索如何利用大語言模型進行進化發現。但我認為,Eureka是展示這種演算法如何實現真正創造性和有趣工作的最具說服力的案例之一。
Sim2Real Gap的渲染問題
關於物體真實度問題,如果你可以在模擬模擬器中執行你的策略,然後製作一個影片,這個影片可以傳遞給多模態的語言模型,讓它評估影片中的分佈是否足夠真實。這可以進一步擴充套件模擬模擬的應用,透過渲染增強視覺真實性。這種方法與Eureka的整體思路是一致的,都是利用大語言模型生成和驗證內容進行迭代。所以解決Sim2Real Gap的問題,我們不僅可以考慮透過DrEureka改善域隨機化,還可以考慮利用LLM的迭代提高渲染真實度。這些技術現在已經可以實現,而且我知道有不同的團隊正在朝這個方向努力。
透過這樣的方式,我們可以提升模擬的真實性和多模態處理能力,從而在更多的應用場景中取得更好的效果。
正常怎麼做Domain Randomization?
就是在調整domain randomization引數時,確實存在一定的猜測成分。你猜測一個數值或範圍,然後訓練一個policy,並在模擬環境或實際環境中測試。如果效果不錯,那你就找到了合適的引數;如果不行,就需要重新調整再試。這過程確實存在問題,尤其是在一些危險任務中,可能會損壞機器人。因此,模擬測試非常關鍵,儘量在模擬中完成所有調整是最佳選擇。
這也是為什麼模擬和現實結合的過程既困難又耗時,有時在初始階段可能會損壞機器人。如果一切都能在模擬中完成,那將更好。在實際應用中,在破壞機器人之前,你需要人工調整和猜測初始引數,但這顯然不具備可擴充套件性。Eureka的貢獻就在於它可以自動處理這些複雜的引數調整,減少了人為猜測和反覆實驗的過程,使得在大規模應用中更加實用。
Eureka效果僅侷限在區域性移動這類任務嗎?
從根本上講,沒有什麼因素阻止我們在模擬環境中完成操作任務。許多問題源於視覺輸入,例如在操作任務中需要知道物體的位置,而在區域性運動中,你總是需要接觸物體並確定它們的位置。這是一個很大的鴻溝。如果我們能彌合這個鴻溝,那麼在模擬到現實的轉換中也可以做很多操作任務。目前有許多專案正在使用點雲輸入等3D資訊來進行操作任務的模擬到現實轉換。這方面的研究還需要更多的探索和發展,但已經顯示出很大的潛力。總的來說,儘管存在一些挑戰,但在這一領域的進展將極大地推動模擬與現實世界之間的融合,並解決許多實際應用中的關鍵問題。
模擬+RL在處理長程任務上的表現?
在處理這些長時間跨度任務時,根本的問題不是模擬本身,而是如何有效地將這些長時間跨度的操作分解。這是模擬或現實環境中都需要解決的問題。關於分層強化學習(Hierarchical Reinforcement Learning),有大量的學術研究,但這些研究主要集中在理論層面,還沒有完全應用到從模擬到現實世界的過渡中。然而,這確實是一個科學前沿,需要投入更多時間進行研究。
模擬環境裡的資料是怎麼產生的?
RL(強化學習)的一個主要優勢是它可以自主生成資料。RL策略透過在環境中自主探索來收集資料,這與模仿學習(imitation learning)有很大的不同。
在模仿學習中,資料是由另一個實體(通常是人類)收集的,演算法透過模仿這個實體的行為來學習。相比之下,RL允許策略在環境中自主探索,生成自己的資料。這種自主資料收集的方法使得RL能夠在沒有預先收集的資料集的情況下進行學習。
RL演算法透過探索環境,自己設計獎勵函式(reward function),從而能夠區分好的資料和不好的資料,並進行迭代改進。這樣,RL不僅能自動適應環境變化,還能在探索過程中不斷最佳化策略,使其在不同情況下都能表現良好。這種自主探索和資料收集的能力,使得RL在解決複雜和動態環境中的問題時,具有很大的優勢。
關於研究方向
我的工作並不僅限於模擬,很多工作其實都不是在模擬中進行的。我一開始是做強化學習的,我早期的一些 paper,都是關於強化學習演算法和理論的。後來我也做過很多模仿學習的工作,比如從人類影片中學習。像在Eureka這一系列研究之前,我做了一個從人類影片中選擇操作選項並進行顯式預訓練的研究(VIP),Eureka這個工作做了一些模擬工作。整體來說,我非常看重機器人演算法的開發,無論是否在模擬環境中。
可否簡單介紹下VIP
透過 VIP 學習獎勵函式和價值函式,這些 VIP 學到的價值函式不是程式碼,而是一個實際的數字。這些數字可以從實際的影片中學習得來,在機器人執行任務的過程中,它們可以告訴機器人過程是否進行得好。這些數字是透過視覺輸入獲取的,非常適合於現實世界的應用場景。
6. 一些想法
從Eureka開始,我們將用兩期文章探討模擬資料+強化學習。在和很多做機器人學習的學者交流時,大家都或多或少會對模擬+強化學習的路徑提出一些問題。但就scaling law的三駕馬車大算力+大資料+可擴充套件的模型框架,目前機器人領域最大的瓶頸就是大資料。機器人的互動環境是物理世界,而這些接近物理世界的資料模態又是過往的移動網際網路和網際網路時代所欠缺的,僅透過遙操和動捕短期內也很難獲得海量豐富的資料。透過模擬環境來生成這些近似物理世界的資料模態也許是通往具身大模型不可缺少的一個環節,只是在這個過程中,依然有很多問題需要被解決。
在和Jason的交流中,他的一個觀點讓我非常受啟發:模仿學習中,你必須使用高質量的資料,但高質量資料只告訴你如何在專家分佈內完成任務。一旦超出這個範圍,機器人會停滯,不知道該做什麼。在過往的一段時間裡,我們也觀察到很多次讓人類震驚的AI能力都是透過強化學習體現出來的,早前有AlphaGo戰勝李世石在圍棋領域稱霸,最近有AlphaProof和AlphaGeometry在IMO比賽中取得銀牌水平的成績,ChatGPT帶火的大語言模型也極大程度的應用了強化學習。
也許智慧的湧現並不存在於人類的經驗範圍內。以人類的經驗和能力作為參考訓練出來的產物,必定是人類能力的折扣。而要達到人類能力相當水平,也許需要透過超出人類理解和經驗的方式才能真正獲得。模擬+RL,現在可能是它的至暗時刻,但任何獲得巨大成功的人或事,誰又沒經歷過至暗時刻呢?
References
VIP
https://sites.google.com/view/vip-rl
Eureka
https://eureka-research.github.io/
DrEureka
https://eureka-research.github.io/dr-eureka/
原創不易,歡迎“點贊”“打賞”“在看”三連
也歡迎我微信交流


相關文章