0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

全新的強化學習算法:柔性致動/評價(soft actor-critic,SAC)

nlfO_thejiangme ? 來源:lq ? 2018-12-20 10:31 ? 次閱讀

伯克利和谷歌大腦的研究人員近日發(fā)表了全新的強化學習算法:柔性致動/評價(soft actor-critic,SAC)。作者表示,作為目前高效的model-free算法,十分適用于真實世界中的機器人任務學習。在這篇文章中,將詳細比較SAC與前沿強化學習算法的性能,并利用多個實際任務作為例子來展示最新算法的能力。這一算法還包含完整詳細的源碼實現(xiàn)供研究者學習和使用。

適用于真實機器人的深度強化學習

真實世界中理想的強化學習算法應該具有什么樣的特性呢?與虛擬和實驗室環(huán)境相比,真實情況將為算法帶來一系列挑戰(zhàn)。包括通信和數(shù)據(jù)流連續(xù)中斷、低延時的推理、為避免設備機械損傷需要盡可能平滑連續(xù)的運動等,這些都為算法本身及其實現(xiàn)帶來了更多的要求。研究人員通常希望應用在真實世界中的算法具有以下優(yōu)點:

·樣本效率。在真實世界中學習技能是耗時的任務,對于每一個新任務的學習都需要多次試錯,學習一個新技能所需的總時間會十分可觀,所以良好的樣本復雜度是一個優(yōu)秀算法的先決條件。

·對超參數(shù)不敏感。真實世界中研究人員希望避免參數(shù)調整,而最大化交叉熵的強化學習提供了一個魯棒的學習框架來最小化超參數(shù)調節(jié)的需求。

·Off-policy學習。解耦策略(off-policy)學習意味著可以使用其他任務場景收集的數(shù)據(jù)來學習,例如在準備新任務時只需要調整參數(shù)和獎勵函數(shù),而解耦策略則允許復用已經(jīng)收集好的數(shù)據(jù)來訓練算法。SAC是一個解耦策略(off-policy)和自由模型(model-free)深度強化學習算法。它不僅涵蓋了上述優(yōu)點,同時其樣本效率足夠在幾小時內解決真實世界的機器人學習問題。此外其超參數(shù)十分魯棒,只需要單一的超參數(shù)集就可以在不同的模擬環(huán)境中獲得良好的表現(xiàn)。更為重要的是這一算法的實現(xiàn)還包含了以下特點,為真實世界的機器人學習提供了重要的作用:

·異步采樣;需要足夠快的推理來最小化控制環(huán)中的延時,同時也希望在執(zhí)行過程中進行訓練。所以在實際情況中數(shù)據(jù)采樣和實際訓練應該由獨立的線程或進程運行;

·停止/假設訓練;真實硬件中將會面臨一系列錯誤情況,需要考慮數(shù)據(jù)流連續(xù)中斷的情況;

·運動平滑.典型的高斯探索(exploration)將會導致致動器產(chǎn)生抖動,這會對硬件造成不利的影響甚至損傷驅動器和機械結構,所以在實際中研究人員使用了探索的時域相關性來有效緩解這一問題。

SAC

SAC基于最大熵強化學習框架,其中的熵增目標如下所示:

其中s和a是狀態(tài)和行動,期望則包含了策略和來自真實系統(tǒng)的動力學性能。換句話說,優(yōu)化策略不僅最大化期望(第一項),同時還最大化期望的熵(第二項)。其中的參數(shù)α平衡了這兩項對于結果的影響,當α為0時上式就退化為傳統(tǒng)的預期回報目標函數(shù)。研究人員認為可以將上述目標函數(shù)視為熵約束的最大化預期回報,通過自動學習α參數(shù)來代替超參數(shù)。我們可以從多個角度解釋這一目標函數(shù)。既可以將熵看作是策略的先驗,也可以將其視為正則項,同時也可以看作是探索(最大化熵)和利用(最大化回報)間的平衡。SAC通過神經(jīng)網(wǎng)絡參數(shù)化高斯策略和Q函數(shù)來最大化這一目標函數(shù),并利用近似動力學編程來進行優(yōu)化。基于這一目標函數(shù)研究人員推導出了更好的強化學習算法,使其性能更加穩(wěn)定,并且達到足夠高的樣本效率來應用到真實機器人中。

模擬基準

為了評價新型算法的表現(xiàn),研究人員首先在仿真環(huán)境中利用標準的基準任務來對SAC進行了評測,并與深度確定性策略梯度算法(DDPG),孿生延遲深度確定性策略梯度算法(TD3),鄰近策略優(yōu)化(PPO)等算法進行了比較。幾種算法在三種基本的模擬移動任務上進行了性能比較,分別是豹,螞蟻和人形。

三種移動仿真任務

下圖描述了幾個算法在三個不同任務中的表現(xiàn),其中實線表示算法的平均回報而陰影則描述了算法表現(xiàn)的范圍,包含了最好和最壞的表現(xiàn)。SAC算法在下圖中由藍色表示,可以看到它的效果最好。更重要的是在最壞的情況下,它還可以保持較好的表現(xiàn)(這意味著在某些極端糟糕的情況下還能保持魯棒性)。

真實世界中的深度強化學習

為了檢驗算法在真實世界中的能力,研究人員在不依賴仿真或者試教的情況下從零開始讓機器人學習解決三個任務。第一個任務中利用了小型四足機器人米諾陶,它擁有八個直驅致動器。其運動空間由擺角和每條腿的延伸部分構成,將運動映射到期望的電機位置,并利用PD控制器進行跟蹤。其觀測數(shù)據(jù)包括電機角度、滾轉角度、俯仰角度以及基體的角速度。這一任務中欠驅動的機器人需要精巧地平衡腿部接觸力大小來實現(xiàn)移動。沒有訓練過的機器人將會失去平衡并摔倒,摔倒太多次的試錯將會損壞機器人,所以樣本效率是算法的關鍵。下面展示了學習后的算法表現(xiàn),雖然在平面上對機器人進行的訓練,但在測試時的不同崎嶇、動態(tài)的地形上也獲得的較好的結果。這主要來源于SAC學習到了魯棒的策略,訓練時的熵最大化使得策略可以很好地泛化這些地形的擾動而無需額外的訓練過程。

適應多種路況的米諾陶

第二個項目是利用三指靈巧手來旋轉一個閥門的任務。其中機械手有9個自由度,由9個舵機控制。學習出的策略將向PID控制器發(fā)送關節(jié)的目標角度來實現(xiàn)控制。為了感知到閥的位置,機器人需要機遇下圖中右下角的原始RGB圖像來獲取信息。機器人的目標是將閥帶有顏色的一邊旋轉到下圖所示的位置。閥由一個獨立的電機控制,并按照均勻分布每次初始化到不同的位置(電機的位置同時也為訓練提供了基準)。這將強制策略從原始的RGB中學習到閥當前的朝向。這一任務也由于需要同時感知RGB圖像和對九個自由度的控制而增加了難度。

轉動閥門的靈巧手

在最后的任務中,研究人員將訓練7自由度的Sawyer來堆疊樂高塊。策略接收的信號包括關節(jié)的角度的速度以及末端執(zhí)行器的力作為輸入,同時輸出每個關節(jié)的力矩來控制機器人。這個任務中最大的挑戰(zhàn)在于需要先準確的對好積木間的位置,隨后再用力克服插入的摩擦來安放積木。

堆樂高的Sawyer

SAC算法對于上面三個任務都給出了較快的解決:其中米諾陶全地形行走和Sawyer碼積木只用了兩個小時的訓練時間,而靈巧手擰閥門則使用了20個小時。如果直接把閥門的角度告訴機器人而不是通過圖像去學習,則只需要三個小時就能學會。而之前的PPO算法則需要7.4小時才能通過角度學會擰閥門。

實用化的DeepRL

SAC算法是深度強化學習實用化的關鍵一步,雖然在更具挑戰(zhàn)的場景和更大規(guī)模的情況下使用還需要很多的工作和研究,但SAC給出的結果已經(jīng)讓真實世界中的機器人向期待的目標邁出了關鍵的一步,這對于強化學習在機器人領域的實用化具有十分重要的意義。如果小伙伴們想了解更多,請移步項目主頁:https://sites.google.com/view/sac-and-applications同時,研究人員們還將大部分著名的機器人強化學習算法打包成了一個工具包rlkit,其中就包含了本文的SAC算法。開源不久目前已經(jīng)在git上收獲了384顆星。

可以直接利用conda運行配置環(huán)境就可以直接開始愉快的玩耍了。https://github.com/vitchyr/rlkit此外還有一個利用PyTorch實現(xiàn)SAC的版本:https://github.com/rail-berkeley/softlearning以及:https://github.com/haarnoja/sac

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 機器人
    +關注

    關注

    210

    文章

    27990

    瀏覽量

    205546
  • 神經(jīng)網(wǎng)絡

    關注

    42

    文章

    4724

    瀏覽量

    100310
  • 強化學習
    +關注

    關注

    4

    文章

    264

    瀏覽量

    11182

原文標題:Soft Actor-Critic——用于真實機器人的高效深度強化學習算法

文章出處:【微信號:thejiangmen,微信公眾號:將門創(chuàng)投】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    什么是深度強化學習?深度強化學習算法應用分析

    什么是深度強化學習? 眾所周知,人類擅長解決各種挑戰(zhàn)性的問題,從低級的運動控制(如:步行、跑步、打網(wǎng)球)到高級的認知任務。
    發(fā)表于 07-01 10:29 ?1367次閱讀
    什么是深度<b class='flag-5'>強化學習</b>?深度<b class='flag-5'>強化學習</b><b class='flag-5'>算法</b>應用分析

    反向強化學習的思路

    強化學習的另一種策略(二)
    發(fā)表于 04-03 12:10

    AC算法的實現(xiàn)

    Keras深度強化學習--Actor-Critic實現(xiàn)
    發(fā)表于 08-02 06:51

    深度強化學習實戰(zhàn)

    內容2:課程一: TensoRFlow入門到熟練:課程二:圖像分類:課程三:物體檢測:課程四:人臉識別:課程五:算法實現(xiàn):1、卷積神經(jīng)網(wǎng)絡CNN2、循環(huán)神經(jīng)網(wǎng)絡RNN3、強化學習DRL4、對抗性生成
    發(fā)表于 01-10 13:42

    深度學習技術的開發(fā)與應用

    時間安排大綱具體內容實操案例三天關鍵點1.強化學習的發(fā)展歷程2.馬爾可夫決策過程3.動態(tài)規(guī)劃4.無模型預測學習5.無模型控制學習6.價值函數(shù)逼近7.策略梯度方法8.深度強化學習-DQN
    發(fā)表于 04-21 14:57

    將深度學習強化學習相結合的深度強化學習DRL

    深度強化學習DRL自提出以來, 已在理論和應用方面均取得了顯著的成果。尤其是谷歌DeepMind團隊基于深度強化學習DRL研發(fā)的AlphaGo,將深度強化學習DRL成推上新的熱點和高度,成為人工智能歷史上一個新的里程碑。因此,深
    發(fā)表于 06-29 18:36 ?2.8w次閱讀

    人工智能機器學習強化學習

    強化學習是智能系統(tǒng)從環(huán)境到行為映射的學習,以使獎勵信號(強化信號)函數(shù)值最大,強化學習不同于連接主義學習中的監(jiān)督
    發(fā)表于 05-30 06:53 ?1380次閱讀

    基于強化學習的MADDPG算法原理及實現(xiàn)

    之前接觸的強化學習算法都是單個智能體的強化學習算法,但是也有很多重要的應用場景牽涉到多個智能體之間的交互。
    的頭像 發(fā)表于 11-02 16:18 ?2.2w次閱讀

    如何構建強化學習模型來訓練無人車算法

    本文作者通過簡單的方式構建了強化學習模型來訓練無人車算法,可以為初學者提供快速入門的經(jīng)驗。
    的頭像 發(fā)表于 11-12 14:47 ?4805次閱讀

    谷歌和UC伯克利的新式Actor-Critic算法快速在真實世界訓練機器人

    近期,谷歌 AI 與 UC 伯克利大學合作研發(fā)了一種新的強化學習算法 Soft Actor-CriticSAC)。這是一種穩(wěn)定、高效的深度
    發(fā)表于 02-05 09:51 ?934次閱讀

    一個基于TF2.0的強化學習訓練工具

    目前,Huskarl 已經(jīng)支持了 DQN(Deep Q-Learning Network)、Multi-step DQN、Double DQN、A2C(Advantage Actor-Critic
    的頭像 發(fā)表于 02-25 09:28 ?3406次閱讀
    一個基于TF2.0的<b class='flag-5'>強化學習</b>訓練工具

    基于PPO強化學習算法的AI應用案例

    Viet Nguyen就是其中一個。這位來自德國的程序員表示自己只玩到了第9個關卡。因此,他決定利用強化學習AI算法來幫他完成未通關的遺憾。
    發(fā)表于 07-29 09:30 ?2715次閱讀

    機器學習中的無模型強化學習算法及研究綜述

    強化學習( Reinforcement learning,RL)作為機器學習領域中與監(jiān)督學習、無監(jiān)督學習并列的第三種學習范式,通過與環(huán)境進行
    發(fā)表于 04-08 11:41 ?11次下載
    機器<b class='flag-5'>學習</b>中的無模型<b class='flag-5'>強化學習</b><b class='flag-5'>算法</b>及研究綜述

    徹底改變算法交易:強化學習的力量

    強化學習(RL)是人工智能的一個子領域,專注于決策過程。與其他形式的機器學習相比,強化學習模型通過與環(huán)境交互并以獎勵或懲罰的形式接收反饋來學習
    發(fā)表于 06-09 09:23 ?480次閱讀

    基于強化學習的目標檢測算法案例

    摘要:基于強化學習的目標檢測算法在檢測過程中通常采用預定義搜索行為,其產(chǎn)生的候選區(qū)域形狀和尺寸變化單一,導致目標檢測精確度較低。為此,在基于深度強化學習的視覺目標檢測算法基礎上,提出聯(lián)
    發(fā)表于 07-19 14:35 ?0次下載