0
本文作者: 吳華秀 | 2024-12-12 15:05 |
穩(wěn)定性是制約人形機器人落地的重要因素之一,如何利用強化學習(RL)與基于模型的控制(MBC)來進一步提高機器人的穩(wěn)定性,已成當下業(yè)界的重要研究方向。
2024 年 12 月 8 日,雷峰網、AI 科技評論 GAIR Live 品牌聯合石麻筆記一起舉辦了一場主題為“RL+Control:將機器人可靠性逼近99.9x%”的線上圓桌沙龍。
圓桌主持人為石麻筆記主理人、英諾天使投資人王建明,并邀請了浙江大學副教授與云深處創(chuàng)始人朱秋國、北京大學長聘副教授盧宗青、卡內基梅隆大學(CMU)石冠亞與加州大學伯克利分校博士后羅劍嵐一起進行了一場深度的討論。
會上,四位嘉賓圍繞 RL、Control 和機器人可靠性之間的關系分別提出了自己的獨到見解,其中:
石冠亞認為,可靠性包含多個維度:底層硬件的穩(wěn)定性、兜底恢復(Recover)能力,而且可靠性不能一概而論,需要結合場景對泛化性的需求程度。當下,將強化學習與控制相結合,例如把控制的安全性融入強化學習中,或者借助控制良好的結構使強化學習變得更具穩(wěn)健性,是提高機器人穩(wěn)定性的可行路徑。
朱秋國則表示,學界的可靠性和產業(yè)界的可靠性并不完全相同,很難將一種方法在實驗中的可靠性(比如達到99%或者90%)直接套用到產業(yè)產品中。機器人作為產品形式出現,必然要解決硬件和軟件融合之后的可靠性。他認為,RL 在控制領域里有點類似鎮(zhèn)定器,在與環(huán)境交互接觸的過程中,依靠強化學習的模型,能夠確保機器人穩(wěn)定可靠。但這并不意味著基于模型的方法就失效了,模型預測控制(MPC)與強化學習相結合也是當前的另一種趨勢。
羅劍嵐指出,機器人要想真正發(fā)揮作用,成功率實際上要達到 100%,因為每一次出現故障、失敗都有成本,會直接導致收益減少。要達到這個目的(100%),需要將強化學習和模仿學習結合起來,并與環(huán)境進行交互,在動態(tài)的過程中去實現可靠性。
盧宗青認為,在現實世界里,要實現高性能的操作并達到高可靠性(100%),一定要與環(huán)境進行交互,而要實現與環(huán)境交互,就必須得運用強化學習(RL);而依靠模仿學習、強化學習這些控制方法,人形機器人不太可能達到99%以上的可靠性。從場景需求出發(fā),許多任務并不需要100%的成功率,而是滿足設定的目標值即可。
除此之外,四位嘉賓圍繞機器人的移動(Locomotion)、操作(Manipulation)以及未來 RL 的創(chuàng)新方向等話題展開了精彩分享。以下 AI 科技評論進行了不改原意的整理:
王建明:先請嘉賓們做一個自我介紹,從羅博士開始吧。
羅劍嵐:大家好,我是羅劍嵐。我目前在伯克利人工智能研究實驗室(BAIR)擔任博士后研究員。我曾在伯克利獲得博士學位,并在谷歌工作了兩三年,后來又回到伯克利。自 2015、2016 年起,我開始涉足機器人學習領域,當時這一領域還未被稱為“具身智能”,我的研究重點集中在機器人操作技術。
石冠亞:大家好,我是 2023 年入職 CMU 機器人研究所的助理教授,資歷尚淺。我的博士畢業(yè)于加州理工學院控制系,該系云集了 Richard M. Murray、John Doyle 等控制領域的大佬。我從 2017 年開始研究 Control+Learning,當時很多控制領域的人都在考慮加入 Learning 元素,到目前為止我在 RL+Control 這個方向的研究已有七八年了。
博士畢業(yè)后,我在華盛頓大學做博士后,師從 Byron Boots,開展了大量機器人學習方面的工作。讀博士之前,我在清華念本科。我對今天的主題極為感興趣,我思考這個問題差不多有十年了,從本科時就開始琢磨,所以特別高興能和大家探討,可能等會我會有很多暴論(笑)。
盧宗青:大家好。我來自北大計算機學院,主要做強化學習算法研究。我 2017 年回國后便一直鉆研強化學習算法。近期也涉足機器人相關工作,并且在跟進大模型研究,重點關注視覺標記化(Vision Tokenizer)以及交互學習的相關內容。
朱秋國:大家好,我是浙江大學控制學院副教授兼云深處科技創(chuàng)始人。我一直專注于人形機器人與四足機器人研究。早期運用傳統控制理論方法,2019 年起便與國外學者合作開展 RL 相關研究, 主要帶領課題組研究生開展這方面的研究工作。
王建明:感謝老師們的自我介紹。今天的討論主題是“RL + Control”。作為熱身,咱們先簡單聊聊。很多人覺得 AI 和機器人結合是當下最大的機遇和浪潮,各位老師在浪潮來臨前的十年甚至更久就在這個領域深耕了。能不能講講當初為什么選這個方向?現在風口來了,又有什么感受?
石冠亞:我覺得機器人和其他領域有個很大的不同之處,就是它屬于系統性工程,由很多模塊組成,像大腦、小腦、肌肉這些。大腦對應的是一些高層次算法,小腦則是全身控制算法,還包括硬件等方面。
以前我跟著導師讀博時,有位叫 Joel W. Burdick 的老師,他在機器人領域造詣很深,可能都做了50年了。他常跟我說他的機器人波浪(Wave)理論,意思是每次機器人領域成為風口時,就會有很多浪潮往前推進,雖說沒辦法達到通用人工智能(AGI)的程度,但總會留下些成果,而這些成果對機器人領域來說是很大的貢獻,等到下一波浪潮來臨時,又會基于之前留下的成果再掀起新的浪潮。我對這個觀點挺認同的。
回到王老師提的問題,我為什么喜歡機器人、為什么做機器人做了這么多年。我覺得機器人就是個載體,你想做的任何研究都可以通過它來開展。舉個例子,要是你想挑戰(zhàn)極限,去做個跑步機器人,那完全沒問題,又或者你從材料科學角度去組裝一個機器人也行,還可以專注做算法??傊?,我認為它是個很棒的平臺,能讓我們去做很多想做的研究。
有沒有和別人意見相左、堅持不下去的時候?對我而言,最大的不同可能就是我一直不太相信端到端學習算法能直接在real world里work,或許這與當下很多人的觀念不太一樣,但我覺得它并非非主流觀點。很多人都覺得我們這個領域最大的爭議是:“是不是 Data is all you need?”實際上,去年針對這一話題有過一場討論,會后現場投票的結果是 50:50,所以我也不能說這是個非主流觀點。
我其實一直挺堅持我們要在 real world 里做一些學習(Learning),并且要有一些真實的數據、一些結構(Structure)。我覺得這算不上冷門觀點,但它確實是我的一個看法。
王建明:朱老師您也一直在這一領域里耕耘了至少 15 年,從最開始的雙足人形機器人,到后面的四足機器人,您可以分享下這一路以來的感受嗎?
朱秋國:我長期從事人形機器人相關研究工作,四足機器人是跟人形機器人并行的一個方向。因為早在最開始的時候,我們還和清華一起參加了 ROBOCUP 人形機器人比賽,當時就有一個預言,說到 2050 年時,要組建一支人形機器人隊伍,最終能夠打敗人類足球隊??梢韵胂笠幌?,這中間的時間跨度非常大。
對于我們從事控制領域工作的人來說,人形機器人本身就是一個很棒的研究平臺。機器人缺乏穩(wěn)定性,如何控制它們是一個挑戰(zhàn),沒有現成的理論或穩(wěn)定性標準。我們的目標是讓機器人走出實驗室,適應真實世界的復雜環(huán)境,然后考慮如何實現實際應用。
對我個人而言,首先要熱愛機器人,其次,在實現最終應用的過程中,需要經歷不同階段,包括理論的升級和機器人性能的提升。2010 年之前,我們實驗室導師就提出要求,能不能讓機器人走到室外,比如到實驗室外的坡上、操場上走走。現在看來輕而易舉的事,在那時卻難如登天。光是邁出這一步,我發(fā)現都花了近十年時間。所以機器人本身就是個需要長期堅持的賽道或方向,要么放棄,要么長期堅守。
羅劍嵐:實際上,我最初在伯克利從事控制領域的研究時,開始接觸機器人學(Robotics)。當時我參與的第一個項目是操作(Manipulation)任務。在傳統的控制方法中,需要采用分離原理(Separation principle),也就是將狀態(tài)估計(State estimation)和控制(Control)分開。然而,很多操作問題中,狀態(tài)估計并不是容易實現的。正因如此,這種控制方法在一些復雜場景下遇到了很大的挑戰(zhàn)。
后來,我看到了伯克利在2015年發(fā)表的端到端(End-to-end)方法相關論文《Guide Policy Search》。這篇文章讓我眼前一亮,因為它跳脫了傳統分離控制的框架,為操作任務提供了一種全新的思路。通過端到端的學習方法,直接從感知到控制進行優(yōu)化,繞過了對狀態(tài)精確估計的依賴。
盡管操作任務至今仍然是一個巨大的挑戰(zhàn),很多問題還沒有被完全解決,但端到端的學習方法以其廣泛的適用性和潛力,正在成為解決實際操作問題的重要方向。
盧宗青:我先講講我的歷程。我和其他三位老師不太一樣的地方在于,我本身是做強化學習算法的,所以此前大部分工作都停留在做強化學習實驗上,主要涉及兩塊,一個是 MuJoCo(通用物理引擎),另一個是游戲。實際上,我們之前主要聚焦在游戲這方面。
不過在大模型出現后,我們做了很多嘗試,就是把強化學習和大模型結合起來開展工作。去年也做了諸多嘗試,包括通用計算機的控制等一系列工作。我們期望能打造出一個通用智能體(Agent),讓它能夠控制并完成電腦上各種各樣的任務,但是后來發(fā)現,尤其是在大模型方面,目前還很難做到這一點。
所以,我覺得即便有了大模型,它也需要與真實環(huán)境進行交互,基于這樣獲取到的數據去更好地學習。我跟劍嵐剛才表達的意思相近,就是確實需要與物理環(huán)境交互,基于與物理環(huán)境交互得來的數據去學習,或許才能催生更具通用性的智能。
而說到與物理世界交互的載體,自然就是機器人了。因此,從今年開始,我們會把更多精力放在機器人方面,涵蓋 Locomotion、Manipulation,以及思考在真實數據的基礎上如何更好地學習大模型,特別是針對視覺這塊,畢竟就目前的大模型而言,其對視覺的理解還比較薄弱。所以,怎樣通過視覺也好,觸覺也好,去更好地理解物理世界,是我們當下所關注的重點。
王建明:接下來探討一些更具體的問題,咱們先聊聊 RL 和 Control 在機器人移動能力(Locomotion)上的情況。
當 RL 和 Control 應用于 Locomotion 這一領域,其實很多時候二者是分開工作的。比如,有些老師一開始是運用基于模型的控制(MBC)方法來處理 Locomotion。而現在,很多強化學習的應用是先在仿真環(huán)境里進行,然后再通過 Sim2Real 的思路去解決機器人移動的相關問題。
石老師,我前段時間看了您在 YouTube 上的一個視頻,是介紹 RL 和 Control 相結合的內容,像在四足機器人、人形機器人等方面都能結合。您還提到了 Leaning dynamics from real world 等概念,您可以系統地講講過去十年您是怎么把 RL 和 Control 結合起來的嗎?
石冠亞:這個問題有些大,我先從一個小角度來切入吧。首先表明我的第一個觀點,算是個“暴論”吧。我覺得 RL 以及 Control 本身都算不上是一種方法,而應該是一個問題。
我覺得強化學習的定義就是有一個馬爾可夫決策過程(MDP),包含獎勵(Reward)和系統動態(tài)特性(Dynamics),目標是優(yōu)化獎勵,找到策略用于控制,這和 Control 本質上是一回事。其定義就是面對動態(tài)系統去設計策略以滿足一些限制,不能因為 Richard Belle man 提出“S、A、R、S” 這套表述就說它們不同。
因為它們本質是問題,所以有很多算法,像 RL 就很豐富多樣。比如 Sim2Real RL 就是很具體的方法,我可以在像MuJoCo、SR 游戲這類做 Locomotion 的主流仿真器里,用近端策略優(yōu)化算法(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)環(huán)境里,運用近端策略優(yōu)化算法(PPO)或者其他類似的算法去訓練出一個策略,之后再把這個策略部署到現實世界當中去。
我的第二個“暴論”就是,我認為 Sim2Real RL 是一種基于模型的方法。你想想它的操作流程就能明白,首先得有一個你比較信賴的模型,比如仿真器(Simulator),然后在這個仿真器里訓練出一個策略(Policy),之后再把這個策略部署到現實(Real world)當中。
不過我覺得它和 MBC 在兩個維度上是不一樣的,那它的優(yōu)勢在哪?在我看來,Sim2Real RL 最大的優(yōu)勢,在于其離線計算能力近乎無窮。也就是說,它可以離線從成百上千乃至上萬條軌跡(Trajectory)當中去學習策略,有充足的時間去進行優(yōu)化,從而找到合適的策略。 像 MPC 這類大多數基于模型的控制方法,其實它們所有的算力運用都是在線上的。就是說,我得在線去確定機器人下一步往哪兒走,它并沒有離線的算力。
所以我覺得這就是 Sim2Real RL 和 MBC 在算力運用方面第一個主要的不同點,也就是算力到底是用在離線階段(Offline)還是在線階段(Online)。“離線”的定義,就是在機器人開始運行之前進行相關運算;而“在線”就是機器人一邊運行,一邊去計算相應的內容。
然后第二個我覺得 Sim2Real RL 相對 MBC 最大的優(yōu)勢在于,它在一定程度上繞開了狀態(tài)估計(State estimation)的問題。在傳統的控制里,我們一般遵循分離原則(Separate principle),比如說要用模型預測控制(MPC)去控制一個人形機器人,在這之前,大概率得先搞一個狀態(tài)估計器(State estimator),去估計機器人自身的速度、角速度等物理量。
從某種程度上,在傳統控制里,狀態(tài)估計(Estimation)其實和 Control 一樣,都是要面對的問題。說到底,你得清楚機器人所處的狀態(tài)、得知道機器人此時此刻在什么位置。我覺得在現實世界里,狀態(tài)估計(Estimation)其實和控制一樣,都是要面對的問題,說到底就是得知道機器人的狀態(tài),清楚它此刻所在位置。而強化學習(RL)在一定程度上能繞開這個問題,因為它可以同時學習策略(Policy)和狀態(tài)估計器(State estimator)。
拿目前在 Locomotion 方面最成功、最流行的邏輯來說,師生網絡學習(Teacher Student Learning)。自 2020 年 Science Robotics 發(fā)布論文“Learning quadrupedal locomotion over challenging terrain(在具有挑戰(zhàn)性的地形上學習四足移動)”之后,大概有幾千篇文章都遵循這個邏輯,一直到現在,差不多5年時間把師生網絡學習推到了頂峰。
師生網絡學習是什么意思?就是先在仿真環(huán)境(Simulator)里訓練出一個所謂的“教師策略(Teacher Policy)”,這個“教師策略”知曉一切,比如它知道仿真器里的所有信息,像地面的各種情況、機器人的速度等等,這些我們稱之為特權狀態(tài)(Privilege state)。 然后,這個“教師策略”(Policy)是沒辦法直接部署到真機上的,因為在現實中,你沒辦法知曉地面情況,也不清楚機器人的絕對速度等信息。不過在 RL 里,利用這個“教師策略”后,可以將它提煉到一個叫“學生策略”(Student policy)的東西里,這個“學生策略”的輸入是你所能觀測到信息的歷史記錄,也就是“過去 n 步”的相關情況。目前這套方法已經很成熟了。
我覺得,就是因為有這種師生學習框架,所以繞開了狀態(tài)估計(State estimation)這個問題。相當于在實際應用中,你不需要獲取真實的狀態(tài),可以直接利用感知信息的歷史記錄就可以進行控制操作了。 我覺得這兩點就是強化學習(RL)最大的優(yōu)勢。
而對于 Control,我認為它也有兩大優(yōu)勢。第一點是跟 RL 剛好完全相反。首先,Control 具備在線計算能力。Sim2Real RL 存在的問題是,你在仿真環(huán)境里訓練出一個策略后,一旦應用到線上,這個策略就固定住了。哪怕這個策略效果很差、很不理想,你也沒辦法去實時調整它,除非你再去做真實世界的 RL,而且基本上都會受到 Sim2Real GAP 的影響。如果仿真器質量很差的話,那產生的誤差就會很大。但 Control 有個很重要的思路,就是可以進行類似 MPC 那樣的操作,能夠一邊讓機器人運行,一邊進行相應的計算。
Control 的第二個的優(yōu)勢就是它具備很多很不錯的結構?,F在大部分流行的 RL 算法,其實就是近端策略優(yōu)化算法(PPO),大家都用它,因為它是同策略(Onpolicy)的,大家也不太在意采樣效率。它最終呈現出來的性能表現還算比較好,而且操作起來也相對簡單,不過它本身并沒有什么特定的結構,這就導致有時候它會收斂到一些我們不想要的狀態(tài),比如一些很奇怪的狀態(tài)。但控制就不一樣了,它有很好的結構,能夠借此提高采樣效率,這就是它的一個優(yōu)勢所在。
我很多研究的核心思路,就是嘗試將 RL 與 Control 相結合,例如把 Control 的安全性融入 RL 中,或者借助 Control 良好的結構使強化學習變得更具穩(wěn)健性。最后,我和前面三位老師有一個共識,最有效的學習方式最終還是要落實在真實世界當中去開展和驗證。
我對于當前仿真(Simulation)方面的進展并不是特別樂觀,因為我始終覺得,開發(fā)出一個非常完美的仿真器本身就是極為困難的一件事。我們不能期望能有達到通用人工智能(AGI)水平的仿真器出現,然后憑借它去解決所有問題。所以,一定要以某種方式,在真實世界里去做學習(Learning)才行,只不過我所采取的角度是將 RL 和 Control 相結合去做真實世界里的學習。
王建明:謝謝石老師。我覺得您可以推薦一些您在 RL 和 Control 結合方面的工作,可以讓同學們參考學習一下。
石冠亞:好的,我分享幾個相關內容吧。
第一個,我做過很多人形機器人相關的工作,其中有一套邏輯是我個人特別喜歡的,那就是別讓 RL 直接進行一對一(n to n)的輸入輸出操作。我覺得當下有不少論文,就是用 RL 去輸出比較高層的信息,打個比方,要是去控制一個人形機器人,為什么非得讓強化學習(RL)去輸出每個電機的扭矩呢?其實可以讓它輸出一些更高層的信息,比如可以讓它輸出速度、加速度等信息。 我覺得這是個挺有意思的方向,我有不少相關論文,大家可以搜一下“CAJun”就能找到,也可以直接進入我實驗室主頁看看那些視頻,視頻里機器狗跳躍等展示的成果,其實都是基于這個邏輯做出來的。
第二個給大家推薦的一系列工作,是帶有“現實到仿真(Real to Sim)”的特點。我沒直接做 Sim2Real 的工作,而是先進行 Real to Sim,再做 Sim2Real 。我個人挺看好這個方向,就是不在固定不變的仿真器里學習,而是到現實中獲取數據來改進仿真器,之后再基于改進后的仿真器進行學習。 這個方向我覺得也挺不錯的,我們近期在這方面也開展了一些工作。
第三個,就是基于 MPC 相關內容。更有意思一點的做法是,我們先學習一個世界模型(World model),然后再利用 MPC 去進行控制操作。這方面我們最近有挺多文章的,比如說 DIAL-MPC 的相關研究挺熱門,很多人都在用,因為它的代碼相對于傳統MPC簡單好用很多。我們做了很多關于學習動力學(Learn dynamics)的工作,就是在現實環(huán)境里把動力學模型學習出來,之后再運用基于采樣的模型預測控制(Sampling-based MPC)去開展后續(xù)的 Control。 因為基于采樣的模型預測控制算是一種最靈活的 MPC 方法了。
王建明:好的,謝謝石老師。朱老師,我覺得您在國內控制領域實力很強,整個浙大在控制方面也是如此,尤其在關節(jié)機器人控制領域經驗豐富。從產業(yè)化角度看,朱老師所在的云深處近期的工作令人印象深刻,像四足狗、輪足機器人,它們現在很多控制都用 RL。能否請朱老師介紹一下,從傳統的 MPC、更早的 ZMP(零力矩點)等方法的使用,到現在使用 RL,這整個過程您有什么感受?另外,對于產業(yè)和學術結合方面,您如何看待這兩種方法?
朱秋國:早期在機器人上我們大量運用了 MPC +WBC(全身運動控制)這類方法,做了不少相關工作。但從整體效果來看,采用 RL 的方法能更好地展現機器人全身運動能力。
MPC 和 WBC 在 RL 出現之前算是比較主流的方式,因為無論是面向人形機器人還是四足機器人,它們的全身模型很復雜,當要去求解這種高維度的最優(yōu)問題時,不僅需要大量計算,還得保證在線的實時性才行。
所以我們運用 MPC 時,往往會對模型進行簡化,也就是處理簡化模型的長時域最優(yōu)化問題。在這個過程中,需要進行建模,比如先將其簡化成單剛體模型,復雜一點的話就變成機器人模型。在此基礎上,通過預測來保障機器人狀態(tài)軌跡的可預測性,進而確保機器人的穩(wěn)定性。但做完簡化模型那一步后,大家發(fā)現存在問題,因為簡化后的模型很難真實反映機器人全身動力學的特點。
于是我們的研究進入了第二階段,也就是處理復雜模型的短時域最優(yōu)化問題,就是所謂的全身運動控制(WBC)。在這個階段,要建立機器人的全身動力學模型,然后計算出當前的最優(yōu)控制以保證實時性,用全身運動控制(WBC)來彌補模型預測控制(MPC)因簡化模型而產生的問題。這項工作確實開展了挺多,也取得了比較好的效果,不過運動的靈活性還是比較固定。我們通過這種方法做出的效果,很難與波士頓動力 Atlas 機器人相媲美,Atlas 呈現出的效果是最好的。
在很多場景下,我們現在用的機器人算法還是以傳統的模型預測控制(MPC)加全身運動控制(WBC)這種方式為主,因為這種方式比較穩(wěn)定、可靠,也容易解釋和分析。不過這種方式也會帶來一些問題。
第一個問題,比如對于腿足機器人,它的運動模式是足部離散運動,在它跳躍或者行走、跑步的時候,要怎么保持它連續(xù)跳躍的穩(wěn)定性?如果采用傳統方法,就會遇到幾個問題,像怎么保證機器人在規(guī)定時間內接觸地面,還有接觸地面后怎么保證它能快速響應之類的問題。
要是還用傳統的優(yōu)化方法框架去處理的話,比如把時間納入到優(yōu)化問題里,就會發(fā)現這個優(yōu)化問題會變得極為復雜,而且現在大部分人運用這套方法時,往往會忽視這個問題。
第二個問題是,關于觸覺感知,怎么能讓它在模型預測控制(MPC)起作用前就發(fā)揮作用呢?很有可能等檢測到相關信息時,機器人就已經摔倒了。這些是我們在使用傳統模型控制方法過程中會碰到的一些問題與挑戰(zhàn),有些問題很難解決,甚至根本沒辦法解決。
那么 RL 還是有它的優(yōu)勢,前面石老師講過的那些優(yōu)點我就不贅述了。我覺得 RL 在控制領域里有點類似鎮(zhèn)定器,在與環(huán)境交互接觸的過程中,靠著這樣一套強化學習的模型,能夠確保機器人穩(wěn)定可靠。所以現在我們推出的人形機器人、機器狗、輪足機器人,我們實際運用的都是 RL 這套方法。在運用過程中,無論是發(fā)揮全身動力學的能力,還是實現全身的協調性,都能展現出更高的靈活性。
所以我們目前主要的研究重點還是放在 RL 上,但這并不意味著基于模型的方法就沒用了。在浙大這邊的研究中,我們帶的研究生已經開始嘗試在 RL 技術基礎上,融入一些 MPC 的思路或設想,去開展一些更具挑戰(zhàn)性的工作。
我覺得從原來單純用 MPC,到后來使用 RL,再到現在進行 MPC 與 RL 相結合,可能就是在這個領域不斷摸索的一個過程。
王建明:那請盧老師先介紹一下,您在強化學習領域深耕多年,能否跟大家分享下您目前在這方面的工作及經驗積累?
盧宗青:好的,我先回應一下冠亞剛才提到的問題。首先,無模型強化學習(Model free RL)和 Control 解決的其實是相同的問題,面臨的數學問題也是一樣的,只不過解法不同罷了。
我一直在從事強化學習相關工作。對于機器人,尤其是人形機器人的解法,我們側重的角度可能和大家不太一樣。從人的角度來看,我們更多基于一種分層的假設框架,在高層可能更多涉及姿態(tài)方面的調控,或者說并非傳統意義的控制,而是通過姿態(tài)去影響,而在下層,比如低層級策略,去進行具體的控制操作,好比針對人形機器人,就是過控制電機或其他控制量來實現相應姿態(tài)。
所以我們更關注與物理世界的交互,而在交互過程中需要融入視覺信息。畢竟人在控制自身身體時,會融入大量視覺信息,還有觸覺信息等各類從外部能感知到的信息。也就是人形機器人如何與物理世界進行交互。
而且就人形機器人而言,我們可以利用大量與人相關的數據,包含互聯網上能獲取到的視頻等資料。那如何依據這些數據讓機器人實現對自身身體的控制?對于下層策略來說,不管是運用近端策略優(yōu)化算法(PPO)在仿真器里訓練,還是采用模型預測控制(MPC)的方法,只要能達成上層所給出的目標就行。我覺得這樣的思路或許更容易構建出一套系統,從而更好地解決相關問題。
對于 Locomotion,目前多數情況下,不管是用 RL 還是 MPC 的方法去處理,解決的都是同樣的問題。但我覺得其中更關鍵的是,怎樣融入額外的模塊,以此來考量物理世界中的相關信息。另外,就物理世界中的信息而言,學習動力學(Learning Dynamics)可能是相當困難的事。像其他學者提到的構建世界模型,要想在視覺層面以及觸覺層面真的構建出一個完整的仿真器或者世界模型,我認為難度很大。所以從我的角度來看,在現實世界中去學習或許會更好一些。
王建明:好的,謝謝盧老師。剛才三位嘉賓的討論多聚焦在 Locomotion 方面,接下來我們探討一下操作方面 RL 和 Control 的相關內容。請羅劍嵐博士介紹一下這七八年來在這條路徑上的情況。
羅劍嵐:大家剛才都在聊 Control,我本身也是控制背景出身,雖說現在不寫控制方面的論文了,但也接受過完整的相關訓練。我覺得控制是非常有效的,它的有效性已經體現在我們生活的方方面面了。汽車需要運用控制,我們靠著控制技術把人送上了月球。就好像如今我們做科研也不會再去專門引用牛頓三大定律了,因為它已然是既定存在且確實有效的。
我們具體把控制放到機器人這個范疇里來看,其實很多方面是存在不少問題的。因為就像冠亞所說,機器人是一個很大的系統,你可以說汽車是一種機器人,飛機也是機器人,腿足機器人同樣是機器人,機械臂做操控也是一種機器人技術。這涉及到的很多問題都不一樣,無論是無模型(Model-free),還是基于模型(Model-based),都需要具體問題具體分析。
總體來講,大家可能主要在做三件事,第一個是導航(Navigation),第二個是移動(Locomotion), 第三就是操作(Manipulation)。我們探討的這些方法論,要是套用到這三個不同的問題、不同的情境當中,那實際上是在說不同的事。
比如剛才冠亞提到的端到端,在這三個問題里,它的表述其實是不一樣的。比如說針對導航做端到端,我不知道該怎么做,感覺要是把整個地球都繪制一遍地圖來做,那這肯定不行的。應該是通過視覺基礎模型獲取語義信息,接著進行地圖構建、同時運用即時定位與地圖構建(SLAM)等技術。
而對于 Locomotion,這是個很有意思的問題,大家剛才一直在說仿真器之類的工作,從本質上講,這其實意味著要對物理規(guī)律進行逆向推導。 “在對物理規(guī)律進行采樣時,其實就是在做基于模型的控制”,對于這個觀點,我其實挺認同的。 仿真器提供了一個更好的計算工具,但它并不能直接給出一個策略(Policy),得使用優(yōu)化器(Optimizer)才會有相應的策略。
然后再來說說 Manipulation 方面,這其實是另一個問題了。在機器人學里存在一個著名的悖論,叫莫拉維克悖論(Moravec's Paradox)。它所闡述的內容是這樣的:回顧50年的人工智能發(fā)展歷史,我們會發(fā)現,對人類而言簡單的事,讓機器去做卻很難;而那些人類做起來難度較大的事,機器人操作起來反倒簡單。比如,我們能夠教會機器下圍棋,像 IBM 的深藍早在 20 年前就可以下棋了,后來 AlphaGo 打敗了李世石。然而,像拿起水杯這類在人類眼中極為簡單的動作,對于機器來說卻異常困難。針對這一現象,有著諸多解釋和爭論。
之所以會出現這種情況,是因為人類歷經了數十億年的漫長進化,而數字化以及真正擁有智能,其實是相對較近幾千年才發(fā)生的事。所以,讓機器掌握相應的動作(Movement),要比讓它獲得推理能力(Reasoning)以及內在的推理智能難得多。不管怎么說,這實際上就是操作(Manipulation)需要解決的核心問題。我們怎樣才能讓機器人像人類一樣去操控,去與物理世界進行交互,并且能可靠地完成這些事。
在這里,無論是端到端的方法,還是其他方法,與之前提到的導航(Navigation)或移動(Locomotion)其實存在一些顯著的不同。為什么這么說呢?因為在操作任務中,通常會涉及到一些具體的物品和任務情境。比如,當你有一個機器人,它的前方往往會有一個相對固定的工作區(qū)域。無論是移動機器人,還是其他類型的機器人,通常需要先通過局部運動等方式導航(Navigate)到指定的位置。之后,在這個固定空間里,不論是工廠、家庭,還是其他應用場景,機器人面前的物體尺寸和任務范圍一般是相對確定的。
在這種情況下,使用端到端的方法是有一定成功概率的,因為機器人的工作范圍是有限的。在一個固定的工作區(qū)域中,不管是在工廠、家庭,還是其他場景,機器人面前的物體尺寸和任務范圍通常是相對確定的。這種環(huán)境特點使得端到端方法能夠在特定任務上表現出一定的效果。然而,這種成功依賴于對特定環(huán)境的數據訓練和驗證,確保模型在有限范圍內具備可靠性和魯棒性。
我不太容易陷入關于到底是端到端還是非端到端的爭論中。我可能更關注這個問題究竟要如何才能被解決。至于是不是端到端,我們可以想想這樣一件事,Jeff Hinton 在他 2018 年的圖靈獎演講上,說了這么一句話。他說最開始的語音系統,如果你想用一個神經網絡去替代系統中的一部分,那這個神經網絡會慢慢地把其他部分侵蝕掉,然后開始在整個系統里循環(huán)運轉、不斷擴張,就如同桿菌那樣,會把系統的其他部分也全都“吃”掉,最終整個系統就完全變成由神經網絡主導的樣子了。
但是即便如此,我的重點在于,對于 Manipulation 而言,實際上是可以學到這樣一個策略的。端到端的優(yōu)勢在于沒有中間的偏差,并且可以直接針對目標進行優(yōu)化。而且,Manipulation 為我們提供了這樣的環(huán)境和設置來做這件事,實際上可以使所有情況都適配到。
現在我們再回到這個問題:我們?yōu)槭裁匆褂谜鎸嵤澜绲臄祿兀课覀兿葤侀_那些非常具體的技術問題,先來思考一些基本的問題。今天研討會的主題是如何將機器人的可靠性逼近到 99.9% 或者 100%。我們可以思考的一個問題是:機器人為什么達不到 100% 呢?
既然達不到 100%,這就意味著我們的模型、或者其他什么東西也好,和實際環(huán)境是存在一定差距的。只有縮小這個差距,才有可能達到 100%。那么,在一個存在未知信息的環(huán)境中,要如何縮小這個差距?除了和這個環(huán)境進行交互,把未知信息獲取回來,然后以某種方式進行優(yōu)化之外,沒有別的辦法。這是最通用、最具擴展性的方法。
你可以說我們能夠設計一些東西來滿足特定需求,然后構建一些模型,讓它們去適配一兩個特定的任務。就好比如今我們有這類專用模型,它就專門負責做一件事,速度特別快,而且成功率能達到 100%。
但要是有 1000 個任務、1 萬個任務等等情況的話,那不可能每個任務都按這樣的方式去做。尤其是我們現在想要的是通用型、帶機械臂的機器人去執(zhí)行任務的話,雖然各個任務具體細節(jié)或許不一樣,但總體的基本邏輯都是一樣,你得先有一個初始的設想、猜測,然后再與跟環(huán)境進行交互,最終把那些缺失的部分補上。
通過某種方式來構建這樣的機制,比如說 RL,確切來講就是強化學習的定義所描述的那樣,具體如何操作,我們有很多種做法,有人說要用基于模型的強化學習(Model-based RL),有人說用無模型的強化學習(Model-free RL)。其實我可能不會特別傾向于其中某一種,它們各有各的長處。
總結一下,先說說為什么要采用 RL。在現實世界里,要實現高性能的操作并達到高可靠性,對于每一個環(huán)境來說,最通用、最具擴展性的辦法必然是強化學習。而且它并非是一種被動的數據學習,不是簡單地去收集一些離線數據就可以了。如果想要達到100%的可靠性,那就一定要與環(huán)境進行交互,而要實現與環(huán)境交互,就必須得運用強化學習,這是比較基本的邏輯。
在 Manipulation 領域選擇強化學習而非傳統控制,有著深刻的原因。今天我們討論的一個重要主題是 Manipulation 和 Locomotion 的對比,這兩者在本質上是完全不同的問題。
對于 Locomotion,主要的挑戰(zhàn)在于機器人本體的不確定性。這種不確定性相對有限,例如機器人可能踩到石子,或者路面出現打滑等情況。從機器人本體的角度來看,這些不確定性的影響是可以量化的。在控制領域,我們有一整套數學工具來應對這些問題,其中之一就是魯棒控制(Robust control)。魯棒控制的核心思想是對不確定性進行定量建模,進而確定最壞情況的界限(Worst-case bound)。只要實際的不確定性在這個界限范圍內,設計出的控制策略就是有效的。
然而,Manipulation 的情況則完全不同。Manipulation 的主要挑戰(zhàn)來自外部世界的不確定性,而不是機器人本體的不確定性。機器人本體是一個經過精心設計的確定性系統,但外部世界的復雜性是無限的(Unbounded complexity)。這些不確定性可能來自視覺、物理交互、觸覺感知等多個方面,而對這些因素進行全面、精確的建模幾乎是不可能的。盡管我們可以對其中的某些部分進行建模,取得一些成果,但始終無法完全掌控這些外部復雜性。
這正是 Manipulation 問題需要強化學習(RL)的原因所在。RL 通過與外界的交互,能夠更好地適應外部環(huán)境中的不確定性。從本質上來說,Manipulation 和 Locomotion 是兩類截然不同的問題:Locomotion 可以通過控制理論中現有的工具(如魯棒控制)較好地解決,而 Manipulation 則需要通過 RL 等數據驅動的方式,去應對外部世界的復雜性和不確定性。
王建明:接下來談談商用以及機器人本身落地可靠性的問題。我們可以從 Manipulation 方面開始說起。
在 Locomotion 方面,雖說有不同的方法和途徑,但大家的共識程度還是比較高。 但在 Manipulation 方向上,由于操作任務的復雜度、面臨環(huán)境的復雜度以及路線選擇方面的情況都更為多樣。
目前技術路線不一,我留意到主要有幾個,首先是模仿學習加真機的路線,像以擴散策略(Diffusion policy)或者其他以 Aloha 為代表的模仿學習路線,能產生一系列比較好用的策略(Policy);其次是羅博士近期一系列工作所代表的 RL+真機的路線;第三是 RL+仿真來解決操作問題的路線;還有一條是對仿真進行優(yōu)化,比如添加一些可微的元素進去,例如通過可微分模擬的方式來構建虛擬環(huán)境的世界模型。
石冠亞:我一直有個比較大膽的暴論,我覺得徹底解決機器人的操作問題其實和解決 AGI 沒有區(qū)別。
打個比方,就拿“開”這個動作來說,像開瓶子、開杯子、開可樂、開門,雖然都用“開”這一表述,但實際的動作完全不一樣。我覺得要是有一個策略(Policy)能解決“打開任何東西”這個問題,那它和 AGI 就沒什么區(qū)別了。
而且,從衡量指標來看,我個人很容易分不清到底是因為任務選得好,所以效果不錯,還是因為方法本身確實有了一些實質性的突破。
另外,我特別贊同剛才說的那幾個分類。不談利弊,我可以跟大家講講我對它們的看法。
我覺得第一類屬于“大力出奇跡”的做法。就是先收集大量的演示數據(Demonstration),然后采用行為克隆的方式。其實現在做離線強化學習的人挺少的,大家普遍都是直接進行行為克隆。剛才提到的擴散策略、ALOHA,還有近期在物理智能層面的 Pi 0,都是遵循這一個邏輯。
第二類 Sim2Real,采用這種方式的人相對少一些,但我覺得還是挺有意思的。其中最有名的應該就是 2019 年 OpenAI 做的用 Sim2Real 方式轉魔方的項目。
第三類,有很多微調相關的做法,就是先進行預訓練,然后再做微調之類的操作。
另外第四類,你之前沒提到,我可以補充一下,就是用傳統控制來做驗證的情況其實也是存在的。不過它最大的問題就是不太能泛化。比如說,你要是設計了一個轉筆的策略(policy),可能就只能轉某一種特定的筆,要是筆的質量變?yōu)樵瓉淼?倍、長度變?yōu)樵瓉淼?倍,可能就沒辦法轉了。
第五類是基于模型的方法,感覺這類比較小眾。就是先學習一個模型,然后再去做控制。就像劍嵐說的,它的難點在于你不僅要預測狀態(tài)、幫助預測目標數據,而且做建模本身就很困難。這類工作雖然小眾,但確實存在。我知道像加州理工學院(Caltech)、麻省理工學院(MIT)有人在做,他們研究諸如粒子動力學(Particle Dynamics)之類的內容,然后基于此開展工作。
羅劍嵐:我也來談談自己的看法吧。如果我們想要實現 AGI,要對人類智能進行逆向工程,那所需的計算能力,單是用來處理人類的各種動作行為,幾乎就是無窮無盡的。
就 Control 方法用于 Manipulation 來說,它存在不少問題。在機器人學剛開始形成一門學科、逐漸興起的時候,那時并沒有視覺相關的技術,就如同處在“盲人摸象”的狀況里。從理論構建角度看,控制的核心是 HJB 方程,該方程要求輸入的數據起碼得是可微的,或者說要相對平滑,理想狀態(tài)下要比上一時刻更平滑才行。
然而,要是遇到高維度并且不平滑的輸入感知數據時,與之相關的那些理論基礎就會出現狀況,HJB 就會失去作用,如此一來,控制的基礎也就被動搖了。一旦出現這種情況,不管在何種場景下,控制方法基本上就沒辦法發(fā)揮作用、失效了。
而機器人操作(Manipulation)必然是涉及感知這一要素的。如果你要處理感知相關的問題,就目前來看,最好的辦法是通過學習(Learning)的方式。既然操作(Manipulation)是需要感知參與的,那么操作就必然要借助學習了。
不過,這并不是說控制(Control)就完全沒有作用了。就拿現在機器人應用中一個比較大的話題來說吧,比如在碼頭場景下,有體型巨大的機器人要完成搬運貨物的任務,可能是四五個機器人一起協作,把貨物從里面取出來、然后再放上去。在這種情況下,我們應該運用運動規(guī)劃(Motion Planning)的方法。并且,我們不但要采用目前最快、最好的在線運動規(guī)劃模型,還要利用相關驗證機制,把這些運動規(guī)劃都逐一驗證一遍,確保其準確性達到100%才行。要是不這樣做的話,就很容易出現機器人之間相互碰撞,或者機器人誤傷人之類的嚴重情況。
再說回操作。我們說的是那種有機械臂的機器人,它前方有一個工作區(qū)域,區(qū)域里有一些物體需要進行操作??瓷先ゲ呗詫W習在這種情況下并沒有那種特別復雜、特別難處理的動力學問題,但關鍵在于,如果我們能夠解決其中哪怕僅僅 5% 或者 10% 的問題,那對于我們實現機器人走進千家萬戶的夢想來說,都會是一個很大的進步,機器人也會變得非常有用了。
第二點,來談談仿真的問題。我覺得當前存在一個比較突出的點,就是如果我們采用基于學習的操作方法,涉及到仿真與實際應用這兩方面對比的時候,會出現這樣一種情況:由于機器人目前還沒有被大規(guī)模部署,所以就沒辦法獲取到足夠多的實際數據,進而也就難以開發(fā)出更好的模型。
當大家圍繞“操作”這個核心進行討論時,有人會說,操作能夠生成大量的數據。但要是采用仿真的話,其難點就在于要把仿真做得準確、完善。
我并不是仿真方面的專家,所以只能從一些比較基本的原理角度出發(fā)。這就好比,要去做仿真就相當于要去模擬整個宇宙??梢俏覀冇姓鎸嵉臄祿脑挘覀円龅钠鋵嵕褪菢嬙煲粋€機器人的大腦。而宇宙是包含了大腦的,建一個宇宙比建一個大腦要難得多,所以我們應該先去建大腦。
以特斯拉為例。特斯拉一開始在車輛投入使用前,可能還面臨數據不足之類的情況,可一旦它的車跑起來之后,情況就大不一樣了。我昨天還看了些相關數據,特斯拉現在一年生產出來的真實行駛數據能達到 500 億里程,這時它面臨的問題根本不是有沒有數據了,而是這些數據多得完全存不下,他們現在都沒有足夠的硬盤去存儲這些來自各個攝像頭等渠道的數據。
我們現在思考相關問題,總是想著仿真器能夠生成海量的數據,可實際上,真實世界里像特斯拉這樣的公司產生的數據量都已經大到難以處理了,關鍵問題在于:我們要拿這些數據怎么辦。我們應該是思考怎么去利用好這些數據,而不是僅僅著眼于仿真器能生成多少數據。
我確實覺得仿真是非常有用的。如果今天要開一家自動駕駛公司,要是有人跟我說不打算構建仿真器,那我肯定得問問這是為什么,因為沒有仿真器的話,軟件集成之類的工作根本沒辦法開展,整個業(yè)務流程也會難以運轉起來。仿真器對于像抓取放置(Pick and Place)這類相對簡單些的、涉及運動學(Kinematic)的操作問題還是挺有幫助的。
不過,操作(Manipulation)問題的核心在于,一方面,我們得先處理好視覺輸入;另一方面,我們還要處理非常復雜的物理相關情況,像物體之間的接觸、流體的影響以及物體的變形等等復雜因素。與其費很大力氣去構造一個像模擬整個宇宙那樣復雜又龐大的仿真,還不如利用真實的數據,用真實數據就不存在任何的 GAP,然后再去深入思考怎樣基于這些真實數據來制定出更好的策略,這就是我比較核心的一個觀點了。
石冠亞:我非常認同劍嵐的這個觀點。哪怕是人也是如此。我們平時疊衣服、疊被子,我們之所以能做到這些,絕對不是因為我們會去求解納維-斯托克斯方程。我們端起一杯水的時候,我們也不清楚這杯水具體的動力學原理。人在進行這些操作的時候,往往是憑借著直覺來更好地利用經驗和感覺的。
說到仿真器,很多時候它其實是有點“用力過猛”了,做了過度的模擬(Overkill)。我們沒必要去模擬所有的東西,只需要模擬那種憑直覺就能把握的、關鍵的部分就可以了,這其實也和 Locomotion 相關聯。
那為什么局部運動在現有的框架里是可行的呢?這是因為目前它基本上只處理到了一類仿真相關的問題,就是剛體動力學方面的問題,它其實并沒有過多涉及到像流體、顆粒材料等等更復雜的情況。
羅劍嵐:談到直覺物理學,其實在操控(Manipulation)任務中是個很有意思的話題。換個角度來看,操控通常存在于一個較低維度的流形(Manifold)中,也就是說,我們并不需要真正去解那些復雜的物理方程。例如,許多動態(tài)操作場景,比如鞭子的揮動、筋膜的運動等,實際上幾乎無法用傳統方法去求解,因為它們涉及非常復雜的偏微分方程(PDE),而這些問題本身的求解難度極高。
如果嘗試在偏微分方程的外環(huán)上進行優(yōu)化,再在線上進行實時計算,這種方法在人類操作中顯然是不現實的。我可以肯定,人類的大腦并不是通過求解偏微分方程來完成這些任務的。相反,人類依賴的是一種直覺物理(Intuitive physics),這種能力是通過與環(huán)境的長期交互逐步形成的。比如,當你看到某個物體的位置,伸手去拿,或者在某處翻找,這些動作看似簡單,卻反映了人類對物理世界的直覺理解。
事實上,這種能力的形成遠早于現代科學的發(fā)展。幾萬年前,人類已經可以鉆木取火、拉弓射箭,而現代科學和數學體系的建立不過近 300 年的事情。當時,我們既沒有偏微分方程,也沒有用抽象的數學工具去理解世界。由此可見,人類大腦在操控和操作中一定不是通過解偏微分方程來實現的,而是通過直覺與環(huán)境交互形成了一種與物理世界高效對接的能力。
我們再來談談模仿學習和強化學習,我覺得這兩者并非是完全相互排斥的。模仿學習能夠給我們一個很好的起始點,但如果要達到 100% 的成功率,那就必須得用強化學習了,也就是要和環(huán)境進行交互,把最后的那部分性能提升上去。
而且我們從現在的相關工作中也能看到,強化學習其實原本是需要大量數據的。不過最新的成果顯示,它其實只需要和真實場景交互 1 到 2 個小時就行了,并且我相信在未來,連這 1 到 2 個小時都不需要,因為很多時候它是在弄清楚一些非?;A的操作能力,一旦我們有了預訓練,這個時間可能會縮短到 20 分鐘。
最后我再補充一點。我們?yōu)槭裁匆涯硞€指標逼近到 99.9% 呢?
如今部署在全球的機器人大概有 500 萬臺,其中 95% 都是位置控制型的,它們就跟“瞎子”一樣,只是簡單地重復編碼好的程序。它們就是固定地從 A 點移動到 B 點再到 C 點,從1961年通用汽車發(fā)明了第一條生產線起,一直到現在,我們所做的不過是在原有基礎上進行了一些優(yōu)化,從根本上來說,其實并沒有太大的改變。
要想真正發(fā)揮作用,成功率實際上得是百分之百才行,99% 都太低了。每一次出現故障、失敗都是有成本的。要是在生產線上,成本體現就是整個生產線得停下來,直接反映就是你的資金收益在減少,得有人去彌補這個損失成本。
有人可能會講,你說的是工業(yè)機器人需要百分百的成功率,可家庭機器人有個百分之七八十的成功率就夠了 。其實我也思考過這個問題,我可以舉個很形象的例子。就在昨天,我去伯克利的體育館打球,那兒有個自動售賣機器人賣水,用的時候就是把信用卡貼上去,它就會把水拿出來遞給你。我過去這一個月里經常去那兒,可昨天我把卡貼上去后,水本應該從出口出來的,結果卻掉下去了,而且我還沒辦法把水取出來,這就產生了成本,明碼標價就是那瓶水的價格,2.75 美元。所以說,這不是沒成本,任何情況都是有成本的。
大家再想象一下,要是星巴克的機器人每 5 個小時就把咖啡灑地上一次,又或者家里的機器人每周都把廚房的杯子、盤子之類的東西往地上摔一次,這些都是損失,畢竟這都是在和物理世界做交互。我倒不是說我們就別去做家用機器人了、只搞工業(yè)機器人。我覺得當下是處于一個比較關鍵的階段,在急切需要半約束、受約束的環(huán)境里,這樣的環(huán)境能讓我們去研發(fā)解決方案,探索新的科學成果。等我們把相關問題弄明白了,或許就能把成果拓展到家用機器人等領域了。而且家用機器人還涉及數據收集以及隱私方面的問題,畢竟誰也不想家里的機器人在自己睡覺或者做別的事情的時候盯著自己,或是把數據傳回去用于訓練。
所以我覺得,我們現在所處的這個階段真的是首次開始系統、全面地去思考一種比較通用的解決方案,未來咱們不用太擔心數據方面的問題,數據會像飛輪轉起來一樣不斷積累、運轉起來。那一旦到了那個階段,我們該怎么去思考這 99.9% 成功率的問題呢?那肯定得是強化學習和模仿學習相結合才行,這兩者并不是完全相互排斥的關系,關鍵是一定要和環(huán)境進行交互,它是動態(tài)變化的,而不是靜態(tài)的。
王建明:好的,謝謝羅博士。盧老師,您一直研究強化學習,對于人形機器人的 RL,還有您剛才提及的引入物理交互和視覺交互的內容,您可以詳細講講這套方法嗎?或者您認為強化學習對人形機器人控制的可靠性方面,未來會以怎樣的速度迭代?
盧宗青:我先聊聊剛才提到的 Manipulation 方面的事。今年我們在操控方面做了不少工作,先是在模擬器里用強化學習進行訓練。我發(fā)現只要把問題定義清晰了,強化學習是比較容易解決問題的,當然這里指的是給手部添加觸覺信息的情況。
不過在模擬器里訓練出的強化學習策略,解決不了實際問題。因為我們發(fā)現訓練完后,模擬器里大多是基于點云的,但是很難泛化。真機采集的點云和模擬器里看到的點云完全不一樣,所以在我看來,Sim2Real 的 gap 比較難解決。
但是這項工作有個啟示,給我們傳遞了一個比較重要的信息:機器人要是具備觸覺信息,完成 Manipulation 任務就會更容易些。我覺得這也是個比較直觀的見解,畢竟盲人也能完成各種各樣的操控任務。
不過我認為,對于 Manipulation 來說,就像剛才冠亞講的,這本身就是個大難題。其實對于某個特定的問題,不管是模擬器、Sim2Real,還是真機+RL,都能比較好地解決這個特定問題。最關鍵的是泛化問題,就是我要怎么得到一個策略,讓它可以完成各種各樣的操控任務呢?在我看來,這是非常難的。而且對于這個問題,目前來看,很難有數據來驅動這樣一個模型的學習,這是比較關鍵的點。
所以對于你剛才問到的人形機器人相關內容,人形機器人有兩條胳膊、兩只手,我們解決相關問題采取兩步走的方式,因為目前我們沒有從機器人端采集下來的數據,或者說數據量沒那么多。我們前期會利用人的數據去生成人的姿態(tài),輸入是視覺信息,輸出就是姿態(tài)。我們把這一步稱作“預訓練”,也就是用互聯網上大量但質量不算高的數據去訓練模型,使其輸出手部的姿態(tài)。然后再依據一些真機的數據,比如遙操采集的數據,去做后訓練(Post training),以此來實現泛化性。
我覺得這是在剛才提到的四條技術路線之外,另外一條可行且值得嘗試的技術路線。這條路線主要聚焦在泛化性上,而不只是著眼于如何完成某個 Manipulation 任務的思路。
王建明:您如何看待人形機器人達到 99% 以上可靠性這一問題?還有,它未來的發(fā)展路徑和周期是怎樣的?
盧宗青:我個人覺得,要是依靠模仿學習、強化學習這些方法,人形機器人不太可能達到 99% 以上的可靠性。就好比人去抓東西,可能抓一萬次也會有一次失誤。畢竟它不像工業(yè)機器人處于固定場景中,我希望看到的具身 AI 的應用,肯定是在開放場景里的應用。就像劍嵐剛才說的,不同場景下的產品有不一樣的需求,在有些情況下,可能百分之七八十的成功率就夠了。
另外,對于我們這套技術方案而言,RL 主要是為了執(zhí)行上層模塊給出的指令,不管是姿態(tài)(Pose)也好,普通指令也好,本質上是用于控制電機之類的控制量。所以在我看來,它的完成度并非特別關鍵,反而更上層的高層次策略或者像姿態(tài)生成模型這類做法,怎樣達到較高可靠性才更重要。
下層的 RL 策略,即便去訓練,也就是那樣一個結果,在最佳情況下,能找到一個最優(yōu)策略(Optimal policy),可它的上限是由給定的問題本身決定的。至于怎么去給出這個問題,可能是我們需要進一步思考的地方。
王建明: 關于可靠性,也想聽聽朱老師的想法。您如何看待目前四足機器人的可靠性?在為客戶部署機器人時,傳統控制和強化學習哪個用得多?您之前也提到人形機器人 10 年前走出實驗室很難,我們現在期望人形機器人能穩(wěn)定完成一些任務。
朱秋國:關于可靠性這個問題,從學術界角度看,很難將一種方法在實驗中的可靠性(比如達到 99% 或者 90%)直接套用到產業(yè)產品中。我想其他老師也會認同這一點,因為實驗數據和實際應用中的可靠性不太一樣。
就產品可靠性而言,我認為可以分為幾個階段,其中包括我們內部也在討論的機器人本身硬件的可靠性問題,我們經常會提到一個“無故障運行時間”的概念。
“無故障運行時間”是評判機器人是否穩(wěn)定可靠的關鍵指標。比如在電力巡檢場景中,客戶要求機器人在三個月內不能出一次問題。
那如何評判機器人的穩(wěn)定可靠性呢?正如幾位老師所講,主要涉及幾個方面。一是硬件本身的問題,對于機器人而言,連接的部件、關節(jié)越多越復雜,出問題的概率就越大。所以要讓復雜的人形或四足機器狗在行業(yè)應用中長久保持穩(wěn)定,就得提高硬件本身的可靠性。而在提高可靠性方面,首要解決的就是系統本身的可靠性問題,像機械結構、電控系統以及底層軟件系統能否長期穩(wěn)定可靠,這是個很大的挑戰(zhàn)。
到了第二步,我們會更關注軟件算法層面的問題,比如基于傳統方法和基于模型的方法。從理論上講,只要代碼沒寫錯,基本不會出什么問題。但要是結合其他算法,比如在機器人完成自主導航時,要讓它實現精準定位,情況就不一樣了。
這里面就存在挑戰(zhàn),因為算法本身還要解決環(huán)境動態(tài)變化,像隨季節(jié)改變等環(huán)境變化時的適應性問題。所以,第二步可能要著重解決軟件算法層面對于可靠性的評估問題。由此可見,產業(yè)界做可靠性和之前講的情況不太一樣,這是我們目前遇到的主要問題。
另外,關于四足機器人用 RL 還是 Control 的問題,目前更多還是用 Control 方法來進行實際運行操作。不過,現在我們已經開始逐漸嘗試,尤其是面對 Locomotion 能力提升的情況,我們在想辦法把 RL 方法結合進來,不管是傳統的 SLAM 方法,還是新型的 Position+Navigation 這類方法,都在做相應部署。到今年年底,我們會試著在相對固定的環(huán)境中,采用 RL 方法去適應不同地形等應用場景。
但我們面臨的一個關鍵挑戰(zhàn)是,在這種場景下,如果機器人出現翻倒或其他問題,那要如何確保機器人不去破壞原場景,不碰壞周邊的瓶瓶罐罐?我們考慮或許得引入 RL 或者一些規(guī)則進去,這樣當機器人出現上述狀況時,就能保證它不會產生額外風險,進而確保機器人在場景應用中的安全性。
從應用角度看,四足機器人發(fā)展到現在已經沒什么本質問題了。就運動能力而言,雖說有時會展示一些極限運動能力,像從幾米高的地方跳下來還能保持穩(wěn)定,但從應用層面來講,其實并不需要這么酷炫的動作。所以在我看來,當下四足機器人的 Locomotion 能力,已經可以滿足很多場景下的運動需求了,這方面是沒問題的。
剛才盧老師說得很對,人形機器人的關節(jié)復雜度更高,四足機器人就 12 個關節(jié),人形機器人卻有幾十個關節(jié)。在應用過程中,如何保證其本身的穩(wěn)定性是個很大的挑戰(zhàn)。所以人形機器人確實還需要更長時間去發(fā)展。我跟很多人聊這個問題時,大家常常迫切希望看到人形機器人能在現實生活中應用起來,但我覺得這得循序漸進,得先看人形機器人適合在哪些場景中應用。
比如現在把人形機器人提供給高校老師當作課題科研平臺,這是沒問題的。讓它站在咖啡機前給大家倒杯咖啡,或許也還行。但要是讓它走進家庭、走向工業(yè)真正投入應用,我覺得還有很長的路要走,這會是個不斷持續(xù)迭代的過程。不管是硬件層面,還是剛才提到的算法層面,特別是 Manipulation 層面,都得用更長遠的眼光去看待人形機器人的應用問題。
王建明:好的,謝謝朱老師。石老師如何看待當下人形機器人在控制方面迭代的速度呢?我看你們有不少相關工作是關于 H2O、OmniH2O 方面,通過這些工作如何看待目前四足和人形機器人控制的可靠性問題?
石冠亞:我們做 Humanoid sim2real 相關工作大概有一年半了,MPC、RL 方面的工作也都做了,所以對人形機器人的可靠性挺有感觸的。
我很認同朱老師剛才的觀點,尤其是他對于當下哪些任務能實現、哪些任務可能還得等很多年的判斷。我再補充幾點:第一,Safe 和 RL 一樣,是個很寬泛的概念,不能一概而論,Safe 有多個維度。最底層的是硬件的可靠性、穩(wěn)定性,這非常重要。比如 Chris Atkeson 教授,他是電影《超能陸戰(zhàn)隊》里大白機器人原型的創(chuàng)作者,他認為除非做成大白那種機器人,否則 Safe 是不可能實現的,意思就是要實現安全,得讓硬件本身就安全,無論怎么折騰都不會傷人,這和算法沒關系,更多是結構、設計上怎么做到柔順性(Compliance)之類的。
第二,很多人也在討論,Safe 本身是一方面,另一方面是 Recover,也就是兜底。我覺得現在對很多機器人來說,Recover 可能比 Safe 本身還難。像波士頓動力與現代的合作、Agility Robotics 的產品 Digit 與亞馬遜倉儲的合作,還有 Figure 與寶馬的合作,我覺得對它們而言,機器人摔倒這事的影響,遠不如摔倒后爬不起來的影響大,它們目前的痛點就在沒有兜底,機器人摔倒后不容易爬起來。而四足機器人現在有相對成熟的方案,本身就很穩(wěn)定,即便有點趔趄甚至摔倒了,也能很快爬起來,人形機器人之前在兜底這塊就比較困難,這都是不同維度的情況。
另外,談 Safe 就跟談毒性不能拋開劑量一樣,拋開泛化性、成本談 Safe 也不合理,到底要達到百分之多少的安全程度呢?一方面得看任務是不是對安全性要求極高,比如 Space X 火箭回收的安全要求肯定和其他機器人不一樣。另一方面,泛化性也很重要,我很認同朱老師的判斷,像一些簡單任務,不需要很強的泛化性,比如在戶外走走,只做 Locomotion,或者重復性任務,比如不停地給客人端咖啡,以現在的技術是比較有望打造出可靠系統的。
中間那層我稱之為面向企業(yè)(ToB)應用,區(qū)別于面向消費者(ToC),機器人在企業(yè)應用中,像在工廠造車之類的場景,需要一定的泛化性,但又不需要特別強的泛化性。比如寶馬與 Figure 合作中,機器人只需不斷安裝電池,安裝電池雖有五個步驟,可能存在一些不確定性,但這些不確定性是可以控制住的。 然后車型是有限的,比如裝寶馬的七八個車型,我覺得在短期未來,從安全性角度這是可以去追求的方向。
但要是問什么時候能把人形機器人放進千家萬戶,讓它完成各種不同任務,像掃地、看孩子、做飯,還要求達到 99.999% 的安全程度,我覺得目前技術還達不到,我們還有兩三個問題沒解決,哪怕是人可能也較難做到這點。
要是問我期望的技術路線,我不太相信 One Shot Safe,就是部署了就百分百安全。我覺得在現實世界中得有糾錯機制,剛部署時可能還是會出些問題,這里我指的是在開放環(huán)境里機器人怎么實現安全,目前我們還沒找到解決方案。我暢想的解決方案是,一開始可能會有不安全的時候,或許可以加入人工干預環(huán)節(jié)(Human in the loop),比如讓人幫忙做些標注等,然后它能漸近性地(asymptolically)越來越好,我覺得漸近性安全(asymptotically safe)是目前我們能期望的最好狀態(tài)了。
最后,Safe 還有另外一層含義,很多做安全性研究的人,是有比較特定的、可以驗證的,類似創(chuàng)建規(guī)則那樣的安全概念,這種 Safe 我們現在是有工具去實現的,比如規(guī)定機器人不能撞到物體,這種情況下,像可達性(reachability)等很多控制理論的工具就能拿來用了。
關于人形機器人的 Safe 問題,很多時候沒辦法給出一個明確的 Safe 定義。比如我們之前聊的很多 Manipulation 的例子,像開門,什么叫不安全的開門呢?可以列出一萬種不同的故障情況,所以我覺得這很難定義。
總結來說,首先硬件的安全很重要;其次,兜底恢復能力(Feel safe)很重要,有時候在很多場景里它比安全本身還關鍵;第三,談安全一定要結合場景對泛化性的需求程度。最后,我們課題組做的很多工作,包括很多控制器(Controller)相關工作,其實是針對比較特定的、可驗證的、像創(chuàng)建規(guī)則里涉及的機器人碰撞這類安全問題,而很多操控方面的安全是沒辦法這么去定義的。
王建明:對于剛才探討的那些話題,各位老師看看還有沒有要補充的呢?
石冠亞:我能不能問其他老師幾個問題?機會難得。其實我有個思索已久的問題,我感覺現在 RL 算法本身的更新近乎停滯了。我想討論一下 RL 算法本身還有沒有創(chuàng)新空間?我一直覺得這些 RL 算法并不是專門為機器人設計的,它們太通用了。為什么 PPO 既可以用于語言模型的人類反饋強化學習(RHF),又能用于機器人學習呢?這本身不就有點奇怪嗎?包括對于學生而言,我們還要不要去做一些強化學習算法的基礎研究,去找到一種特別適合機器人領域的 RL 算法呢?
盧宗青:我先來回答一下。就像冠亞剛才說的,目前在 RL 算法層面的研究確實不多,從 PPO 到 SAC 之后,沒有特別大的進展。在我看來,RL 本質上是一個 MDP,我們思考的是用什么方法來解決這個數學問題,所以它本身就是比較通用的的數學方法表述(Math method formulation)。
從數學角度講,它是在實踐中比較好的解決算法。比如 PPO 在實踐中就是比較好的方法,實際上它是策略梯度(Policy grading)加上價值函數(Radio function)這樣一種演員 - 評論家(Atercritic)框架。
對于機器人來說,能不能設計出一個好的強化學習方法呢?我覺得可以從機器人學習的特性角度出發(fā)來進行設計。我個人認為是可行的。因為機器人的一些約束條件(Constrain)和我們通常研究算法、做實驗時的約束條件是不同的。如果把這些約束條件考慮到算法設計中,肯定會產生一些差異。就像劍嵐做的 Real world 的強化學習,和已有的方法肯定不一樣,它結合了離線(Offline)和在線(Online)的方法來做機器人學習。
總的來說,從強化學習算法角度,要得到一個特別好的通用算法是比較難的。但對于機器人學習而言,我們能否更好地定制一個針對機器人學習的強化學習算法,我覺得還有很多可以探索的空間。
羅劍嵐:我談談自己的理解。 2017、2018 年的時候我就覺得別去搞 MuJoCo,因為沒有解決實際問題。我們當時的問題就是為什么在 PPO 和 SAC 之后,沒有新的算法出來?或許得看看 PPO 和 SAC 是怎么被發(fā)明出來的。當時它們是為了解決一些根本性問題,像在 MuJoCo 里小人跑不起來、Humanoid 站不起來這類問題,等這些問題解決了,MuJoCo 基準測試(Benchmark)被攻克了,自然就沒新算法出現了。
所以我更多地在想,要是再有進展,一定要從根本上想清楚我們要解決的核心問題是什么。要是真有下一輪強化學習基準測試的突破、面臨重大挑戰(zhàn)時,得先想好要解決什么樣的大問題,別重蹈覆轍。
具體到這個問題上,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 看起來沒太大區(qū)別,它們的訓練目標不一樣,一個是最大化數據集的對數似然(Maximize dataset log likeable),另一個是最大化價值函數(Maximize value function),所以實際上是超越數據集去發(fā)現新東西。
我們要怎么進行預訓練呢?能不能模擬物理情況,利用 Meta 幫忙驗證算法基準(Benchmark),搞出更具擴展性(scalable)的強化學習呢?在存在大量異構數據的這種情況下,要如何進行預訓練(Pre training),并且實現快速應用(fast application)呢?我說的可是在真正大規(guī)模(massive scale)的情形下,這或許會是一個比較關鍵的重點所在。
我覺得在我個人未來五年的研究計劃里肯定得有這一項內容。但為了做這件事,不可能說在開源算法開發(fā)的時候,真的把每個算法都放到 1 萬臺機器人上去測試,那樣成本太高,對實際情況也會造成不小的影響。
總結一下,為什么 PPO、SAC 之后沒什么新算法出現,就是因為它們把當時要解決的問題處理得很好了,我們現在需要新問題。我確實覺得,強化學習原則上提供了一種算法框架,如果它從根本上來說沒問題、是合理可靠的,那不能因為現在有一些困難、存在局限性,就徹底放棄它,我們應該讓它逐步變得更好,這樣才能朝著更高更好的目標邁進。因為它不光是告訴你怎么復制、怎么預測、怎么從數據里找特征,要是想達到很高的優(yōu)化程度,比如 99.99%、100%,光有數據不行,還得有優(yōu)化,這是很關鍵的,所以未來的解決方案里肯定得有優(yōu)化這一環(huán)節(jié)。
雷峰網(公眾號:雷峰網)雷峰網雷峰網
雷峰網原創(chuàng)文章,未經授權禁止轉載。詳情見轉載須知。