當前位置:
首頁 > 科技 > 業界 | BAIR講述如何利用深度強化學習控制靈活手

業界 | BAIR講述如何利用深度強化學習控制靈活手


選自BAIR


作者:

Henry Zhu等


機器之心編譯


參與:

Geek AI、路





最近,伯克利發表博客展示了如何使用深度強化學習來控制靈巧手完成各種操作任務。文章討論了這種方法如何學會使用低成本的硬體、如何高效實現,以及通過演示(demonstration)和模擬(simulation)等技術進行補充,從而加速學習。




為什麼要使用靈巧手?



如今,大多數機器人使用簡單的平行爪夾持器作為操作工具,這對於工廠這樣的結構化環境已經足夠。然而,對於像家庭這樣以人為中心的環境,能夠執行廣泛任務的操作工具是必不可少的。多指機械靈巧手是用途最多的操作工具之一,它能夠實現我們在日常生活中使用的各種各樣的技能,比如移動物體、開門、打字和繪畫。







不幸的是,控制靈巧手是及其困難的,這限制了對它們的使用。由於需要進行精密的感知和操作,高端靈巧手的價格也十分昂貴。深度強化學習使得即使使用廉價的硬體也可能自動化執行複雜的控制任務,但是許多深度強化學習應用需要使用大量的模擬數據,這使得它們在經濟成本和工程複雜度方面的開銷都很大。而人類可以在沒有模擬器和數百萬模擬數據的情況下高效地學習運動技能。




我們將首先證明,深度強化學習確實可以通過在現實世界中使用低成本的機器人硬體直接訓練來學習複雜的操作行為,且其計算複雜度是可以接受的,不需要任何額外的模型或模擬器。接著,我們將介紹如何通過引入更多的監督信號來源進一步加速學習,包括演示和模擬。我們展示了在兩個不同硬體平台上的學習:一個是廉價的定製三指手(Dynamixel Claw),售價低於 2500 美元,而高端的 Allegro 機械手的售價則為 15,000 美元。





 

左圖:三指機械手 Dynamixel Claw。右圖:Allegro 機械手。




現實世界中模型無關的強化學習




深度強化學習演算法通過試錯進行學習,利用經驗最大化用戶指定的獎勵函數。我們將以閥門旋轉任務為例進行說明,在此任務中機械手需要將一個閥門或水龍頭旋轉 180 度從而打開它。


 



閥門旋轉任務示意圖。





獎勵函數僅由閥門當前的朝向和我們所期望的目標朝向之間的負距離(negative distance)組成,而機械手必須自己找到旋轉它的方法。深度強化學習的一個核心挑戰是,如何利用這樣微弱的獎勵信號去找到一個複雜而協調的行為策略(policy)來完成這項任務。該策略由一個多層神經網路表示。這通常需要大量的試驗,而這種對數據的大量需求導致社區在深度強化學習方法能否用於模擬之外的訓練任務這一問題上存在分歧。然而,這對深度強化學習的實用性造成了很大的限制:直接在現實世界中進行學習可以利用經驗學習任何任務;而使用模擬器則要求我們設計一個合適的模擬環境,從而對任務和機器人進行建模,認真調整它們的參數以取得好的訓練結果。我們稍後將展示模擬可以在很大程度上加速學習,但是我們首先將證明現有的強化學習演算法確實可以直接在真實的硬體環境中學習這項任務(旋轉閥門)。




有多種演算法適用於該任務。我們使用「截斷自然策略梯度」(Truncated Natural Policy Gradient,TNPG)對這個任務進行學習,在真實的硬體環境下需要 9 個小時的訓練時間。




三指機械手 Dynamixel Claw 在閥門旋轉任務上的學習過程。


 


直接的強化學習方法吸引人的原因有很多。它需要的假設條件最少,因此非常適合自動學習大量技能。由於這種方法假定除了能夠得到一個獎勵函數之外再也不能獲得其它信息,因此在一個修改過的環境中也可以輕鬆重新學習技能,比如當我們要使用不同的物體或不同的機械手進行操作時(如本文中的 Allegro 機械手)。


 



用 Allegro 機械手將閥門旋轉 360 度。




當我們使用不同的材料的閥門時,機械手可以使用同樣的方法旋轉它。如下圖所示,我們可以學習如何旋轉海綿製成的閥門。這種實驗情況可能是非常難以精確模擬的,而且直接在現實世界中訓練可以讓我們無需進行精確的模擬也能學習目標任務。


 



三指機械手 Dynamixel Claw 旋轉一個海綿閥門。




機械手使用同樣的方法解決另一項人物需要 8 個小時,在這項任務中機械手需要將方塊繞著水平軸翻轉 180 度,而我們並不對機械手做任何的修改。





三指機械手 Dynamixel Claw 翻轉方塊。




這些行為是使用低成本硬體(成本低於 2500 美元)和一台消費級台式電腦進行學習的。




通過人類演示加速學習




儘管模型無關的強化學習被廣泛使用,然而由人類專家提供的監督信息可以幫助我們進一步加速強化學習。我們在關於演示增強策略梯度(DAPG)的論文(https://arxiv.org/abs/1709.10087)中介紹了一種將人類的演示納入強化學習過程中從而實現上述思考的方法。在離策略強化學習、Q 學習以及其它機器人任務的環境下,人們提出了一些相關的解決方法。DAPG 背後的主要思想是,人們可以通過兩種方式用演示來加速強化學習:






  1.  通過行為克隆(behavior cloning)為策略提供一個良好的初始狀態。



  2.  在整個學習過程中提供一個輔助學習信號,用軌跡跟蹤輔助獎勵來指導機械手的探索。







在強化學習過程中,輔助目標可以防止策略偏離人類的演示。由於分布漂移(數據分布發生變化)和數據支持有限,使用有限數據的純粹行為克隆往往不能有效訓練出好的策略。強化學習的魯棒性和泛化能力是十分關鍵的,使用演示可以大大加速學習過程。如下圖所示,我們之前通過在多種任務上的模擬驗證了這個演算法,每個任務只使用在虛擬現實中收集到的 25 個人類演示。在這些任務中,DAPG 方法可以將訓練速度提高 30 倍,同時能夠學習到自然穩健的行為。





使用 DAPG 的模擬實驗中學習到的行為:拾取物體、使用工具、手內操作、開門。



 



對物體的大小、形狀變化具備魯棒性的行為;自然且流暢的行為。




在現實世界中,我們可以在三指機械手 dynamixel claw 上使用該演算法顯著加速學習過程。這些演示是通過動覺教學(kinesthetic teaching)收集到的,動覺教學即有一個人類老師在現實世界中直接移動機器人的手指。這將兩項任務中的訓練時間都縮短到了 4 小時以下。


 



左圖:使用 DAPG 方法的閥門旋轉策略。右圖:使用 DAPG 的方塊翻轉策略。


 



在硬體上從頭開始訓練的強化學習學習曲線 vs 使用 DAPG 的強化學習學習曲線。




人類演示提供了一種引入人類先驗知識的自然方式,並加速了學習過程。如果我們能夠得到高質量的成功演示,那麼通過演示增強強化學習就可能大大加速強化學習過程。然而,為所有的任務或機器人形態獲取優秀演示是不現實的,因此我們還需要尋求其它的加速方案。




通過模擬加速學習




一個任務的模擬模型可以使用大量的模擬數據幫助我們增強現實世界的數據,從而加速學習過程。為了使模擬數據能夠代表現實世界的複雜性,我們通常需要對各種模擬參數進行隨機化處理。之前的研究已經觀察到這種隨機性,並使用它產生魯棒性強的策略(https://arxiv.org/abs/1610.01283),這種隨機性還能夠促進在視覺和物理差異情況下進行遷移。我們的實驗還表明,使用隨機化處理實現從模擬到現實的遷移是有效的。





遷移自隨機化模擬實驗的閥門旋轉策略。





將模型從模擬遷移到現實世界的方法已經在目前靈巧手學習複雜行為的研究中得到了探索,也在拾取並放置物體(https://arxiv.org/abs/1707.02267)、視覺伺服(https://arxiv.org/abs/1712.07642)以及靈活移動(https://arxiv.org/abs/1804.10332)等任務的大量之前研究中探索過。儘管通過隨機化實現模擬到現實世界的遷移是一個不錯的選擇,尤其是對於精密機器人而言,但它仍然具有一些局限性。首先,最終得到的策略可能會因為隨機化處理而變得過於保守,這種現象在魯棒性控制領域已經被廣泛觀察到。其次,選擇隨機化處理的參數對於得到好的結果十分重要,來自一個任務或問題領域的知識可能並不會遷移到其他任務或領域中去。第三,不斷增加的隨機化處理會導致模型更加複雜,這大大增加了訓練時間和所需的計算資源(Andruchowicz 等人的研究使用了 100 年的模擬經驗,而這是在數千個 CPU 上訓練了 50 個小時得到的)。在現實世界中直接訓練可能更加高效並且會得到更好的策略。最後,而且也許是最重要的一點是,我們必須手動構建一個準確的模擬器,每個新的任務必須在模擬中手動建模,這需要大量的時間和專業知識。然而,適當利用模擬可以加速學習,更系統化的遷移方法是未來研究的重要方向。




通過學得的模型加速學習




在之前的一些工作(https://homes.cs.washington.edu/~todorov/papers/KumarICRA16.pdf)中,我們還研究了學到的動力學模型如何能夠在不需要手動設計模擬器的情況下加速現實世界中的強化學習。在這種方法中,動力學的局部導數會通過擬合時變線性系統得以近似,得到的結果會被用於在局部迭代式地改進策略。這種方法可以在現實世界中從頭開始學到各種手內操作策略。此外,我們看到,同樣的演算法甚至可以學會控制氣動軟性機械手執行一系列靈巧的行為(https://arxiv.org/abs/1603.06348)。


 



左圖:嫻熟的機械手手內操作。右圖:氣動軟性機械手執行靈巧的動作。




然而,使用學得模型的方法的性能會受到學得模型質量的限制,而且在實踐中,最好的模型無關演算法的漸近性能往往更高。進一步研究基於模型的強化學習,從而高效、有效地進行現實世界中的學習,是一個頗有前景的研究方向。




結論與挑戰




儘管在現實世界中進行訓練是廣泛適用的,但是它本身也面臨著一些挑戰:






  1. 由於需要採取大量的探索行為,我們觀察到機械手經常會迅速升溫,而此時需要將其暫停,以免造成損壞。



  2. 由於機械手必須多次對任務進行嘗試,我們不得不建立一個自動重置機制。在未來,能夠去掉該要求的一個可能方向是自動學習重置策略(https://arxiv.org/abs/1603.06348)。



  3. 強化學習方法需要獎勵函數,這種獎勵必須人為設計。我們最近的一些研究已經著眼於自動設置獎勵函數。




然而,讓機器人直接在現實世界中學習複雜的技能是發展真正的通用機器人的最佳途徑之一。正如人類可以直接從現實世界的經驗中學習一樣,能夠僅通過試錯就學習到技能的機器人能夠以最少的人為干預探索解決困難操作問題的新方法。與此同時,向強化學習提供演示、模擬器以及其它先驗知識可以進一步縮短訓練時間。




這篇文章的工作基於以下論文:






  • Optimal control with learned local models: Application to dexterous manipulation (https://homes.cs.washington.edu/~todorov/papers/KumarICRA16.pdf)



  • Learning Dexterous Manipulation for a Soft Robotic Hand from Human Demonstration (https://arxiv.org/abs/1603.06348)



  • Learning Complex Dexterous Manipulation with Deep Reinforcement Learning and Demonstrations (https://arxiv.org/abs/1709.10087)




原文鏈接:https://bair.berkeley.edu/blog/2018/08/31/dexterous-manip/









本文為機器之心編譯,

轉載請聯繫本公眾號獲得授權



?------------------------------------------------


加入機器之心(全職記者 / 實習生):hr@jiqizhixin.com


投稿或尋求報道:

content

@jiqizhixin.com


廣告 & 商務合作:bd@jiqizhixin.com

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

教程 | 通過可視化隱藏表示,更好地理解神經網路
業界 | 醫療AI應該更關注「數據」還是「人」?數據工程師反思機器學習模型的力量

TAG:機器之心 |