BAIR講述如何利用深度強化學習控制靈活手
最近,伯克利發表部落格展示瞭如何使用深度強化學習來控制靈巧手完成各種操作任務。文章討論了這種方法如何學會使用低成本的硬體、如何高效實現,以及通過演示(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 背後的主要思想是,人們可以通過兩種方式用演示來加速強化學習:
-
通過行為克隆(behavior cloning)為策略提供一個良好的初始狀態。
-
在整個學習過程中提供一個輔助學習訊號,用軌跡跟蹤輔助獎勵來指導機械手的探索。
在強化學習過程中,輔助目標可以防止策略偏離人類的演示。由於分佈漂移(資料分佈發生變化)和資料支援有限,使用有限資料的純粹行為克隆往往不能有效訓練出好的策略。強化學習的魯棒性和泛化能力是十分關鍵的,使用演示可以大大加速學習過程。如下圖所示,我們之前通過在多種任務上的模擬驗證了這個演算法,每個任務只使用在虛擬現實中收集到的 25 個人類演示。在這些任務中,DAPG 方法可以將訓練速度提高 30 倍,同時能夠學習到自然穩健的行為。
使用 DAPG 的模擬實驗中學習到的行為:拾取物體、使用工具、手內操作、開門。
對物體的大小、形狀變化具備魯棒性的行為;自然且流暢的行為。
在現實世界中,我們可以在三指機械手 dynamixel claw 上使用該演算法顯著加速學習過程。這些演示是通過動覺教學(kinesthetic teaching)收集到的,動覺教學即有一個人類老師在現實世界中直接移動機器人的手指。這將兩項任務中的訓練時間都縮短到了 4 小時以下。
左圖:使用 DAPG 方法的閥門旋轉策略。右圖:使用 DAPG 的方塊翻轉策略。
在硬體上從頭開始訓練的強化學習學習曲線vs 使用 DAPG 的強化學習學習曲線。
人類演示提供了一種引入人類先驗知識的自然方式,並加速了學習過程。如果我們能夠得到高質量的成功演示,那麼通過演示增強強化學習就可能大大加速強化學習過程。然而,為所有的任務或機器人形態獲取優秀演示是不現實的,因此我們還需要尋求其它的加速方案。
通過模擬加速學習
一個任務的模擬模型可以使用大量的模擬資料幫助我們增強現實世界的資料,從而加速學習過程。為了使模擬資料能夠代表現實世界的複雜性,我們通常需要對各種模擬引數進行隨機化處理。之前的研究已經觀察到這種隨機性,並使用它產生魯棒性強的策略(https://arxiv.org/abs/1610.01283),這種隨機性還能夠促進在視覺和物理差異情況下進行遷移。我們的實驗還表明,使用隨機化處理實現從模擬到現實的遷移是有效的。
遷移自隨機化模擬實驗的閥門旋轉策略。
將模型從模擬遷移到現實世界的方法已經在 ofollow,noindex">目前靈巧手學習複雜行為的研究 中得到了探索,也在拾取並放置物體(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)。
左圖:嫻熟的機械手手內操作。右圖:氣動軟性機械手執行靈巧的動作。
然而,使用學得模型的方法的效能會受到學得模型質量的限制,而且在實踐中,最好的模型無關演算法的漸近效能往往更高。進一步研究基於模型的強化學習,從而高效、有效地進行現實世界中的學習,是一個頗有前景的研究方向。
結論與挑戰
儘管在現實世界中進行訓練是廣泛適用的,但是它本身也面臨著一些挑戰:
-
由於需要採取大量的探索行為,我們觀察到機械手經常會迅速升溫,而此時需要將其暫停,以免造成損壞。
-
由於機械手必須多次對任務進行嘗試,我們不得不建立一個自動重置機制。在未來,能夠去掉該要求的一個可能方向是自動學習重置策略(https://arxiv.org/abs/1603.06348)。
-
強化學習方法需要獎勵函式,這種獎勵必須人為設計。我們最近的一些研究已經著眼於自動設定獎勵函式。
然而,讓機器人直接在現實世界中學習複雜的技能是發展真正的通用機器人的最佳途徑之一。正如人類可以直接從現實世界的經驗中學習一樣,能夠僅通過試錯就學習到技能的機器人能夠以最少的人為干預探索解決困難操作問題的新方法。與此同時,向強化學習提供演示、模擬器以及其它先驗知識可以進一步縮短訓練時間。
這篇文章的工作基於以下論文:
-
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/
入門 BAIR 機器人
相關資料
Neural Network
(人工)神經網路是一種起源於 20 世紀 50 年代的監督式機器學習模型,那時候研究者構想了「感知器(perceptron)」的想法。這一領域的研究者通常被稱為「聯結主義者(Connectionist)」,因為這種模型模擬了人腦的功能。神經網路模型通常是通過反向傳播演算法應用梯度下降訓練的。目前神經網路有兩大主要型別,它們都是前饋神經網路:卷積神經網路(CNN)和迴圈神經網路(RNN),其中 RNN 又包含長短期記憶(LSTM)、門控迴圈單元(GRU)等等。深度學習是一種主要應用於神經網路幫助其取得更好結果的技術。儘管神經網路主要用於監督學習,但也有一些為無監督學習設計的變體,比如自動編碼器和生成對抗網路(GAN)。
來源:機器之心
Augmented reality
增強現實,是指透過攝影機影像的位置及角度精算並加上影象分析技術,讓螢幕上的虛擬世界能夠與現實世界場景進行結合與互動的技術。這種技術於1990年提出。隨著隨身電子產品運算能力的提升,增強現實的用途也越來越廣。
來源: 維基百科
Deep reinforcement learning
強化學習(Reinforcement Learning)是主體(agent)通過與周圍環境的互動來進行學習。強化學習主體(RL agent)每採取一次動作(action)就會得到一個相應的數值獎勵(numerical reward),這個獎勵表示此次動作的好壞。通過與環境的互動,綜合考慮過去的經驗(exploitation)和未知的探索(exploration),強化學習主體通過試錯的方式(trial and error)學會如何採取下一步的動作,而無需人類顯性地告訴它該採取哪個動作。強化學習主體的目標是學習通過執行一系列的動作來最大化累積的獎勵(accumulated reward)。 一般來說,真實世界中的強化學習問題包括巨大的狀態空間(state spaces)和動作空間(action spaces),傳統的強化學習方法會受限於維數災難(curse of dimensionality)。藉助於深度學習中的神經網路,強化學習主體可以直接從原始輸入資料(如遊戲影象)中提取和學習特徵知識,然後根據提取出的特徵資訊再利用傳統的強化學習演算法(如TD Learning,SARSA,Q-Learnin)學習控制策略(如遊戲策略),而無需人工提取或啟發式學習特徵。這種結合了深度學習的強化學習方法稱為深度強化學習。
來源: Scholarpedia
Mobile robot
移動機器人是一種能夠移動的自動機器。移動機器人具有在其環境中移動的能力,並且不固定到一個物理位置。移動機器人可以“自動”主要是指它們能夠在沒有物理或機電引導裝置的情況下導航非受控環境。相比之下,傳統的工業機器人或多或少都是固定的(stationary)機械臂或抓取元件。
來源: Wikipedia
prior knowledge
先驗(apriori ;也譯作 先天)在拉丁文中指“來自先前的東西”,或稍稍引申指“在經驗之前”。近代西方傳統中,認為先驗指無需經驗或先於經驗獲得的知識。先驗知識不依賴於經驗,比如,數學式子2+2=4;恆真命題“所有的單身漢一定沒有結婚”;以及來自純粹理性的推斷“本體論證明”
來源: 維基百科
Reinforcement learning
強化學習是一種試錯方法,其目標是讓軟體智慧體在特定環境中能夠採取回報最大化的行為。強化學習在馬爾可夫決策過程環境中主要使用的技術是動態規劃(Dynamic Programming)。流行的強化學習方法包括自適應動態規劃(ADP)、時間差分(TD)學習、狀態-動作-回報-狀態-動作(SARSA)演算法、Q 學習、深度強化學習(DQN);其應用包括下棋類遊戲、機器人控制和工作排程等。
來源:機器之心

機器之心編輯