萬字長文珍藏版:RL+Control如何將機器人可靠性逼進99.9%?丨GAIRLive


真實世界,才是檢驗機器人 Learning 有效性的終極考場。
整理丨吳華秀
編輯丨陳彩嫻
穩定性是制約人形機器人落地的重要因素之一,如何利用強化學習(RL)與基於模型的控制(MBC)來進一步提高機器人的穩定性,已成當下業界的重要研究方向。
2024 年 12 月 8 日,雷峰網、AI 科技評論 GAIR Live 品牌聯合石麻筆記一起舉辦了一場主題為“RL+Control:將機器人可靠性逼近99.9x%”的線上圓桌沙龍。
圓桌主持人為石麻筆記主理人、英諾天使投資人王建明,並邀請了浙江大學副教授與雲深處創始人朱秋國、北京大學助理教授盧宗青、卡內基梅隆大學(CMU)石冠亞與加州大學伯克利分校博士後羅劍嵐一起進行了一場深度的討論。
會上,四位嘉賓圍繞 RL、Control 和機器人可靠性之間的關係分別提出了自己的獨到見解,其中:
石冠亞認為,可靠性包含多個維度:底層硬體的穩定性、兜底恢復(Recover)能力,而且可靠性不能一概而論,需要結合場景對泛化性的需求程度。當下,將強化學習與控制相結合,例如把控制的安全性融入強化學習中,或者藉助控制良好的結構使強化學習變得更具穩健性,是提高機器人穩定性的可行路徑。
朱秋國則表示,學界的可靠性和產業界的可靠性並不完全相同,很難將一種方法在實驗中的可靠性(比如達到99%或者90%)直接套用到產業產品中。機器人作為產品形式出現,必然要解決硬體和軟體融合之後的可靠性。他認為,RL 在控制領域裡有點類似鎮定器,在與環境互動接觸的過程中,依靠強化學習的模型,能夠確保機器人穩定可靠。但這並不意味著基於模型的方法就失效了,模型預測控制(MPC)與強化學習相結合也是當前的另一種趨勢。
羅劍嵐指出,機器人要想真正發揮作用,成功率實際上要達到 100%,因為每一次出現故障、失敗都有成本,會直接導致收益減少。要達到這個目的(100%),需要將強化學習和模仿學習結合起來,並與環境進行互動,在動態的過程中去實現可靠性。
盧宗青認為,在現實世界裡,要實現高效能的操作並達到高可靠性(100%),一定要與環境進行互動,而要實現與環境互動,就必須得運用強化學習(RL);而依靠模仿學習、強化學習這些控制方法,人形機器人不太可能達到99%以上的可靠性。從場景需求出發,許多工並不需要100%的成功率,而是滿足設定的目標值即可。
除此之外,四位嘉賓圍繞機器人的移動(Locomotion)、操作(Manipulation)以及未來 RL 的創新方向等話題展開了精彩分享。以下 AI 科技評論進行了不改原意的整理:
1
“機器人是一個很棒的平臺”
王建明:先請嘉賓們做一個自我介紹,從羅博士開始吧。
羅劍嵐:大家好,我是羅劍嵐。我目前在伯克利人工智慧研究實驗室(BAIR)擔任博士後研究員。我曾在伯克利獲得博士學位,並在谷歌工作了兩三年,後來又回到伯克利。自 2015、2016 年起,我開始涉足機器人學習領域,當時這一領域還未被稱為“具身智慧”,我的研究重點集中在機器人操作技術。
石冠亞:大家好,我是 2023 年入職 CMU 機器人研究所的助理教授,資歷尚淺。我的博士畢業於加州理工學院控制系,該系雲集了 Richard M. Murray、John Doyle 等控制領域的大佬。我從 2017 年開始研究 Control+Learning,當時很多控制領域的人都在考慮加入 Learning 元素,到目前為止我在 RL+Control 這個方向的研究已有七八年了。
博士畢業後,我在華盛頓大學做博士後,師從 Byron Boots,開展了大量機器人學習方面的工作。讀博士之前,我在清華念本科。我對今天的主題極為感興趣,我思考這個問題差不多有十年了,從本科時就開始琢磨,所以特別高興能和大家探討,可能等會我會有很多暴論(笑)。
盧宗青:大家好。我來自北大計算機學院,主要做強化學習演算法研究。我 2017 年回國後便一直鑽研強化學習演算法。近期也涉足機器人相關工作,並且在跟進大模型研究,重點關注視覺標記化(Vision Tokenizer)以及互動學習的相關內容。
朱秋國:大家好,我是浙江大學控制學院副教授兼雲深處科技創始人。我一直專注於人形機器人與四足機器人研究。早期運用傳統控制理論方法,2019 年起便與國外學者合作開展 RL 相關研究,主要帶領課題組研究生開展這方面的研究工作。
王建明:感謝老師們的自我介紹。今天的討論主題是“RL + Control”。作為熱身,咱們先簡單聊聊。很多人覺得 AI 和機器人結合是當下最大的機遇和浪潮,各位老師在浪潮來臨前的十年甚至更久就在這個領域深耕了。能不能講講當初為什麼選這個方向?現在風口來了,又有什麼感受?
石冠亞:我覺得機器人和其他領域有個很大的不同之處,就是它屬於系統性工程,由很多模組組成,像大腦、小腦、肌肉這些。大腦對應的是一些高層次演算法,小腦則是全身控制演算法,還包括硬體等方面。
以前我跟著導師讀博時,有位叫 Joel W. Burdick 的老師,他在機器人領域造詣很深,可能都做了50年了。他常跟我說他的機器人波浪(Wave)理論,意思是每次機器人領域成為風口時,就會有很多浪潮往前推進,雖說沒辦法達到通用人工智慧(AGI)的程度,但總會留下些成果,而這些成果對機器人領域來說是很大的貢獻,等到下一波浪潮來臨時,又會基於之前留下的成果再掀起新的浪潮。我對這個觀點挺認同的。
回到王老師提的問題,我為什麼喜歡機器人、為什麼做機器人做了這麼多年。我覺得機器人就是個載體,你想做的任何研究都可以透過它來開展。舉個例子,要是你想挑戰極限,去做個跑步機器人,那完全沒問題,又或者你從材料科學角度去組裝一個機器人也行,還可以專注做演算法。總之,我認為它是個很棒的平臺,能讓我們去做很多想做的研究。
有沒有和別人意見相左、堅持不下去的時候?對我而言,最大的不同可能就是我一直挺堅持端到端學習演算法,或許這與當下很多人的觀念不太一樣,但我覺得它並非非主流觀點。很多人都覺得我們這個領域最大的爭議是:“是不是 Data is all you need?”實際上,去年針對這一話題有過一場討論,會後現場投票的結果是 50:50,所以我也不能說這是個非主流觀點。
我其實一直挺堅持我們要在獎勵機制裡做一些學習(Learning),並且要有一些真實的資料、一些結構(Structure)。我覺得這算不上冷門觀點,但它確實是我的一個看法。
王建明:朱老師您也一直在這一領域裡耕耘了至少 15 年,從最開始的雙足人形機器人,到後面的四足機器人,您可以分享下這一路以來的感受嗎?
朱秋國:我長期從事人形機器人相關研究工作,四足機器人是跟人形機器人並行的一個方向。因為早在最開始的時候,我們還和清華一起參加了 ROBOCUP 人形機器人比賽,當時就有一個預言,說到 2050 年時,要組建一支人形機器人隊伍,最終能夠打敗人類足球隊。可以想象一下,這中間的時間跨度非常大。
對於我們從事控制領域工作的人來說,人形機器人本身就是一個很棒的研究平臺。機器人缺乏穩定性,如何控制它們是一個挑戰,沒有現成的理論或穩定性標準。我們的目標是讓機器人走出實驗室,適應真實世界的複雜環境,然後考慮如何實現實際應用。
對我個人而言,首先要熱愛機器人,其次,在實現最終應用的過程中,需要經歷不同階段,包括理論的升級和機器人效能的提升。2010 年之前,我們實驗室導師就提出要求,能不能讓機器人走到室外,比如到實驗室外的坡上、操場上走走。現在看來輕而易舉的事,在那時卻難如登天。光是邁出這一步,我發現都花了近十年時間。所以機器人本身就是個需要長期堅持的賽道或方向,要麼放棄,要麼長期堅守。
羅劍嵐:實際上,我最初在伯克利從事控制領域的研究時,開始接觸機器人學(Robotics)。當時我參與的第一個專案是操作(Manipulation)任務。在傳統的控制方法中,需要採用分離原理(Separation principle),也就是將狀態估計(State estimation)和控制(Control)分開。然而,很多操作問題中,狀態估計並不是容易實現的。正因如此,這種控制方法在一些複雜場景下遇到了很大的挑戰。
後來,我看到了伯克利在2015年發表的端到端(End-to-end)方法相關論文《Guide Policy Search》。這篇文章讓我眼前一亮,因為它跳脫了傳統分離控制的框架,為操作任務提供了一種全新的思路。透過端到端的學習方法,直接從感知到控制進行最佳化,繞過了對狀態精確估計的依賴。
儘管操作任務至今仍然是一個巨大的挑戰,很多問題還沒有被完全解決,但端到端的學習方法以其廣泛的適用性和潛力,正在成為解決實際操作問題的重要方向。
盧宗青:我先講講我的歷程。我和其他三位老師不太一樣的地方在於,我本身是做強化學習演算法的,所以此前大部分工作都停留在做強化學習實驗上,主要涉及兩塊,一個是 MuJoCo(通用物理引擎),另一個是遊戲。實際上,我們之前主要聚焦在遊戲這方面。
不過在大模型出現後,我們做了很多嘗試,就是把強化學習和大模型結合起來開展工作。去年也做了諸多嘗試,包括通用計算機的控制等一系列工作。我們期望能打造出一個通用智慧體(Agent),讓它能夠控制並完成電腦上各種各樣的任務,但是後來發現,尤其是在大模型方面,目前還很難做到這一點。
所以,我覺得即便有了大模型,它也需要與真實環境進行互動,基於這樣獲取到的資料去更好地學習。我跟劍嵐剛才表達的意思相近,就是確實需要與物理環境互動,基於與物理環境互動得來的資料去學習,或許才能催生更具通用性的智慧。
而說到與物理世界互動的載體,自然就是機器人了。因此,從今年開始,我們會把更多精力放在機器人方面,涵蓋 Locomotion、Manipulation,以及思考在真實資料的基礎上如何更好地學習大模型,特別是針對視覺這塊,畢竟就目前的大模型而言,其對視覺的理解還比較薄弱。所以,怎樣透過視覺也好,觸覺也好,去更好地理解物理世界,是我們當下所關注的重點。
2
RL+Control 之於 Locomotion
王建明:接下來探討一些更具體的問題,咱們先聊聊 RL 和 Control 在機器人移動能力(Locomotion)上的情況。
當 RL 和 Control 應用於 Locomotion 這一領域,其實很多時候二者是分開工作的。比如,有些老師一開始是運用基於模型的控制(MBC)方法來處理 Locomotion。而現在,很多強化學習的應用是先在模擬環境裡進行,然後再透過 Sim2Real 的思路去解決機器人移動的相關問題。
石老師,我前段時間看了您在 YouTube 上的一個影片,是介紹 RL 和 Control 相結合的內容,像在四足機器人、人形機器人等方面都能結合。您還提到了 Leaning dynamics from real world 等概念,您可以系統地講講過去十年您是怎麼把 RL 和 Control 結合起來的嗎?
石冠亞:這個問題有些大,我先從一個小角度來切入吧。首先表明我的第一個觀點,算是個“暴論”吧。我覺得 RL 以及 Control 本身都算不上是一種方法,而應該是一個問題。
我覺得強化學習的定義就是有一個馬爾可夫決策過程(MDP),包含獎勵(Reward)和系統動態特性(Dynamics),目標是最佳化獎勵,找到策略用於控制,這和 Control 本質上是一回事。其定義就是面對動態系統去設計策略以滿足一些限制,不能因為 Richard Belle man 提出“S、A、R、S” 這套表述就說它們不同。
因為它們本質是問題,所以有很多演算法,像 RL 就很豐富多樣。比如 Sim2Real RL 就是很具體的方法,我可以在像MuJoCo、SR 遊戲這類做 Locomotion 的主流模擬器裡,用近端策略最佳化演算法(PPO)訓練策略,再應用到現實世界中,這跟劍嵐做的很多真機+ RL 完全不同,我覺得它們的差別比 RL 與 Control 的差別還大。
我的觀點是,它們是兩個不同的問題,得更具體地去探討。就拿強化學習來說,我們得明確具體討論的是哪種型別的強化學習。比如是 “模擬到現實的無模型強化學習(Sim2Real Model – Free Reinforcement Learning)” 呢,還是當下很熱門的 “學習世界模型(Learning word model)”、也就是基於模型的強化學習(Model-based reinforcement learning),亦或是在真實世界裡開展的無模型強化學習呢?像劍嵐近期就有不少很棒的相關工作。
我覺得這些不同型別的強化學習其實差別挺大的。另外,還有離線強化學習(Offline reinforcement learning),有很多演示資料(Demonstration)的時候,不光能做模仿學習,還可以進行離線強化學習。我覺得它們之間的差別甚至比強化學習(RL)內部不同型別之間的差別還要大,這是我的第一個觀點,第一個暴論。
第二點,說到 Locomotion,目前在這方面最流行的 RL 方法就是模擬到現實強化學習(Sim2Real RL),就是先在虛擬模擬(Simulated)環境裡,運用近端策略最佳化演算法(PPO)或者其他類似的演算法去訓練出一個策略,之後再把這個策略部署到現實世界當中去。
我的第二個“暴論”就是,我認為 Sim2Real RL 是一種基於模型的方法。你想想它的操作流程就能明白,首先得有一個你比較信賴的模型,比如模擬器(Simulator),然後在這個模擬器裡訓練出一個策略(Policy),之後再把這個策略部署到現實(Real world)當中。
不過我覺得它和 MBC 在兩個維度上是不一樣的,那它的優勢在哪?在我看來,Sim2Real RL 最大的優勢,在於其離線計算能力近乎無窮。也就是說,它可以離線從成百上千乃至上萬條軌跡(Trajectory)當中去學習策略,有充足的時間去進行最佳化,從而找到合適的策略。像 MPC 這類大多數基於模型的控制方法,其實它們所有的算力運用都是在線上的。就是說,我得線上去確定機器人下一步往哪兒走,它並沒有離線的算力。
所以我覺得這就是 Sim2Real RL 和 MBC 在算力運用方面第一個主要的不同點,也就是算力到底是用在離線階段(Offline)還是線上階段(Online)。“離線”的定義,就是在機器人開始執行之前進行相關運算;而“線上”就是機器人一邊執行,一邊去計算相應的內容。
然後第二個我覺得 Sim2Real RL 相對 MBC 最大的優勢在於,它在一定程度上繞開了狀態估計(State estimation)的問題。在傳統的控制裡,我們一般遵循分離原則(Separate principle),比如說要用模型預測控制(MPC)去控制一個人形機器人,在這之前,大機率得先搞一個狀態估計器(State estimator),去估計機器人自身的速度、角速度等物理量。
從某種程度上,在傳統控制裡,狀態估計(Estimation)其實和 Control 一樣,都是要面對的問題。說到底,你得清楚機器人所處的狀態、得知道機器人此時此刻在什麼位置。我覺得在現實世界裡,狀態估計(Estimation)其實和控制一樣,都是要面對的問題,說到底就是得知道機器人的狀態,清楚它此刻所在位置。而強化學習(RL)在一定程度上能繞開這個問題,因為它可以同時學習策略(Policy)和狀態估計器(State estimator)。
拿目前在 Locomotion 方面最成功、最流行的邏輯來說,師生網路學習(Teacher Student Learning)。自 2020 年 Science Robotics 釋出論文“Learning quadrupedal locomotion over challenging terrain(在具有挑戰性的地形上學習四足移動)”之後,大概有幾千篇文章都遵循這個邏輯,一直到現在,差不多5年時間把師生網路學習推到了頂峰。
師生網路學習是什麼意思?就是先在模擬環境(Simulator)裡訓練出一個所謂的“教師策略(Teacher Policy)”,這個“教師策略”知曉一切,比如它知道模擬器裡的所有資訊,像地面的各種情況、機器人的速度等等,這些我們稱之為特權狀態(Privilege state)。然後,這個“教師策略”(Policy)是沒辦法直接部署到真機上的,因為在現實中,你沒辦法知曉地面情況,也不清楚機器人的絕對速度等資訊。不過在 RL 裡,利用這個“教師策略”後,可以將它提煉到一個叫“學生策略”(Student policy)的東西里,這個“學生策略”的輸入是你所能觀測到資訊的歷史記錄,也就是“過去 n 步”的相關情況。目前這套方法已經很成熟了。
我覺得,就是因為有這種師生學習框架,所以繞開了狀態估計(State estimation)這個問題。相當於在實際應用中,你不需要獲取真實的狀態,可以直接利用感知資訊的歷史記錄就可以進行控制操作了。我覺得這兩點就是強化學習(RL)最大的優勢。
而對於 Control,我認為它也有兩大優勢。第一點是跟 RL 剛好完全相反。首先,Control 具備線上計算能力。Sim2Real RL 存在的問題是,你在模擬環境裡訓練出一個策略後,一旦應用到線上,這個策略就固定住了。哪怕這個策略效果很差、很不理想,你也沒辦法去即時調整它,除非你再去做真實世界的 RL,而且基本上都會受到 Sim2Real GAP 的影響。如果模擬器質量很差的話,那產生的誤差就會很大。但 Control 有個很重要的思路,就是可以進行類似 MPC 那樣的操作,能夠一邊讓機器人執行,一邊進行相應的計算。
Control 的第二個的優勢就是它具備很多很不錯的結構。現在大部分流行的 RL 演算法,其實就是近端策略最佳化演算法(PPO),大家都用它,因為它是同策略(Onpolicy)的,大家也不太在意取樣效率。它最終呈現出來的效能表現還算比較好,而且操作起來也相對簡單,不過它本身並沒有什麼特定的結構,這就導致有時候它會收斂到一些我們不想要的狀態,比如一些很奇怪的狀態。但控制就不一樣了,它有很好的結構,能夠藉此提高取樣效率,這就是它的一個優勢所在。
我很多研究的核心思路,就是嘗試將 RL 與 Control 相結合,例如把 Control 的安全性融入 RL 中,或者藉助 Control 良好的結構使強化學習變得更具穩健性。最後,我和前面三位老師有一個共識,最有效的學習方式最終還是要落實在真實世界當中去開展和驗證。
我對於當前模擬(Simulation)方面的進展並不是特別樂觀,因為我始終覺得,開發出一個非常完美的模擬器本身就是極為困難的一件事。我們不能期望能有達到通用人工智慧(AGI)水平的模擬器出現,然後憑藉它去解決所有問題。所以,一定要以某種方式,在真實世界裡去做學習(Learning)才行,只不過我所採取的角度是將 RL 和 Control 相結合去做真實世界裡的學習。
王建明:謝謝石老師。我覺得您可以推薦一些您在 RL 和 Control 結合方面的工作,可以讓同學們參考學習一下。
石冠亞:好的,我分享幾個相關內容吧。
第一個,我做過很多人形機器人相關的工作,其中有一套邏輯是我個人特別喜歡的,那就是別讓 RL 直接進行一對一(n to n)的輸入輸出操作。我覺得當下有不少論文,就是用 RL 去輸出比較高層的資訊,打個比方,要是去控制一個人形機器人,為什麼非得讓強化學習(RL)去輸出每個電機的扭矩呢?其實可以讓它輸出一些更高層的資訊,比如可以讓它輸出速度、加速度等資訊。我覺得這是個挺有意思的方向,我有不少相關論文,大家可以搜一下“agency”就能找到,也可以直接進入我實驗室主頁看看那些影片,影片裡機器狗跳躍等展示的成果,其實都是基於這個邏輯做出來的。
第二個給大家推薦的一系列工作,是帶有“現實到模擬(Real to Sim)”的特點。我沒直接做 Sim2Real 的工作,而是先進行 Real to Sim,再做 Sim2Real 。我個人挺看好這個方向,就是不在固定不變的模擬器裡學習,而是到現實中獲取資料來改進模擬器,之後再基於改進後的模擬器進行學習。這個方向我覺得也挺不錯的,我們近期在這方面也開展了一些工作。
第三個,就是基於 MPC 相關內容。更有意思一點的做法是,我們先學習一個世界模型(World model),然後再利用 MPC 去進行控制操作。這方面我們最近有挺多文章的,比如說現在帶 MPC 的相關研究挺熱門,大家都在研究,因為它的程式碼相對簡單。我們做了很多關於學習動力學(Learn dynamics)的工作,就是在現實環境裡把動力學模型學習出來,之後再運用基於取樣的模型預測控制(Sampling-based MPC)去開展後續的 Control。因為基於取樣的模型預測控制算是一種最靈活的 MPC 方法了。
王建明:好的,謝謝石老師。朱老師,我覺得您在國內控制領域實力很強,整個浙大在控制方面也是如此,尤其在關節機器人控制領域經驗豐富。從產業化角度看,朱老師所在的雲深處近期的工作令人印象深刻,像四足狗、輪足機器人,它們現在很多控制都用 RL。能否請朱老師介紹一下,從傳統的 MPC、更早的 ZMP(零力矩點)等方法的使用,到現在使用 RL,這整個過程您有什麼感受?另外,對於產業和學術結合方面,您如何看待這兩種方法?
朱秋國:早期在機器人上我們大量運用了 MPC +WBC(全身運動控制)這類方法,做了不少相關工作。但從整體效果來看,採用 RL 的方法能更好地展現機器人全身運動能力
MPC 和 WBC 在 RL 出現之前算是比較主流的方式,因為無論是面向人形機器人還是四足機器人,它們的全身模型很複雜,當要去求解這種高維度的最優問題時,不僅需要大量計算,還得保證線上的即時性才行。
所以我們運用 MPC 時,往往會對模型進行簡化,也就是處理簡化模型的長時域最最佳化問題。在這個過程中,需要進行建模,比如先將其簡化成單剛體模型,複雜一點的話就變成機器人模型。在此基礎上,透過預測來保障機器人狀態軌跡的可預測性,進而確保機器人的穩定性。但做完簡化模型那一步後,大家發現存在問題,因為簡化後的模型很難真實反映機器人全身動力學的特點。
於是我們的研究進入了第二階段,也就是處理複雜模型的短時域最最佳化問題,就是所謂的全身運動控制(WBC)。在這個階段,要建立機器人的全身動力學模型,然後計算出當前的最優控制以保證即時性,用全身運動控制(WBC)來彌補模型預測控制(MPC)因簡化模型而產生的問題。這項工作確實開展了挺多,也取得了比較好的效果,不過運動的靈活性還是比較固定。我們透過這種方法做出的效果,很難與波士頓動力 Atlas 機器人相媲美,Atlas 呈現出的效果是最好的。
在很多場景下,我們現在用的機器人演算法還是以傳統的模型預測控制(MPC)加全身運動控制(WBC)這種方式為主,因為這種方式比較穩定、可靠,也容易解釋和分析。不過這種方式也會帶來一些問題。
第一個問題,比如對於腿足機器人,它的運動模式是足部離散運動,在它跳躍或者行走、跑步的時候,要怎麼保持它連續跳躍的穩定性?如果採用傳統方法,就會遇到幾個問題,像怎麼保證機器人在規定時間內接觸地面,還有接觸地面後怎麼保證它能快速響應之類的問題。
要是還用傳統的最佳化方法框架去處理的話,比如把時間納入到最佳化問題裡,就會發現這個最佳化問題會變得極為複雜,而且現在大部分人運用這套方法時,往往會忽視這個問題。
第二個問題是,關於觸覺感知,怎麼能讓它在模型預測控制(MPC)起作用前就發揮作用呢?很有可能等檢測到相關資訊時,機器人就已經摔倒了。這些是我們在使用傳統模型控制方法過程中會碰到的一些問題與挑戰,有些問題很難解決,甚至根本沒辦法解決。
那麼 RL 還是有它的優勢,前面石老師講過的那些優點我就不贅述了。我覺得 RL 在控制領域裡有點類似鎮定器,在與環境互動接觸的過程中,靠著這樣一套強化學習的模型,能夠確保機器人穩定可靠。所以現在我們推出的人形機器人、機器狗、輪足機器人,我們實際運用的都是 RL 這套方法。在運用過程中,無論是發揮全身動力學的能力,還是實現全身的協調性,都能展現出更高的靈活性。
所以我們目前主要的研究重點還是放在 RL 上,但這並不意味著基於模型的方法就沒用了。在浙大這邊的研究中,我們帶的研究生已經開始嘗試在 RL 技術基礎上,融入一些 MPC 的思路或設想,去開展一些更具挑戰性的工作。
我覺得從原來單純用 MPC,到後來使用 RL,再到現在進行 MPC 與 RL 相結合,可能就是在這個領域不斷摸索的一個過程。
王建明: 那請盧老師先介紹一下,您在強化學習領域深耕多年,能否跟大家分享下您目前在這方面的工作及經驗積累?
盧宗青:好的,我先回應一下冠亞剛才提到的問題。首先,無模型強化學習(Model free RL)和 Control 解決的其實是相同的問題,面臨的數學問題也是一樣的,只不過解法不同罷了。
我一直在從事強化學習相關工作。對於機器人,尤其是人形機器人的解法,我們側重的角度可能和大家不太一樣。從人的角度來看,我們更多基於一種分層的假設框架,在高層可能更多涉及姿態方面的調控,或者說並非傳統意義的控制,而是透過姿態去影響,而在下層,比如低層級策略,去進行具體的控制操作,好比針對人形機器人,就是過控制電機或其他控制量來實現相應姿態。
所以我們更關注與物理世界的互動,而在互動過程中需要融入視覺資訊。畢竟人在控制自身身體時,會融入大量視覺資訊,還有觸覺資訊等各類從外部能感知到的資訊。也就是人形機器人如何與物理世界進行互動。
而且就人形機器人而言,我們可以利用大量與人相關的資料,包含網際網路上能獲取到的影片等資料。那如何依據這些資料讓機器人實現對自身身體的控制?對於下層策略來說,不管是運用近端策略最佳化演算法(PPO)在模擬器裡訓練,還是採用模型預測控制(MPC)的方法,只要能達成上層所給出的目標就行。我覺得這樣的思路或許更容易構建出一套系統,從而更好地解決相關問題。
對於 Locomotion,目前多數情況下,不管是用 RL 還是 MPC 的方法去處理,解決的都是同樣的問題。但我覺得其中更關鍵的是,怎樣融入額外的模組,以此來考量物理世界中的相關資訊。另外,就物理世界中的資訊而言,學習動力學(Learning Dynamics)可能是相當困難的事。像其他學者提到的構建世界模型,要想在視覺層面以及觸覺層面真的構建出一個完整的模擬器或者世界模型,我認為難度很大。所以從我的角度來看,在現實世界中去學習或許會更好一些。

3

Manipulation 之所以用 RL
王建明:好的,謝謝盧老師。剛才三位嘉賓的討論多聚焦在 Locomotion 方面,接下來我們探討一下操作方面 RL 和 Control 的相關內容。請羅劍嵐博士介紹一下這七八年來在這條路徑上的情況。
羅劍嵐:大家剛才都在聊 Control,我本身也是控制背景出身,雖說現在不寫控制方面的論文了,但也接受過完整的相關訓練。我覺得控制是非常有效的,它的有效性已經體現在我們生活的方方面面了。汽車需要運用控制,我們靠著控制技術把人送上了月球。就好像如今我們做科研也不會再去專門引用牛頓三大定律了,因為它已然是既定存在且確實有效的。
我們具體把控制放到機器人這個範疇裡來看,其實很多方面是存在不少問題的。因為就像冠亞所說,機器人是一個很大的系統,你可以說汽車是一種機器人,飛機也是機器人,腿足機器人同樣是機器人,機械臂做操控也是一種機器人技術。這涉及到的很多問題都不一樣,無論是無模型(Model-free),還是基於模型(Model-based),都需要具體問題具體分析。
總體來講,大家可能主要在做三件事,第一個是導航(Navigation),第二個是移動(Locomotion), 第三就是操作(Manipulation)。我們探討的這些方法論,要是套用到這三個不同的問題、不同的情境當中,那實際上是在說不同的事。
比如剛才冠亞提到的端到端,在這三個問題裡,它的表述其實是不一樣的。比如說針對導航做端到端,我不知道該怎麼做,感覺要是把整個地球都繪製一遍地圖來做,那這肯定不行的。應該是透過視覺基礎模型獲取語義資訊,接著進行地圖構建、同時運用即時定位與地圖構建(SLAM)等技術。
而對於 Locomotion,這是個很有意思的問題,大家剛才一直在說模擬器之類的工作,從本質上講,這其實意味著要對物理規律進行逆向推導。“在對物理規律進行取樣時,其實就是在做基於模型的控制”,對於這個觀點,我其實挺認同的。模擬器提供了一個更好的計算工具,但它並不能直接給出一個策略(Policy),得使用最佳化器(Optimizer)才會有相應的策略。
然後再來說說 Manipulation 方面,這其實是另一個問題了。在機器人學裡存在一個著名的悖論,叫莫拉維克悖論(Moravec's Paradox)。它所闡述的內容是這樣的:回顧50年的人工智慧發展歷史,我們會發現,對人類而言簡單的事,讓機器去做卻很難;而那些人類做起來難度較大的事,機器人操作起來反倒簡單。比如,我們能夠教會機器下圍棋,像 IBM 的深藍早在 20 年前就可以下棋了,後來 AlphaGo 打敗了李世石。然而,像拿起水杯這類在人類眼中極為簡單的動作,對於機器來說卻異常困難。針對這一現象,有著諸多解釋和爭論。
之所以會出現這種情況,是因為人類歷經了數十億年的漫長進化,而數字化以及真正擁有智慧,其實是相對較近幾千年才發生的事。所以,讓機器掌握相應的動作(Movement),要比讓它獲得推理能力(Reasoning)以及內在的推理智慧難得多。不管怎麼說,這實際上就是操作(Manipulation)需要解決的核心問題。我們怎樣才能讓機器人像人類一樣去操控,去與物理世界進行互動,並且能可靠地完成這些事。
在這裡,無論是端到端的方法,還是其他方法,與之前提到的導航(Navigation)或移動(Locomotion)其實存在一些顯著的不同。為什麼這麼說呢?因為在操作任務中,通常會涉及到一些具體的物品和任務情境。比如,當你有一個機器人,它的前方往往會有一個相對固定的工作區域。無論是移動機器人,還是其他型別的機器人,通常需要先透過區域性運動等方式導航(Navigate)到指定的位置。之後,在這個固定空間裡,不論是工廠、家庭,還是其他應用場景,機器人面前的物體尺寸和任務範圍一般是相對確定的。
在這種情況下,使用端到端的方法是有一定成功機率的,因為機器人的工作範圍是有限的。在一個固定的工作區域中,不管是在工廠、家庭,還是其他場景,機器人面前的物體尺寸和任務範圍通常是相對確定的。這種環境特點使得端到端方法能夠在特定任務上表現出一定的效果。然而,這種成功依賴於對特定環境的資料訓練和驗證,確保模型在有限範圍內具備可靠性和魯棒性。
我不太容易陷入關於到底是端到端還是非端到端的爭論中。我可能更關注這個問題究竟要如何才能被解決。至於是不是端到端,我們可以想想這樣一件事,Jeff Hinton 在他 2018 年的圖靈獎演講上,說了這麼一句話。他說最開始的語音系統,如果你想用一個神經網路去替代系統中的一部分,那這個神經網路會慢慢地把其他部分侵蝕掉,然後開始在整個系統裡迴圈運轉、不斷擴張,就如同桿菌那樣,會把系統的其他部分也全都“吃”掉,最終整個系統就完全變成由神經網路主導的樣子了。
但是即便如此,我的重點在於,對於 Manipulation 而言,實際上是可以學到這樣一個策略的。端到端的優勢在於沒有中間的偏差,並且可以直接針對目標進行最佳化。而且,Manipulation 為我們提供了這樣的環境和設定來做這件事,實際上可以使所有情況都適配到。
現在我們再回到這個問題:我們為什麼要使用真實世界的資料呢?我們先拋開那些非常具體的技術問題,先來思考一些基本的問題。今天研討會的主題是如何將機器人的可靠性逼近到 99.9% 或者 100%。我們可以思考的一個問題是:機器人為什麼達不到 100% 呢?
既然達不到 100%,這就意味著我們的模型、或者其他什麼東西也好,和實際環境是存在一定差距的。只有縮小這個差距,才有可能達到 100%。那麼,在一個存在未知資訊的環境中,要如何縮小這個差距?除了和這個環境進行互動,把未知資訊獲取回來,然後以某種方式進行最佳化之外,沒有別的辦法。這是最通用、最具擴充套件性的方法。
你可以說我們能夠設計一些東西來滿足特定需求,然後構建一些模型,讓它們去適配一兩個特定的任務。就好比如今我們有這類專用模型,它就專門負責做一件事,速度特別快,而且成功率能達到 100%。
但要是有 1000 個任務、1 萬個任務等等情況的話,那不可能每個任務都按這樣的方式去做。尤其是我們現在想要的是通用型、帶機械臂的機器人去執行任務的話,雖然各個任務具體細節或許不一樣,但總體的基本邏輯都是一樣,你得先有一個初始的設想、猜測,然後再與跟環境進行互動,最終把那些缺失的部分補上。
透過某種方式來構建這樣的機制,比如說 RL,確切來講就是強化學習的定義所描述的那樣,具體如何操作,我們有很多種做法,有人說要用基於模型的強化學習(Model-based RL),有人說用無模型的強化學習(Model-free RL)。其實我可能不會特別傾向於其中某一種,它們各有各的長處。
總結一下,先說說為什麼要採用 RL。在現實世界裡,要實現高效能的操作並達到高可靠性,對於每一個環境來說,最通用、最具擴充套件性的辦法必然是強化學習。而且它並非是一種被動的資料學習,不是簡單地去收集一些離線資料就可以了。如果想要達到100%的可靠性,那就一定要與環境進行互動,而要實現與環境互動,就必須得運用強化學習,這是比較基本的邏輯。
在 Manipulation 領域選擇強化學習而非傳統控制,有著深刻的原因。今天我們討論的一個重要主題是 Manipulation 和 Locomotion 的對比,這兩者在本質上是完全不同的問題。
對於 Locomotion,主要的挑戰在於機器人本體的不確定性。這種不確定性相對有限,例如機器人可能踩到石子,或者路面出現打滑等情況。從機器人本體的角度來看,這些不確定性的影響是可以量化的。在控制領域,我們有一整套數學工具來應對這些問題,其中之一就是魯棒控制(Robust control)。魯棒控制的核心思想是對不確定性進行定量建模,進而確定最壞情況的界限(Worst-case bound)。只要實際的不確定性在這個界限範圍內,設計出的控制策略就是有效的。
然而,Manipulation 的情況則完全不同。Manipulation 的主要挑戰來自外部世界的不確定性,而不是機器人本體的不確定性。機器人本體是一個經過精心設計的確定性系統,但外部世界的複雜性是無限的(Unbounded complexity)。這些不確定性可能來自視覺、物理互動、觸覺感知等多個方面,而對這些因素進行全面、精確的建模幾乎是不可能的。儘管我們可以對其中的某些部分進行建模,取得一些成果,但始終無法完全掌控這些外部複雜性。
這正是 Manipulation 問題需要強化學習(RL)的原因所在。RL 透過與外界的互動,能夠更好地適應外部環境中的不確定性。從本質上來說,Manipulation 和 Locomotion 是兩類截然不同的問題:Locomotion 可以透過控制理論中現有的工具(如魯棒控制)較好地解決,而 Manipulation 則需要透過 RL 等資料驅動的方式,去應對外部世界的複雜性和不確定性。
4
Manipulation 路線之爭
王建明:接下來談談商用以及機器人本身落地可靠性的問題。我們可以從 Manipulation 方面開始說起。
在 Locomotion 方面,雖說有不同的方法和途徑,但大家的共識程度還是比較高。但在 Manipulation 方向上,由於操作任務的複雜度、面臨環境的複雜度以及路線選擇方面的情況都更為多樣。
目前技術路線不一,我留意到主要有幾個,首先是模仿學習加真機的路線,像以擴散策略(Diffusion policy)或者其他以 Aloha 為代表的模仿學習路線,能產生一系列比較好用的策略(Policy);其次是羅博士近期一系列工作所代表的 RL+真機的路線;第三是 RL+模擬來解決操作問題的路線;還有一條是對模擬進行最佳化,比如新增一些可微的元素進去,例如透過可微分模擬的方式來構建虛擬環境的世界模型。
石冠亞:我一直有個比較大膽的暴論,我覺得徹底解決機器人的操作問題其實和解決 AGI 沒有區別。
打個比方,就拿“開”這個動作來說,像開瓶子、開杯子、開可樂、開門,雖然都用“開”這一表述,但實際的動作完全不一樣。我覺得要是有一個策略(Policy)能解決“開啟任何東西”這個問題,那它和 AGI 就沒什麼區別了。
而且,從衡量指標來看,我個人很容易分不清到底是因為任務選得好,所以效果不錯,還是因為方法本身確實有了一些實質性的突破。
另外,我特別贊同剛才說的那幾個分類。不談利弊,我可以跟大家講講我對它們的看法。
我覺得第一類屬於“大力出奇跡”的做法。就是先收集大量的演示資料(Demonstration),然後採用行為克隆的方式。其實現在做離線強化學習的人挺少的,大家普遍都是直接進行行為克隆。剛才提到的擴散策略、ALOHA,還有近期在物理智慧層面的 Pi 0,都是遵循這一個邏輯。
第二類 Sim2Real,採用這種方式的人相對少一些,但我覺得還是挺有意思的。其中最有名的應該就是 2019 年 OpenAI 做的用 Sim2Real 方式轉魔方的專案。
第三類,有很多微調相關的做法,就是先進行預訓練,然後再做微調之類的操作。
另外第四類,你之前沒提到,我可以補充一下,就是用傳統控制來做驗證的情況其實也是存在的。不過它最大的問題就是不太能泛化。比如說,你要是設計了一個轉筆的策略(policy),可能就只能轉某一種特定的筆,要是筆的質量變為原來的2倍、長度變為原來的2倍,可能就沒辦法轉了。
第五類是基於模型的方法,感覺這類比較小眾。就是先學習一個模型,然後再去做控制。就像劍嵐說的,它的難點在於你不僅要預測狀態、幫助預測目標資料,而且做建模本身就很困難。這類工作雖然小眾,但確實存在。我知道像加州理工學院(Caltech)、麻省理工學院(MIT)有人在做,他們研究諸如粒子動力學(Particle Dynamics)之類的內容,然後基於此開展工作。
羅劍嵐:我也來談談自己的看法吧。如果我們想要實現 AGI,要對人類智慧進行逆向工程,那所需的計算能力,單是用來處理人類的各種動作行為,幾乎就是無窮無盡的。
就 Control 方法用於 Manipulation 來說,它存在不少問題。在機器人學剛開始形成一門學科、逐漸興起的時候,那時並沒有視覺相關的技術,就如同處在“盲人摸象”的狀況裡。從理論構建角度看,控制的核心是 HJB 方程,該方程要求輸入的資料起碼得是可微的,或者說要相對平滑,理想狀態下要比上一時刻更平滑才行。
然而,要是遇到高維度並且不平滑的輸入感知資料時,與之相關的那些理論基礎就會出現狀況,HJB 就會失去作用,如此一來,控制的基礎也就被動搖了。一旦出現這種情況,不管在何種場景下,控制方法基本上就沒辦法發揮作用、失效了。
而機器人操作(Manipulation)必然是涉及感知這一要素的。如果你要處理感知相關的問題,就目前來看,最好的辦法是透過學習(Learning)的方式。既然操作(Manipulation)是需要感知參與的,那麼操作就必然要藉助學習了。
不過,這並不是說控制(Control)就完全沒有作用了。就拿現在機器人應用中一個比較大的話題來說吧,比如在碼頭場景下,有體型巨大的機器人要完成搬運貨物的任務,可能是四五個機器人一起協作,把貨物從裡面取出來、然後再放上去。在這種情況下,我們應該運用運動規劃(Motion Planning)的方法。並且,我們不但要採用目前最快、最好的線上運動規劃模型,還要利用相關驗證機制,把這些運動規劃都逐一驗證一遍,確保其準確性達到100%才行。要是不這樣做的話,就很容易出現機器人之間相互碰撞,或者機器人誤傷人之類的嚴重情況。
再說回操作。我們說的是那種有機械臂的機器人,它前方有一個工作區域,區域裡有一些物體需要進行操作。看上去策略學習在這種情況下並沒有那種特別複雜、特別難處理的動力學問題,但關鍵在於,如果我們能夠解決其中哪怕僅僅 5% 或者 10% 的問題,那對於我們實現機器人走進千家萬戶的夢想來說,都會是一個很大的進步,機器人也會變得非常有用了。
第二點,來談談模擬的問題。我覺得當前存在一個比較突出的點,就是如果我們採用基於學習的操作方法,涉及到模擬與實際應用這兩方面對比的時候,會出現這樣一種情況:由於機器人目前還沒有被大規模部署,所以就沒辦法獲取到足夠多的實際資料,進而也就難以開發出更好的模型
當大家圍繞“操作”這個核心進行討論時,有人會說,操作能夠生成大量的資料。但要是採用模擬的話,其難點就在於要把模擬做得準確、完善。
我並不是模擬方面的專家,所以只能從一些比較基本的原理角度出發。這就好比,要去做模擬就相當於要去模擬整個宇宙。可要是我們有真實的資料的話,我們要做的其實就是構造一個機器人的大腦。而宇宙是包含了大腦的,建一個宇宙比建一個大腦要難得多,所以我們應該先去建大腦。
以特斯拉為例。特斯拉一開始在車輛投入使用前,可能還面臨資料不足之類的情況,可一旦它的車跑起來之後,情況就大不一樣了。我昨天還看了些相關資料,特斯拉現在一年生產出來的真實行駛資料能達到 500 億里程,這時它面臨的問題根本不是有沒有資料了,而是這些資料多得完全存不下,他們現在都沒有足夠的硬碟去儲存這些來自各個攝像頭等渠道的資料。
我們現在思考相關問題,總是想著模擬器能夠生成海量的資料,可實際上,真實世界裡像特斯拉這樣的公司產生的資料量都已經大到難以處理了,關鍵問題在於:我們要拿這些資料怎麼辦。我們應該是思考怎麼去利用好這些資料,而不是僅僅著眼於模擬器能生成多少資料。
我確實覺得模擬是非常有用的。如果今天要開一家自動駕駛公司,要是有人跟我說不打算構建模擬器,那我肯定得問問這是為什麼,因為沒有模擬器的話,軟體整合之類的工作根本沒辦法開展,整個業務流程也會難以運轉起來。模擬器對於像抓取放置(Pick and Place)這類相對簡單些的、涉及運動學(Kinematic)的操作問題還是挺有幫助的。
不過,操作(Manipulation)問題的核心在於,一方面,我們得先處理好視覺輸入;另一方面,我們還要處理非常複雜的物理相關情況,像物體之間的接觸、流體的影響以及物體的變形等等複雜因素。與其費很大力氣去構造一個像模擬整個宇宙那樣複雜又龐大的模擬,還不如利用真實的資料,用真實資料就不存在任何的 GAP,然後再去深入思考怎樣基於這些真實資料來制定出更好的策略,這就是我比較核心的一個觀點了。
石冠亞:我非常認同劍嵐的這個觀點。哪怕是人也是如此。我們平時疊衣服、疊被子,我們之所以能做到這些,絕對不是因為我們會去求解納維-斯托克斯方程。我們端起一杯水的時候,我們也不清楚這杯水具體的動力學原理。人在進行這些操作的時候,往往是憑藉著直覺來更好地利用經驗和感覺的。
說到模擬器,很多時候它其實是有點“用力過猛”了,做了過度的模擬(Overkill)。我們沒必要去模擬所有的東西,只需要模擬那種憑直覺就能把握的、關鍵的部分就可以了,這其實也和 Locomotion 相關聯。
那為什麼區域性運動在現有的框架裡是可行的呢?這是因為目前它基本上只處理到了一類模擬相關的問題,就是剛體動力學方面的問題,它其實並沒有過多涉及到像流體、顆粒材料等等更復雜的情況。
羅劍嵐:談到直覺物理學,其實在操控(Manipulation)任務中是個很有意思的話題。換個角度來看,操控通常存在於一個較低維度的流形(Manifold)中,也就是說,我們並不需要真正去解那些複雜的物理方程。例如,許多動態操作場景,比如鞭子的揮動、筋膜的運動等,實際上幾乎無法用傳統方法去求解,因為它們涉及非常複雜的偏微分方程(PDE),而這些問題本身的求解難度極高。
如果嘗試在偏微分方程的外環上進行最佳化,再在線上進行即時計算,這種方法在人類操作中顯然是不現實的。我可以肯定,人類的大腦並不是透過求解偏微分方程來完成這些任務的。相反,人類依賴的是一種直覺物理(Intuitive physics),這種能力是透過與環境的長期互動逐步形成的。比如,當你看到某個物體的位置,伸手去拿,或者在某處翻找,這些動作看似簡單,卻反映了人類對物理世界的直覺理解。
事實上,這種能力的形成遠早於現代科學的發展。幾萬年前,人類已經可以鑽木取火、拉弓射箭,而現代科學和數學體系的建立不過近 300 年的事情。當時,我們既沒有偏微分方程,也沒有用抽象的數學工具去理解世界。由此可見,人類大腦在操控和操作中一定不是透過解偏微分方程來實現的,而是透過直覺與環境互動形成了一種與物理世界高效對接的能力。
我們再來談談模仿學習和強化學習,我覺得這兩者並非是完全相互排斥的。模仿學習能夠給我們一個很好的起始點,但如果要達到 100% 的成功率,那就必須得用強化學習了,也就是要和環境進行互動,把最後的那部分效能提升上去。
而且我們從現在的相關工作中也能看到,強化學習其實原本是需要大量資料的。不過最新的成果顯示,它其實只需要和真實場景互動 1 到 2 個小時就行了,並且我相信在未來,連這 1 到 2 個小時都不需要,因為很多時候它是在弄清楚一些非常基礎的操作能力,一旦我們有了預訓練,這個時間可能會縮短到 20 分鐘。
最後我再補充一點。我們為什麼要把某個指標逼近到 99.9% 呢?
如今部署在全球的機器人大概有 500 萬臺,其中 95% 都是位置控制型的,它們就跟“瞎子”一樣,只是簡單地重複編碼好的程式。它們就是固定地從 A 點移動到 B 點再到 C 點,從1961年通用汽車發明了第一條生產線起,一直到現在,我們所做的不過是在原有基礎上進行了一些最佳化,從根本上來說,其實並沒有太大的改變。
要想真正發揮作用,成功率實際上得是百分之百才行,99% 都太低了。每一次出現故障、失敗都是有成本的。要是在生產線上,成本體現就是整個生產線得停下來,直接反映就是你的資金收益在減少,得有人去彌補這個損失成本。
有人可能會講,你說的是工業機器人需要百分百的成功率,可家庭機器人有個百分之七八十的成功率就夠了 。其實我也思考過這個問題,我可以舉個很形象的例子。就在昨天,我去伯克利的體育館打球,那兒有個自動售賣機器人賣水,用的時候就是把信用卡貼上去,它就會把水拿出來遞給你。我過去這一個月裡經常去那兒,可昨天我把卡貼上去後,水本應該從出口出來的,結果卻掉下去了,而且我還沒辦法把水取出來,這就產生了成本,明碼標價就是那瓶水的價格,2.75 美元。所以說,這不是沒成本,任何情況都是有成本的。
大家再想象一下,要是星巴克的機器人每 5 個小時就把咖啡灑地上一次,又或者家裡的機器人每週都把廚房的杯子、盤子之類的東西往地上摔一次,這些都是損失,畢竟這都是在和物理世界做互動。我倒不是說我們就別去做家用機器人了、只搞工業機器人。我覺得當下是處於一個比較關鍵的階段,在急切需要半約束、受約束的環境裡,這樣的環境能讓我們去研發解決方案,探索新的科學成果。等我們把相關問題弄明白了,或許就能把成果拓展到家用機器人等領域了。而且家用機器人還涉及資料收集以及隱私方面的問題,畢竟誰也不想家裡的機器人在自己睡覺或者做別的事情的時候盯著自己,或是把資料傳回去用於訓練。
所以我覺得,我們現在所處的這個階段真的是首次開始系統、全面地去思考一種比較通用的解決方案,未來咱們不用太擔心資料方面的問題,資料會像飛輪轉起來一樣不斷積累、運轉起來。那一旦到了那個階段,我們該怎麼去思考這 99.9% 成功率的問題呢?那肯定得是強化學習和模仿學習相結合才行,這兩者並不是完全相互排斥的關係,關鍵是一定要和環境進行互動,它是動態變化的,而不是靜態的。
5
機器人可靠性難以衡量
王建明:好的,謝謝羅博士。盧老師,您一直研究強化學習,對於人形機器人的 RL,還有您剛才提及的引入物理互動和視覺互動的內容,您可以詳細講講這套方法嗎?或者您認為強化學習對人形機器人控制的可靠性方面,未來會以怎樣的速度迭代?
盧宗青:我先聊聊剛才提到的 Manipulation 方面的事。今年我們在操控方面做了不少工作,先是在模擬器裡用強化學習進行訓練。我發現只要把問題定義清晰了,強化學習是比較容易解決問題的,當然這裡指的是給手部新增觸覺資訊的情況。
不過在模擬器裡訓練出的強化學習策略,解決不了實際問題。因為我們發現訓練完後,模擬器裡大多是基於點雲的,但是很難泛化。真機採集的點雲和模擬器裡看到的點雲完全不一樣,所以在我看來,Sim2Real 的 gap 比較難解決。
但是這項工作有個啟示,給我們傳遞了一個比較重要的資訊:機器人要是具備觸覺資訊,完成 Manipulation 任務就會更容易些。我覺得這也是個比較直觀的見解,畢竟盲人也能完成各種各樣的操控任務。
不過我認為,對於 Manipulation 來說,就像剛才冠亞講的,這本身就是個大難題。其實對於某個特定的問題,不管是模擬器、Sim2Real,還是真機+RL,都能比較好地解決這個特定問題。最關鍵的是泛化問題,就是我要怎麼得到一個策略,讓它可以完成各種各樣的操控任務呢?在我看來,這是非常難的。而且對於這個問題,目前來看,很難有資料來驅動這樣一個模型的學習,這是比較關鍵的點。
所以對於你剛才問到的人形機器人相關內容,人形機器人有兩條胳膊、兩隻手,我們解決相關問題採取兩步走的方式,因為目前我們沒有從機器人端採集下來的資料,或者說資料量沒那麼多。我們前期會利用人的資料去生成人的姿態,輸入是視覺資訊,輸出就是姿態。我們把這一步稱作“預訓練”,也就是用網際網路上大量但質量不算高的資料去訓練模型,使其輸出手部的姿態。然後再依據一些真機的資料,比如遙操採集的資料,去做後訓練(Post training),以此來實現泛化性。
我覺得這是在剛才提到的四條技術路線之外,另外一條可行且值得嘗試的技術路線。這條路線主要聚焦在泛化性上,而不只是著眼於如何完成某個 Manipulation 任務的思路。
王建明:您如何看待人形機器人達到 99% 以上可靠性這一問題?還有,它未來的發展路徑和週期是怎樣的?
盧宗青:我個人覺得,要是依靠模仿學習、強化學習這些方法,人形機器人不太可能達到 99% 以上的可靠性。就好比人去抓東西,可能抓一萬次也會有一次失誤。畢竟它不像工業機器人處於固定場景中,我希望看到的具身 AI 的應用,肯定是在開放場景裡的應用。就像劍嵐剛才說的,不同場景下的產品有不一樣的需求,在有些情況下,可能百分之七八十的成功率就夠了。
另外,對於我們這套技術方案而言,RL 主要是為了執行上層模組給出的指令,不管是姿態(Pose)也好,普通指令也好,本質上是用於控制電機之類的控制量。所以在我看來,它的完成度並非特別關鍵,反而更上層的高層次策略或者像姿態生成模型這類做法,怎樣達到較高可靠性才更重要。
下層的 RL 策略,即便去訓練,也就是那樣一個結果,在最佳情況下,能找到一個最優策略(Optimal policy),可它的上限是由給定的問題本身決定的。至於怎麼去給出這個問題,可能是我們需要進一步思考的地方。
王建明:關於可靠性,也想聽聽朱老師的想法。您如何看待目前四足機器人的可靠性?在為客戶部署機器人時,傳統控制和強化學習哪個用得多?您之前也提到人形機器人 10 年前走出實驗室很難,我們現在期望人形機器人能穩定完成一些任務。
朱秋國:關於可靠性這個問題,從學術界角度看,很難將一種方法在實驗中的可靠性(比如達到 99% 或者 90%)直接套用到產業產品中。我想其他老師也會認同這一點,因為實驗資料和實際應用中的可靠性不太一樣。
就產品可靠性而言,我認為可以分為幾個階段,其中包括我們內部也在討論的機器人本身硬體的可靠性問題,我們經常會提到一個“無故障執行時間”的概念。
“無故障執行時間”是評判機器人是否穩定可靠的關鍵指標。比如在電力巡檢場景中,客戶要求機器人在三個月內不能出一次問題。
那如何評判機器人的穩定可靠性呢?正如幾位老師所講,主要涉及幾個方面。一是硬體本身的問題,對於機器人而言,連線的部件、關節越多越複雜,出問題的機率就越大。所以要讓複雜的人形或四足機器狗在行業應用中長久保持穩定,就得提高硬體本身的可靠性。而在提高可靠性方面,首要解決的就是系統本身的可靠性問題,像機械結構、電控系統以及底層軟體系統能否長期穩定可靠,這是個很大的挑戰。
到了第二步,我們會更關注軟體演算法層面的問題,比如基於傳統方法和基於模型的方法。從理論上講,只要程式碼沒寫錯,基本不會出什麼問題。但要是結合其他演算法,比如在機器人完成自主導航時,要讓它實現精準定位,情況就不一樣了。
這裡面就存在挑戰,因為演算法本身還要解決環境動態變化,像隨季節改變等環境變化時的適應性問題。所以,第二步可能要著重解決軟體演算法層面對於可靠性的評估問題。由此可見,產業界做可靠性和之前講的情況不太一樣,這是我們目前遇到的主要問題。
另外,關於四足機器人用 RL 還是 Control 的問題,目前更多還是用 Control 方法來進行實際執行操作。不過,現在我們已經開始逐漸嘗試,尤其是面對 Locomotion 能力提升的情況,我們在想辦法把 RL 方法結合進來,不管是傳統的 SLAM 方法,還是新型的 Position+Navigation 這類方法,都在做相應部署。到今年年底,我們會試著在相對固定的環境中,採用 RL 方法去適應不同地形等應用場景。
但我們面臨的一個關鍵挑戰是,在這種場景下,如果機器人出現翻倒或其他問題,那要如何確保機器人不去破壞原場景,不碰壞周邊的瓶瓶罐罐?我們考慮或許得引入 RL 或者一些規則進去,這樣當機器人出現上述狀況時,就能保證它不會產生額外風險,進而確保機器人在場景應用中的安全性。
從應用角度看,四足機器人發展到現在已經沒什麼本質問題了。就運動能力而言,雖說有時會展示一些極限運動能力,像從幾米高的地方跳下來還能保持穩定,但從應用層面來講,其實並不需要這麼酷炫的動作。所以在我看來,當下四足機器人的 Locomotion 能力,已經可以滿足很多場景下的運動需求了,這方面是沒問題的。
剛才盧老師說得很對,人形機器人的關節複雜度更高,四足機器人就 12 個關節,人形機器人卻有幾十個關節。在應用過程中,如何保證其本身的穩定性是個很大的挑戰。所以人形機器人確實還需要更長時間去發展。我跟很多人聊這個問題時,大家常常迫切希望看到人形機器人能在現實生活中應用起來,但我覺得這得循序漸進,得先看人形機器人適合在哪些場景中應用。
比如現在把人形機器人提供給高校老師當作課題科研平臺,這是沒問題的。讓它站在咖啡機前給大家倒杯咖啡,或許也還行。但要是讓它走進家庭、走向工業真正投入應用,我覺得還有很長的路要走,這會是個不斷持續迭代的過程。不管是硬體層面,還是剛才提到的演算法層面,特別是 Manipulation 層面,都得用更長遠的眼光去看待人形機器人的應用問題。
王建明:好的,謝謝朱老師。石老師如何看待當下人形機器人在控制方面迭代的速度呢?我看你們有不少相關工作是關於 H2O、OmniH2O 方面,透過這些工作如何看待目前四足和人形機器人控制的可靠性問題?
石冠亞:我們做 Humanoid sim2real 相關工作大概有一年半了,MPC、RL 方面的工作也都做了,所以對人形機器人的可靠性挺有感觸的。
我很認同朱老師剛才的觀點,尤其是他對於當下哪些任務能實現、哪些任務可能還得等很多年的判斷。我再補充幾點:第一,Safe 和 RL 一樣,是個很寬泛的概念,不能一概而論,Safe 有多個維度。最底層的是硬體的可靠性、穩定性,這非常重要。比如 Chris Atkeson 教授,他是電影《超能陸戰隊》裡大白機器人原型的創作者,他認為除非做成大白那種機器人,否則 Safe 是不可能實現的,意思就是要實現安全,得讓硬體本身就安全,無論怎麼折騰都不會傷人,這和演算法沒關係,更多是結構、設計上怎麼做到柔順性(Compliance)之類的。
第二,很多人也在討論,Safe 本身是一方面,另一方面是 Recover,也就是兜底。我覺得現在對很多機器人來說,Recover 可能比 Safe 本身還難。像波士頓動力與現代的合作、Agility Robotics 的產品 Digit 與亞馬遜倉儲的合作,還有 Figure 與寶馬的合作,我覺得對它們而言,機器人摔倒這事的影響,遠不如摔倒後爬不起來的影響大,它們目前的痛點就在沒有兜底,機器人摔倒後不容易爬起來。而四足機器人現在有相對成熟的方案,本身就很穩定,即便有點趔趄甚至摔倒了,也能很快爬起來,人形機器人之前在兜底這塊就比較困難,這都是不同維度的情況。
另外,談 Safe 就跟談毒性不能拋開劑量一樣,拋開泛化性、成本談 Safe 也不合理,到底要達到百分之多少的安全程度呢?一方面得看任務是不是對安全性要求極高,比如 Space X 火箭回收的安全要求肯定和其他機器人不一樣。另一方面,泛化性也很重要,我很認同朱老師的判斷,像一些簡單任務,不需要很強的泛化性,比如在戶外走走,只做 Locomotion,或者重複性任務,比如不停地給客人端咖啡,以現在的技術是比較有望打造出可靠系統的。
中間那層我稱之為面向企業(ToB)應用,區別於面向消費者(ToC),機器人在企業應用中,像在工廠造車之類的場景,需要一定的泛化性,但又不需要特別強的泛化性。比如寶馬與 Figure 合作中,機器人只需不斷安裝電池,安裝電池雖有五個步驟,可能存在一些不確定性,但這些不確定性是可以控制住的。然後車型是有限的,比如裝寶馬的七八個車型,我覺得在短期未來,從安全性角度這是可以去追求的方向。
但要是問什麼時候能把人形機器人放進千家萬戶,讓它完成各種不同任務,像掃地、看孩子、做飯,還要求達到 99.999% 的安全程度,我覺得目前技術還達不到,我們還有兩三個問題沒解決,哪怕是人可能也較難做到這點。
要是問我期望的技術路線,我不太相信 One Shot Safe,就是部署了就百分百安全。我覺得在現實世界中得有糾錯機制,剛部署時可能還是會出些問題,這裡我指的是在開放環境裡機器人怎麼實現安全,目前我們還沒找到解決方案。我暢想的解決方案是,一開始可能會有不安全的時候,或許可以加入人工干預環節(Human in the loop),比如讓人幫忙做些標註等,然後它能漸近性地(asymptolical)越來越好,我覺得漸近性安全(Smtonically safe)是目前我們能期望的最好狀態了。
最後,Safe 還有另外一層含義,很多做安全性研究的人,是有比較特定的、可以驗證的,類似建立規則那樣的安全概念,這種 Safe 我們現在是有工具去實現的,比如規定機器人不能撞到物體,這種情況下,像可達性(reachiability)等很多控制理論的工具就能拿來用了。
關於人形機器人的 Safe 問題,很多時候沒辦法給出一個明確的 Safe 定義。比如我們之前聊的很多 Manipulation 的例子,像開門,什麼叫不安全的開門呢?可以列出一萬種不同的故障情況,所以我覺得這很難定義。
總結來說,首先硬體的安全很重要;其次,兜底恢復能力(Feel safe)很重要,有時候在很多場景裡它比安全本身還關鍵;第三,談安全一定要結合場景對泛化性的需求程度。最後,我們課題組做的很多工作,包括很多控制器(Controller)相關工作,其實是針對比較特定的、可驗證的、像建立規則裡涉及的機器人碰撞這類安全問題,而很多操控方面的安全是沒辦法這麼去定義的。
6
Make RL Great Again
王建明:對於剛才探討的那些話題,各位老師看看還有沒有要補充的呢?
石冠亞:我能不能問其他老師幾個問題?機會難得。其實我有個思索已久的問題,我感覺現在 RL 演算法本身的更新近乎停滯了。我想討論一下 RL 演算法本身還有沒有創新空間?我一直覺得這些 RL 演算法並不是專門為機器人設計的,它們太通用了。為什麼 PPO 既可以用於語言模型的人類反饋強化學習(RHF),又能用於機器人學習呢?這本身不就有點奇怪嗎?包括對於學生而言,我們還要不要去做一些強化學習演算法的基礎研究,去找到一種特別適合機器人領域的 RL 演算法呢?
盧宗青:我先來回答一下。就像冠亞剛才說的,目前在 RL 演算法層面的研究確實不多,從 PPO 到 SAC 之後,沒有特別大的進展。在我看來,RL 本質上是一個 MDP,我們思考的是用什麼方法來解決這個數學問題,所以它本身就是比較通用的的數學方法表述(Math method formulation)。
從數學角度講,它是在實踐中比較好的解決演算法。比如 PPO 在實踐中就是比較好的方法,實際上它是策略梯度(Policy grading)加上價值函式(Radio function)這樣一種演員 – 評論家(Atercritic)框架。
對於機器人來說,能不能設計出一個好的強化學習方法呢?我覺得可以從機器人學習的特性角度出發來進行設計。我個人認為是可行的。因為機器人的一些約束條件(Constrain)和我們通常研究演算法、做實驗時的約束條件是不同的。如果把這些約束條件考慮到演算法設計中,肯定會產生一些差異。就像劍嵐做的 Real world 的強化學習,和已有的方法肯定不一樣,它結合了離線(Offline)和線上(Online)的方法來做機器人學習。
總的來說,從強化學習演算法角度,要得到一個特別好的通用演算法是比較難的。但對於機器人學習而言,我們能否更好地定製一個針對機器人學習的強化學習演算法,我覺得還有很多可以探索的空間。
羅劍嵐:我談談自己的理解。2017、2018 年的時候我就覺得別去搞 MuJoCo,因為沒有解決實際問題。我們當時的問題就是為什麼在 PPO 和 SAC 之後,沒有新的演算法出來?或許得看看 PPO 和 SAC 是怎麼被髮明出來的。當時它們是為了解決一些根本性問題,像在 MuJoCo 裡小人跑不起來、Humanoid 站不起來這類問題,等這些問題解決了,MuJoCo 基準測試(Benchmark)被攻克了,自然就沒新演算法出現了。
所以我更多地在想,要是再有進展,一定要從根本上想清楚我們要解決的核心問題是什麼。要是真有下一輪強化學習基準測試的突破、面臨重大挑戰時,得先想好要解決什麼樣的大問題,別重蹈覆轍。
具體到這個問題上,RL的下一個前沿方向在哪?分開來講,對於 Locomotion 和 Manipulation,我覺得朱老師總結得很好,Locomotion 應該用 Control,Control 肯定是個解決方案。原因很簡單,不管是 Locomotion 還是別的情況,都是有模型的,沒模型機器人根本造不出來,既然有模型,那就得用 Model-based control,而且確切知道模型是什麼後,要思考如何與 RL 較好地結合起來。具體來說,得考慮一些特定指標(Specific metrics),要是有模擬器,可能就不太需要考慮樣本效率了,英偉達想賣顯示卡,估計也不會太考慮這個。
那比如要考慮效能(Performance)、安全性(Safety)等方面,思考它們怎樣更好地有機結合,我覺得這是個挺有意思的待解決問題。據我所知,現在就算是像 PPO 裡“Teacher Student”模式,Sim2Real GAP 還是存在。要是真用控制的話,在處理物理模擬、進行下一步模擬事件等涉及樣本物理、控制移動、物理移動等情況時,怎麼用好這套機制來做自己想做的事 ?
Manipulation 和 Locomotion 相比,現在零次學習(Zero)的訓練時間要一到兩個小時,我覺得還能進一步縮短。要是想縮短的話,就得思考怎麼構建一些基於視覺的通用能力,這可能就得回頭想想怎麼構建資料集、怎麼構建任務以及怎麼運用強化學習了。
再往遠一點說,可能五年後會有 100 萬臺機器人部署在現實世界,不斷傳回大量資料,而那些資料都是異構的、隱藏的、廣泛的,那我們該怎麼做預訓練呢?因為強化學習的預訓練和行為克隆的預訓練不一樣,這也是為什麼 BC+RL 看起來沒太大區別,它們的訓練目標不一樣,一個是最大化資料集的對數似然(Maximize dataset log likeable),另一個是最大化價值函式(Maximize value function),所以實際上是超越資料集去發現新東西。
我們要怎麼進行預訓練呢?能不能模擬物理情況,利用 Meta 幫忙驗證演算法基準(Benchmark),搞出更具擴充套件性(scalable)的強化學習呢?在存在大量異構資料的這種情況下,要如何進行預訓練(Pre training),並且實現快速應用(fast application)呢?我說的可是在真正大規模(massive scale)的情形下,這或許會是一個比較關鍵的重點所在。
我覺得在我個人未來五年的研究計劃裡肯定得有這一項內容。但為了做這件事,不可能說在開源演算法開發的時候,真的把每個演算法都放到 1 萬臺機器人上去測試,那樣成本太高,對實際情況也會造成不小的影響。
總結一下,為什麼 PPO、SAC 之後沒什麼新演算法出現,就是因為它們把當時要解決的問題處理得很好了,我們現在需要新問題。我確實覺得,強化學習原則上提供了一種演算法框架,如果它從根本上來說沒問題、是合理可靠的,那不能因為現在有一些困難、存在侷限性,就徹底放棄它,我們應該讓它逐步變得更好,這樣才能朝著更高更好的目標邁進。因為它不光是告訴你怎麼複製、怎麼預測、怎麼從資料裡找特徵,要是想達到很高的最佳化程度,比如 99.99%、100%,光有資料不行,還得有最佳化,這是很關鍵的,所以未來的解決方案裡肯定得有最佳化這一環節。 
雷峰網成立了機器人讀者群,希望進群的讀者請新增編輯微信 aitechreview、並備註姓名-單位-職位。
更多內容,點選下方關注:

未經「AI科技評論」授權,嚴禁以任何方式在網頁、論壇、社群進行轉載!
公眾號轉載請先在「AI科技評論」後臺留言取得授權,轉載時需標註來源並插入本公眾號名片。


相關文章