對話羅劍嵐:強化學習+真機操作可以很Work

提到機器人+強化學習,也許大多數人和我一樣,會首先想到在模擬器中用強化學習進行機器人控制的訓練,尤其在移動控制(locomotion)方面。在機器人操作領域,因為模擬環境的Sim2Real Gap問題,模擬+強化這條路線在解決機器人真機操作方面一直沒有很好的突破。

在今天這篇文章之前,我一直以為強化學習和機器人的結合只能在模擬器裡發生,然後再Sim2Real部署到真機上。之前的一篇關於機器人操作的綜述將機器人的手牽向人類的手:靈巧操作華人論文綜述引用的大多數強化學習+操作的論文也都是這條路徑。當然有的就只是演示了在模擬環境中的demo,極個別的論文展示了真機部署。
看到這裡,我猜很多和我一樣的外行都認為強化學習這種暴力出奇跡的演算法應該只能在由GPU驅動的模擬環境裡進行吧。作為具身智慧資深博主,我可以負責任的說,今天這期文章可以非常好的科普強化學習如何不透過任何模擬直接在真實機器人上訓練。
我們今天訪談的物件羅劍嵐博士,是一位在強化學習+真機這條路線上持續深耕七八年的優秀學者,也是近期強化學習+真機這條路線上非常有代表性的兩篇工作SERL和Hil SERL的一作。羅劍嵐博士目前是伯克利人工智慧研究實驗室(BAIR)的博士後研究員,與Sergey Levine教授合作。2022年迴歸學術界之前,他曾在Google X擔任研究員兩年,與Stefan Schaal教授一起工作。他於2020年在加州大學伯克利分校獲得了碩士和博士學位。此外,他也曾在DeepMind和Everyday Robots工作過。
我非常欽佩羅劍嵐博士對自己學術路線的選擇和堅持。有些人堅持著一條少有人走的路,孤獨但堅定,直到這條路被更多人看到,他終將會引領這條路。關於強化學習+真機這條路線,希望以下文字可以讓你也瞭解這條經歷過一些故事的具身路線。
以下為本文目錄
👇
1. 自我介紹
2. 什麼是真機+強化學習
3. 強化學習+機器人的發展脈絡
4. RL+真機怎麼解決暴力搜尋的問題?
5. 真機+RL完全沒用到模擬嗎?
6. RL+真機是一個什麼樣的訓練過程
7. 泛化性問題
8. 為什麼堅持真機+RL
9. 在北美目前IL和RL哪個路線更受歡迎?
10. 18年的RL+真機和今天有什麼不同?
11. Hil-SERL有什麼侷限性?
12. 關於RL+模擬
13. Hil-SERL開源嗎?
一些想法
1. 自我介紹
我是2015年開始在伯克利攻讀機械工程博士,最初的方向是機器人控制,當時正值機器人學習(robot learning)領域初步興起的階段,特別是2015至2016年間。從那時起,也逐步將研究方向轉向機器人學習,主要和Pieter Abbeel以及Sergey Levine等學者合作,此階段,我的研究集中在強化學習,尤其是將強化學習應用到真實機器人。
2019年開始,我在谷歌多個機器人部門任職,包括Google X、DeepMind等,與Stefan Schaal教授合作。Stefan Schaal原來是USC的教授,是馬普所的founding director,在2015年之前,Stefan Schaal算是整個機器人學習領域的泰斗,彼時的機器人學習沒有引入視覺更多側重在機器人動態系統學習。整個歐洲學派,包括Jan Peters,Aude Billard等研究者,都是在他的學術體系中發展起來的。
2022年,我回到Sergey團隊做博後,主要研究高樣本取樣效率高效能的真機強化學習和操控方面,以及大模型相關的應用。
2. 什麼是真機+強化學習
在模擬強化學習中,目前比較成功的方向主要集中在強化學習與運動控制(RL + locomotion)上。相關研究通常是完全基於狀態,或者透過學習一個表徵(latent space),然後再Sim2Real或者Real2Sim2Real在現實世界與模擬環境之間做一個對齊。
但我主要關注的是在現實世界中一些非常複雜且重要的場景,比如物體接觸和可形變物體等。這些場景中,需要依賴視覺輸入(如RGB影像和相機感知),模擬中的策略往往難以在現實世界中取得理想效果,二者之間的差距較大。
現在用強化學習做物體操作相對冷門,但在2017-2018年期間,有不少人對此進行了探索,但當時強化學習面臨許多問題,比如樣本效率低等,這使得訓練過程十分困難,導致許多人放棄了這一方向。但我始終相信這個問題的重要性,所以一直堅持這個方向的研究。
總體來說,我的研究是在有視覺輸入的條件下用強化學習演算法進行真機訓練,尤其是對於一些模仿學習(imitation learning)無法達到100%成功率的任務,在涉及物體接觸等物理互動的場景中,能在一到兩個小時內訓練出達到100%成功率的模型,儘管這隻針對特定任務,而非廣義化任務,但其魯棒性和抗干擾能力非常強,這些在模擬環境中是很難實現的。
3. 強化學習+機器人的發展脈絡
強化學習(RL)的歷史可以追溯到八九十年代,那個時候的演算法相對簡單,早期的一些研究者,如Stefan Schaal等嘗試將其應用於運動控制,例如DMP和policy gradient等方法的結合,這個階段的研究是沒有視覺輸入的。
到2017和2018年,谷歌開始在真實機器人上應用強化學習,這些研究主要集中在抓取任務上,但由於抓取任務存在更好的解決方案(例如使用標註資料),這部分工作並沒有繼續深入。
在2019至2020年,有一個重要的研究工作是ETH團隊發表的兩篇論文,展示瞭如何在模擬環境中訓練強化學習模型,並結合了領域隨機化(domain randomization)。這些研究表明,即使模擬環境不是完全真實,也能得到在現實世界中表現合理的策略。他們的工作主要集中在運動控制上,這也逐漸成為現在大家做運動控制比較主流的一個方案,就是在模擬裡訓練,然後teacher-student做蒸餾。
這裡我想說的是,在運動控制任務中,基於模型的控制MPC方案非常成功。但控制或基於模型的控制問題是入門門檻比較高,你可能需要讀個5年的PHD,把Dynamics、把控制的這些都過一遍你才會搞,後面的效能最佳化需要有很強的工程支援。模擬和強化學習把運動控制的門檻降低了,提供了一個更容易上手的工具。
強化學習在運動控制上效能很容易到90%或95%就提升不上去了。如果你的模型在某些情況下,比如特定的拐角案例(Corner Case)上表現不佳,你可能會發現自己無從下手,除了不斷增加資料來最佳化策略(無論是TRPO還是PPO),也不知道該怎麼做。然而,如果是基於模型的控制(MPC),雖然調引數很難,也不容易使其正常工作,但你確切知道哪些引數需要調整,因為每個引數都有其物理意義。ETH團隊在最新的研究中(如2023年和2024年的工作)已經將MPC與強化學習結合起來。
至於強化學習對於機器人操作,其實一直沒有取得太大的突破。操作的難點不在於模型本身的不確定性,而在於外界的不確定性。運動控制的難點在於模型本身的不確定性,比如模型問題讓機器狗邁錯步子之類的問題,但這比較有限,是一個相對簡單的問題。而在操作中,機械臂的動作是確定的,你讓它向左走,它就一定會往左走,就像特斯拉的自動駕駛一樣。你真正擔心的是外部的不確定性,比如前面是否有卡車,或者路上是否有其他障礙物。
在操作任務中,比如撿起USB插頭並將其插入USB槽,問題在於接觸力的分析和剛體接觸的複雜性。在真實世界中,視覺資訊是連續的,環境的變化幾乎是無窮無盡的,需要處理的複雜度幾乎是無限的,這才是真正的難點。因此,在真實環境中進行訓練是必要的。雖然現在有些成功的深度學習模擬系統,但如果你構建了一個模擬器,從中學習出的策略是不可能超越模擬器本身的能力的。最終,你的模擬器會限制你的策略學習。
用模擬去構建一個和真實世界一模一樣的環境是很難的事情,你一定要自己去和這個真實的世界去互動才會有最真實的反饋。在強化學習中,有一個術語叫做基於人類的強化學習(RLHF),而在物理世界中,我們可以稱之為基於物理世界的強化學習(RLPF),因為物理世界提供了豐富的反饋。我們不能因為使用模擬器解決了一個相對簡單的問題就認為它一定會解決另一個難得多的問題,從而不去解決這個困難問題的本質,反而被困在“鞍點”裡,去繞路構造這個困難問題的近似(proxy)來嘗試去解決它。這樣長遠來看,會失去找到全域性最優解的能力。
當然,利用真實環境進行訓練是很有挑戰性的,因為你需要考慮的因素非常多。要求取樣效率非常高,並且需要確保整個系統協調運作,但這是難而正確的事情。因為這是能夠達到100%成功率的唯一有效路徑。
在我們最新的研究(如Hil-SEARL)之前,大家基本上放棄了在真實環境中用強化學習做操作的訓練,認為訓練出的策略效果不佳,訓練時間過長,整體過程也很複雜,因此許多人已經不再進行這種訓練。
然而,在今年1月份,我們釋出了SEARL,它能夠在真實世界中在十幾到二十分鐘內學習出100%的策略。這一框架引起了波士頓動力、斯坦福、MIT等國內外一些高校和企業的關注,他們重新開始在真實機器人上訓練強化學習。此外,一些歐洲高校也開始嘗試這種方法並向我們分享了他們的訓練影片。
4. RL+真機怎麼解決暴力搜尋的問題?
在模擬中通常使用的演算法是PPO,使用PPO時,每次訓練後得到的資料必須丟棄,然後重新開始。這在模擬中沒有太大問題,他們也不需要考慮取樣效率的問題。
我們的方法則需要提高資料的重複使用效率,之所以能夠實現樣本高效,主要得益於人類的演示示範。人類通常可以提供10到20個合理的演示,作為初始解,之後強化學習將在這個範圍內進行搜尋,直到實現100%的成功率。
我們使用了演示糾正,並結合線上人類反饋。這種方法不需要複雜的獎勵函式。舉個例子,AlphaGo的策略不管走多少步,最後只關注一個結果,即勝負。它的判斷標準是0和1,減少了推理過程中的偏見,這樣反而提高了效果。
關於獎勵函式的設計,確實非常複雜,無法簡單設計出一套有效的函式來處理所有情況。很多時候,設計出來的獎勵函式與真實物理環境之間存在較大差距。我們的獎勵函式設定是稀疏的,不管你是長程任務還是短程任務,任務完成了就是1,沒完成就是0。
我們的系統是高度可擴充套件的,能夠在多個任務上表現良好。透過合理的設計選擇,將多個系統和演算法整合在一起,我們最終建立了一個高效的系統。在我們的研究中,RL並不是簡單的暴力搜尋,而是在初始範圍內進行搜尋。控制論中也有類似的概念,即利用參考軌跡設計控制器,圍繞這個軌跡設計反饋控制器從而達到魯棒。
我們的方法在加入視覺資訊後,樣本效率的提升更為顯著。在一些複雜任務中,比如精密的PCB裝配或汽車組裝,我們的系統在真實環境中能在1到2小時內實現100%的成功率,顯示出其高效性和可靠性。
5. 真機+RL完全沒用到模擬嗎?
目前我們沒有使用模擬,直接在真實環境中進行復雜任務的學習。這種任務通常涉及精密的操作和多個接觸點,模仿學習在這些場景中通常會遇到困難。然而,我們的系統能夠在一到兩個小時內實現100%的成功率。例如,在我們的研究中,我們完成了12個任務,包括動態操控和與靈活物體的接觸,比如給汽車裝儀表盤。
RL+真機訓練過程
在動態操控中,關鍵在於根據反饋進行即時調整,而不是簡單地執行一系列固定的動作。我們必須根據相機捕捉到的環境資訊不斷調整行為,而不是僅僅記住某個動作然後開環(Open-Loop)執行。如果執行與預期有偏差,就需要不斷修正,這種與環境的真實互動是獲取機器人行為的關鍵。
雖然我們目前沒有使用模擬,但我認為我們可以透過預訓練來減少訓練時間。每個任務的初期階段往往是在摸索基本的操控能力。如果我們能使用易獲取的資料集來進行預訓練,這將大大縮短訓練時間。例如,透過訓練,我們可以將複雜任務的完成時間縮短到20分鐘,比如裝汽車的飛輪和皮帶等,儘管目前機器人在這些領域的表現仍然有限。
6. RL+真機是一個什麼樣的訓練過程
汽車裝配RL+真機訓練過程
這是一個汽車裝配任務,兩個機械臂需要把一個部件舉起來並安裝到儀表盤上。這個裝配任務非常精密,涉及到多個介面和非常精確的操作。現在的機器人還無法直接完成這個任務,它是從頭開始訓練的。在初期,機器人進行的是一些隨機探索,類似於在環境中做一些隨意的操作。我們提供了示範,然後在這個過程中,人類會不斷地進行糾正和指導。
隨著時間的推移,機器人逐漸掌握了基本的操作。影片是從頭到尾沒有剪輯的,基本上你可以看到從一開始的隨機探索,到最後,機器人成功地完成了任務。經過一定時間後(比如兩小時),它的成功率幾乎達到了100%,幾乎不會出現失誤。
這些行為是透過與真實環境的互動學習到的。比如說,機器人學會了如何抓取USB並放下,或者如何拉動皮帶等動作。這些行為是透過自動探索得到的。通常來說,只有透過不斷的訓練和反饋,機器人才能學會這些操作,強化學習演算法透過動態規劃,能夠幫助它達到更高的表現。
7. 泛化性問題
我們這篇論文並沒有處理從一個任務到另一個任務的泛化問題。SERL和HIL-SERL主要解決的是機器人操作的強化學習在真實世界不work的問題。關於多工問題,之前也有一些工作,展示了單個任務的強化學習模型可以快速生成資料,並且這些資料可以被蒸餾到更大的模型裡,進而變成一個支援多工的模型。透過這種方式,模型能夠更好地適應不同任務。
我們的目標是提供一個可靠、可用的基礎工具,幫助研究人員在這個工具上進行更復雜的工作。基於我們的工具,很多後續的研究都可以繼續構建,並且大家能夠更清晰地知道如何實現。
8. 為什麼堅持真機+RL
很多人放棄這類工作的原因之一是,它要求對機器人系統和強化學習(RL)演算法都有非常深入的理解。你需要在這兩個方向上都達到很高的水平,但實際上,這並不是一件容易的事。坦白說,似乎沒有什麼捷徑可以走,必須透過自己一步步踩坑,積累經驗。很多人可能會覺得,想要快速取得成果很難,可能就放棄了。我自己也覺得這個過程充滿風險,短期內可能收益不大。但從長遠來看,我認為RL肯定是未來解決方案的一大部分,至少我們可以看到這種趨勢。我預測,現在這些大規模使用模仿學習的創業公司,在他們試過之後,知道痛點在哪之後,明年開始就會用強化學習去最佳化成功率,節拍數,和一定的魯棒性。
至於說我為什麼仍然堅持做強化學習+真機,記得在2019年左右,當時在Google做研究時,我就開始嘗試了。我們用真機+強化學習做了一個插拔操作任務的研究,實現了100%的成功率,並且進行了1萬3000次測試,所有測試結果都是成功的。而且成功率甚至超過了我們付費請的一個當時最好的機器人系統整合商,我們是真正的看到了RL的潛力。
機器人操作強化學習的很多工作在實踐中很難復現。很多人都很難讓RL真正起作用,尤其是最新的研究成果,大家復現這些結果的難度很大。去年6月,我和Sergey討論能否給社群提供一個成熟、可靠的工具,使得大家可以復現這套機器人真機操作的強化學習演算法,這也是SERL這篇文章的初衷。
9. 在北美目前IL和RL哪個路線更受歡迎?
模仿學習只需要透過機器人收集一些資料,做一些實驗,它確實能很快產生結果,因此大家願意去做。然而,問題在於,當你想把模仿學習的效果提升到更高的精度時,單純依賴資料收集可能就不夠了。最終,模仿學習和強化學習需要結合在一起,形成一種互補的關係。比如說,如果你希望機器人能夠做到99%的準確度,強化學習肯定是不可或缺的一部分。Rich Sutton的bitter lesson說歷史告訴我們learning和search是兩種可以無限scale的方法。Imitation learning可以告訴我們怎麼從資料中找到特徵,但是沒有search或者optimization (RL),它超越不了資料的侷限,從而以新的方式解決新的問題。
在北美,Sergey他一直比較堅持在實際環境中使用強化學習。SERL和Hil-SERL這兩個工作,也更有說服力的證明為什麼需要強化學習,透過這兩個工作,大家應該能看到強化學習的潛力,並且理解它為什麼在這個過程中至關重要。我在北美這八九年也一直堅持在這個方向上沒變過,我的願望很簡單,就是讓我的技術能夠被廣泛應用,並且獲得真實的好評。我並不是要在論文裡寫一些誇大的內容,而是希望我的工作能夠真實有效地解決問題,並且能帶給大家實實在在的幫助。
10. 18年的RL+真機和今天有什麼不同?
核心演算法本身並沒有太大的改變,主要的進步來自於整個系統的整合與最佳化。Hil-SERL它的貢獻在於提供了一套端到端的系統和解決方案,而不僅僅是單一的演算法。過去,很多RL的研究關注的是模擬環境中的效果,通常在模擬器裡進行測試,但與真實世界的脫節非常嚴重。Hil-SERL不同,它是一個從底層控制器到高層演算法的全方位系統。底層的控制包括了阻抗控制和力反饋控制,到上層的一些演算法的設計,整個系統並不僅僅是某個單一演算法的最佳化,而是一個複雜的整合系統,各個環節緊密相連,共同起作用。
系統的設計思路就是將多個因素整合在一起,形成一個更好的整體,而不僅僅是單純最佳化某個元件。比如獎勵函式的設計,透過更加複雜的獎勵機制幫助模型學習得更快。這不僅僅是單個因素起作用,而是所有因素共同作用,使得整個系統的效能得到提升。這也是我一直在強調的觀點。
另外,我認為,許多人現在一開始接觸機器人技術時,往往只是簡單地收集資料,透過兩個機器人或幾臺裝置進行訓練和實驗,但真正有經驗的老一輩機器人專家會同意我的觀點:機器人本身是一個複雜的系統,不能單純依賴某個單一元件的最佳化來提升整體效能。就像你不能僅僅透過更換髮動機或電腦就讓一輛車變得更快。機器人系統需要在硬體、軟體、控制等各個層面上都做到位,才能真正發揮出它的潛力。如果你僅僅做其中的一部分,而忽視整體的整合和最佳化,最終的效果就會受到很大的限制。
11. Hil-SERL有什麼侷限性?
強化學習的取樣效率與多個因素有關,主要包括狀態空間(state space)、動作空間(action space)和任務的時間跨度(horizon)。這些因素直接影響到RL的取樣效率,任務的複雜性越高,所需的取樣數量也會增加。例如,短程任務(比如十幾秒)相對容易用RL來解決,但如果長程任務(比如幾分鐘),可能需要其他工具或方法來輔助解決。
對於任務的偏好,尤其是涉及複雜接觸、柔性物體以及精密設計的任務,RL確實有其優勢,但也有侷限。對於長程任務,例如將多個子任務結合在一起進行學習(如“開啟門”、“關窗簾”、“倒水”),這一系列七八個任務一起學的話,RL可能會學不動。為了解決這一點,可以將任務進行拆分,每個子任務單獨處理,這樣RL就能更有效地學習和執行。
12. 關於RL+模擬
人類的很多工,比如打網球,他並不是透過看Youtube影片就可以學會的。他必須自己去嘗試,根據環境的反饋來調整自己的動作,最終形成一種肌肉記憶,這種記憶和大腦對物理世界定律的理解無關,他就是一種體感。這個過程是很難透過模擬來構建出來的。與其花100億去構建一個虛擬的世界模型,我還是覺得收集真實資料來的更快效果也更好,也不用去解決Sim2Real Gap的問題。
自動駕駛公司,即使他們擁有全世界最大規模,最具擴充套件性的模擬器(如Waymo或者特斯拉的模擬系統),它們在訓練最終模型時仍主要依賴真實資料,而非模擬資料。對今天的特斯拉來說,他積累了足夠多的真實駕駛資料,他的問題在於怎麼樣用這些資料,不是開玩笑,去年我聽說他們已經面臨資料中心裝不下產生的資料的問題了,現在似乎有種說法誰的硬碟多,誰就能笑到最後。
類似的教訓也出現在90年代計算機視覺的發展中。當時Adobe嘗試透過合成影像(synthetic images)解決影像識別問題,投入大量資源生成合成資料,然而最終這些合成影像未能成功支撐視覺模型的實際應用。反而是隨著真實影像資料集,比如ImageNet,視覺模型才獲得突破性的進展。模擬有他的用途,但如果從構建機器人資料金字塔的角度,真實世界資料還是會佔大頭。
大家現在使用模擬的一個主要觀點是機器人真實資料很難獲得,模擬可以瞬間生成100億的資料,但是沒有人會反對如果我有了真實資料,那麼最有用的是真實資料。但這不是問題的本質,十年之後我們有一億個機器人部署在真實世界中,不斷分享著他們的真實物理資料(physical experience),那時候我們再來看現在我們的困局,很多問題將會不存在,很多觀點將會變得無關緊要。我們現在有的資料量,部署的機器人,都不足以讓我們產生確切的科學結論,所以才會百家爭鳴。遠的不說,誰先第一個部署1000臺人形機器人到工廠裡,他們24×7傳回來的資料就足以讓我們產生新的正規化,新的科學結論,我們先從這些半封閉的空間的問題入手,一旦我們對問題有了更深的瞭解,得出的方法論才會更進一步延伸到無約束的空間裡的問題。
13. Hil-SERL開源嗎?
我們將整個專案完全開源,並且特意選擇了MIT許可證,以便讓更多人能夠使用。從機器人到強化學習(RL),所有的內容都將端到端開源。你提到的關於是否易用的問題,實際上像一些本科生幾天就能將其搭建起來,而且還能夠在此基礎上進行擴充套件。我們做這篇文章的初衷並不是為了發表論文,發論文對我來說並沒有實際意義。
我們花了大量時間重新設計並驗證整個程式碼庫,確保它在各種環境中都能順利執行。透過這些反覆的測試,確保大家能夠拿到這個工具後,直接接入並順利使用。
一些想法
風險投資這個行業,入行已有七八年,雖然投的專案裡有一些跑的非常不錯,但確實也沒有投出超級獨角獸。有的時候非常感慨如何才能投出個“拼多多”,至今還無解。對我個人來說,so far非常喜歡這個職業,但不得不承認取得終極的成就感,真的非常難,更多的是遺憾和錯過。一些專案自己很欣賞但奈何推不動;一些如今炙手可熱的專案在早期臨門一腳僅一念之差沒投,這類遺憾和錯過每個投資人也都經歷過。怎麼和自己和解?把每一次經驗教訓變成下一次反應的依據。除此之外,寫部落格也是和自己和解的一種方式,在一系列工作沒有直接轉化的時候,沉澱自己,逐步提高,守得住寂寞,才配得上繁華。
References:
SERL
https://serl-robot.github.io/
HilSERL
https://hil-serl.github.io/
原創不易,歡迎“點贊”“打賞”“在看”三連
也歡迎加我微信交流!


相關文章