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

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

3天內(nèi)不再提示

OpenAI開放模擬機器人環(huán)境和HER算法,讓機器人從失敗中學(xué)習(xí)

zhKF_jqr_AI ? 來源:未知 ? 作者:李建兵 ? 2018-03-16 11:02 ? 次閱讀

從錯誤中吸取教訓(xùn)是人類能長久保持優(yōu)勢的原因之一,即使我們做了失敗的嘗試,但至少有一部分是正確的,總結(jié)經(jīng)驗后也能成功。

機器人也可以使用類似的試錯法學(xué)習(xí)新任務(wù)。通過強化學(xué)習(xí),機器人嘗試用不同的方法做一件事,如果嘗試的方法有效則會獲得獎勵。給予獎勵生成的強化,機器人會不斷嘗試直到成功到達目標(biāo)。

人與機器的不同之處在于我們?nèi)绾螐氖『统晒χ袑W(xué)習(xí),從中我們不僅知道哪些東西對實現(xiàn)目標(biāo)沒有幫助,而且能了解為什么失敗以及之后如何避免。這就使我們能比機器人更有效地學(xué)習(xí)。

今天,位于美國舊金山的人工智能研究機構(gòu)OpenAI發(fā)布了一款開源算法,名為Hindsight Experience Replay(HER),該算法將失敗作為成功的手段,讓機器人像人類一樣學(xué)習(xí)。

HER的重要特征是它能像人類一樣,即使沒有達到預(yù)期目標(biāo),但至少收獲了其他成果。那么為什么不假裝這就是最初想實現(xiàn)的目標(biāo)呢?

Spectrum IEEE的編輯Evan Ackerman用比喻具體形容了HER的原理:想像一下你正要擊打棒球,目標(biāo)是全壘打。但是在第一次擊球時,球出界了,雖然沒有做到全壘打,但是你卻知道了一種打出界球的方法。事后通過總結(jié),你可以這么想:“如果我的目標(biāo)就是打個出界球,那么剛剛的那一記擊球就是完美的!”雖然沒有打出全壘打,但仍然有了進步。

HER的另一個優(yōu)點是它使用了研究人員所稱的“稀疏獎勵”來指導(dǎo)學(xué)習(xí)。獎勵是我們?nèi)绾胃嬖V機器人它們的所作所為對強化學(xué)習(xí)是好事還是壞事。大多數(shù)強化學(xué)習(xí)算法使用的是“密集獎勵”,機器人根據(jù)完成目標(biāo)的程度獲得不同大小的cookies。這些cookies可以單獨獎勵任務(wù)的一個方面,并在某種程度上幫助指導(dǎo)機器人按照指示的方式學(xué)習(xí)。

密集獎勵很有效,但是部署起來卻有些麻煩,并且在有些情況下并不是那么實用。大多數(shù)應(yīng)用非常關(guān)注結(jié)果,并且出于實用的目的,你可以從中取得成功,也可能不成功。稀疏獎勵是指,機器人在成功后只得到一個cookie,這樣一來,該程序就更容易測量、編程和實施。但另一方面,這種方法可能會降低學(xué)習(xí)速度,因為機器人沒有獲得增量反饋,它只是被一遍又一遍地告訴“沒有cookie”,除非它非常幸運地偶然成功了。

這就是HER的基本原理:它讓機器人通過分散獎勵學(xué)習(xí),改變原本的目標(biāo),把每次嘗試行為都看做成功,所以機器人每次都能學(xué)到一些東西。

通過這種方法,強化學(xué)習(xí)算法可以獲得學(xué)習(xí)信號,因為它已經(jīng)實現(xiàn)了一些目標(biāo);即使它不是你原本想達到的目標(biāo),如果重復(fù)這個過程,最終機器人也會實現(xiàn)任意一種目標(biāo),包括最初真正的目標(biāo)。

下面的視頻是HER方法與其他深度學(xué)習(xí)方法在實踐中的對比,左邊是新開發(fā)的HER方法,右邊是T. Lillicrap等人于2015年提出的深度決定性策略梯度(DDPG)方法:

最終的結(jié)果對比差別非常大:

HandManipulateBlockRotateXYZ-v0上四個不同配置下的中位測試成功率(曲線)和四分位范圍(陰影部分)。數(shù)據(jù)繪制于訓(xùn)練時期,每種配置下每隔五個隨機種子就進行總結(jié)

帶有稀疏獎勵的DDPG+HER明顯優(yōu)于其他所有配置,并且只從稀疏獎勵中學(xué)習(xí)了成功策略來完成這項具有挑戰(zhàn)性的任務(wù)。有趣的是,帶有密集獎勵的DDPG+HER能夠?qū)W習(xí),但表現(xiàn)得卻不好。而Vanilla DDPG的兩種配置均不能學(xué)習(xí)。完整的實驗結(jié)果可以在論文中查看。

OpenAI此次發(fā)布了八個Gym模擬機器人環(huán)境(Gym是OpenAI用于開發(fā)和比較強化學(xué)習(xí)算法的工具包,它能教智能體各種任務(wù),比如走路、打乒乓球或玩彈球等),其中四個用于Fetch研究平臺,四個用于ShadowHand機器人,使用的是MuJoCo物理模擬引擎。

Fetch上的四個環(huán)境

機械臂末端以最快速度移動到目標(biāo)位置

擊中灰色目標(biāo),使其滑動到桌上一固定位置

用機械臂末端推動正方體使其到達目標(biāo)位置

機械臂抓取桌上的正方體,并停留在桌子上方某固定位置

ShadowHand上的四個環(huán)境

將拇指和另一個手指移動到指定位置

在手上翻轉(zhuǎn)正方體直到達到預(yù)期位置

在手上翻轉(zhuǎn)彩蛋直到達到預(yù)期位置

在手上轉(zhuǎn)筆直到達到預(yù)期位置

HER的問題

雖然HER對于學(xué)習(xí)稀疏獎勵的復(fù)雜任務(wù)是很有前景的方式,但它仍存在改進的空間。和OpenAI最近發(fā)布的Request for Research 2.0相似,研究人員針對HER的進步提出了一下幾條想法:

事后自動創(chuàng)建目標(biāo)。目前的HER使用硬編碼策略選擇目標(biāo),如果算法可以自動學(xué)習(xí)應(yīng)該會很有趣。

無偏差HER。替換目標(biāo)以無原則的方式改變了經(jīng)驗的分布。這種偏差在理論上會導(dǎo)致不穩(wěn)定,盡管在實踐中還沒有遇到這種情況。

HER+HRL。將HER與最近推出的層次強化學(xué)習(xí)(HRL)結(jié)合起來一定很有趣。這樣一來,HER不僅僅可以應(yīng)用到目標(biāo)上,還能應(yīng)用到較高層次的策略生成的動作上。例如,如果較高層次命令低層次實現(xiàn)目標(biāo)A,結(jié)果實現(xiàn)了目標(biāo)B,那么我們可以假設(shè)高層次原本命令的是目標(biāo)B。

更豐富的價值函數(shù)。擴展最近的研究,并在額外的輸入上調(diào)整價值函數(shù),例如折扣因子或成功閾值。

更快的信息傳播。大多數(shù)off-policy深度強化學(xué)習(xí)算法使用目標(biāo)網(wǎng)絡(luò)來穩(wěn)定訓(xùn)練。然而,由于改變需要時間傳播,就會限制訓(xùn)練的速度。我們注意到在我們的實驗中,這是決定DDPG+HER學(xué)習(xí)速度最重要的因素。

HER+多步驟回報。由于我們更換了目標(biāo),HER上的實驗是off-policy的。所以用多步驟回報使用它就變得困難了。然而,多步驟回報能讓信息傳播的速度更快,所以也是可行的。

On-policy HER。目前,HER只能與off-policy算法一起使用。但是,最近的算法如PPO的穩(wěn)定性非常好。所以我們可以研究一下HER能否與on-policy算法一起使用。

高頻動作的強化學(xué)習(xí)。目前的強化學(xué)習(xí)算法對動作過多的案例十分敏感,這就是為什么跳幀技術(shù)經(jīng)常用于雅達利游戲。在連續(xù)控制領(lǐng)域,動作頻率越趨近于無窮,性能則越趨近于零。這是由兩個因素造成的:不一致的探索,和需要多次引導(dǎo)來傳播信息。

將HER與強化學(xué)習(xí)的最近進展相結(jié)合。最近,強化學(xué)習(xí)在多個方面都有了很大進步,它可以和優(yōu)先經(jīng)驗回放(Prioritized Experience Replay)、分布強化學(xué)習(xí)(distributional RL)以及entropy-regularized RL或反向課程生成相結(jié)合。

在論文中你可以找到關(guān)于新Gym環(huán)境應(yīng)用的更多信息。

使用基于目標(biāo)的環(huán)境

引入“目標(biāo)”概念需要對現(xiàn)有Gym的API進行一些反向兼容更改:

所有基于目標(biāo)的環(huán)境使用gym.spaces.Dict觀察空間。環(huán)境需要包含一個智能體嘗試達到的預(yù)期目標(biāo)(desired_goal)、一個目前已經(jīng)達到的目標(biāo)(achieved_goal)、以及實際觀察(observation),例如機器人的狀態(tài)。

我們公開環(huán)境的獎勵函數(shù)以重新計算更換目標(biāo)之后的獎勵。

下面是在新的基于目標(biāo)的環(huán)境中,執(zhí)行目標(biāo)替換時的簡單例子:

import numpy as np

import gym

env = gym.make('FetchReach-v0')

obs = env.reset()

done = False

def policy(observation, desired_goal):

# Here you would implement your smarter policy. In this case,

# we just sample random actions.

return env.action_space.sample()

whilenotdone:

action = policy(obs['observation'], obs['desired_goal'])

obs, reward, done, info = env.step(action)

# If we want, we can substitute a goal here and re-compute

# the reward. For instance, we can just pretend that the desired

# goal was what we achieved all along.

substitute_goal = obs['achieved_goal'].copy()

substitute_reward = env.compute_reward(

obs['achieved_goal'], substitute_goal, info)

print('reward is {}, substitute_reward is {}'.format(

reward, substitute_reward))

新的環(huán)境可以使用與Gym兼容的強化學(xué)習(xí)算法,如Baselines。用gym.wrappers.FlattenDictWrapper將基于字典的觀察空間壓縮成一個數(shù)組。

import numpy as np

import gym

env = gym.make('FetchReach-v0')

# Simply wrap the goal-based environment using FlattenDictWrapper

# and specify the keys that you would like to use.

env = gym.wrappers.FlattenDictWrapper(

env, dict_keys=['observation', 'desired_goal'])

# From now on, you can use the wrapper env as per usual:

ob = env.reset()

print(ob.shape) # is now just an np.array

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

    關(guān)注

    23

    文章

    4577

    瀏覽量

    92349
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    29399

    瀏覽量

    267695
  • 人工智能
    +關(guān)注

    關(guān)注

    1789

    文章

    46368

    瀏覽量

    236541

原文標(biāo)題:OpenAI開放模擬機器人環(huán)境和HER算法,讓機器人從失敗中學(xué)習(xí)

文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    機器人仿真的類型和優(yōu)勢

    機器人仿真使機器人工程師和研究人員能夠創(chuàng)建機器人及其環(huán)境的虛擬模型。這項技術(shù)支持在仿真的無風(fēng)險環(huán)境中測試和驗證
    的頭像 發(fā)表于 10-14 10:43 ?244次閱讀
    <b class='flag-5'>機器人</b>仿真的類型和優(yōu)勢

    開源項目!用ESP32做一個可愛的無用機器人

    簡介 作者在完成碩士論文答辯后,利用空閑時間制作了一個他一直想做的機器人——可愛無用機器人。 無用機器人原理是一個連接到開關(guān)的電機,通過邏輯門控制。當(dāng)開關(guān)被推到“開”時,機器人啟動
    發(fā)表于 09-03 09:34

    ROS機器人開發(fā)更便捷,基于RK3568J+Debian系統(tǒng)發(fā)布!

    。 ROS系統(tǒng)主要特點有哪些 (1) 提供豐富的機器人算法機器人的各種控制以及通信離不開算法庫的支持,ROS系統(tǒng)提供豐富且功能強大的機器人
    發(fā)表于 07-09 11:38

    Al大模型機器人

    和迭代來不斷改進自身性能。它們可以用戶交互中學(xué)習(xí)并根據(jù)反饋進行調(diào)整,以提高對話質(zhì)量和準確性??啥ㄖ菩耘c整合性: AI大模型機器人可以根據(jù)特定需求進行定制和整合,以滿足不同場景和應(yīng)用的要求。它們可以與其
    發(fā)表于 07-05 08:52

    機器人視覺的應(yīng)用范圍

    機器人視覺是一種將計算機視覺技術(shù)應(yīng)用于機器人領(lǐng)域的技術(shù),它使得機器人能夠感知和理解周圍環(huán)境,實現(xiàn)自主決策和執(zhí)行任務(wù)。隨著人工智能、機器
    的頭像 發(fā)表于 07-04 11:33 ?415次閱讀

    基于FPGA EtherCAT的六自由度機器人視覺伺服控制設(shè)計

    、Zynq和攝像頭為硬件基礎(chǔ),搭建了六自由度機器人視覺平臺。 (2)設(shè)計了基于 FPGA的視覺檢測方案。利用 西林提供的 HLS和CV庫對攝像頭采集到的像素流進行實時處理,并設(shè)計了一套識別物塊坐標(biāo)
    發(fā)表于 05-29 16:17

    其利天下技術(shù)·搭載無刷電機的掃地機器人的前景如何?

    隨著人工智能和物聯(lián)網(wǎng)技術(shù)的不斷進步,掃地機器人的智能化程度也在不斷提高?,F(xiàn)代掃地機器人已經(jīng)可以通過智能識別、規(guī)劃路徑和自主避障等技術(shù),實現(xiàn)更為精準的清潔。它們可以根據(jù)家居環(huán)境自動調(diào)整清潔策略,如識別
    發(fā)表于 05-05 15:03

    Figure首發(fā)OpenAI大模型加持的機器人

    近日,機器人初創(chuàng)公司Figure在業(yè)界引起了廣泛關(guān)注,該公司成功發(fā)布了首個由OpenAI大模型加持的機器人demo。這一創(chuàng)新成果不僅展示了Figure在機器人技術(shù)領(lǐng)域的深厚實力,也為整
    的頭像 發(fā)表于 03-16 14:21 ?992次閱讀

    特種機器人的定義與分類

    相對于一般的工業(yè)機器人及家用服務(wù)機器人,特種機器人的工作環(huán)境和作業(yè)條件更為復(fù)雜,對機器人結(jié)構(gòu)和功能也提出了更高的要求。因此,未來特種
    發(fā)表于 01-04 11:42 ?1426次閱讀
    特種<b class='flag-5'>機器人</b>的定義與分類

    LabVIEW的六軸工業(yè)機器人運動控制系統(tǒng)

    環(huán)境中,對機器人進行了正逆運動學(xué)仿真測試。接著,對單軸和多軸伺服系統(tǒng)進行了控制測試,最終實現(xiàn)了機器人的軌跡規(guī)劃實體控制。 在整個項目中,LabVIEW的功能被充分利用,特別是在算法實現(xiàn)
    發(fā)表于 12-21 20:03

    機器人實現(xiàn)開發(fā)自由,探索精密工藝的機器人關(guān)節(jié)模組

    機器人關(guān)節(jié)是作為機器人各個部件之間相互連接的節(jié)點,提供了必要的運動自由度。關(guān)節(jié)模組用其精確度和可靠性,確保了機器人在各個領(lǐng)域的高效率和高質(zhì)量表現(xiàn)。一體化關(guān)節(jié)使得機器人能夠
    的頭像 發(fā)表于 12-08 15:35 ?434次閱讀

    大模型入局機器人領(lǐng)域 機器人行業(yè)將迎新機遇

    自主學(xué)習(xí)能力的提升,即不斷地與環(huán)境交互和大量的數(shù)據(jù)中學(xué)習(xí),不斷優(yōu)化自己的模型和算法,提高自己的性能和適應(yīng)性,這將使得
    發(fā)表于 12-06 09:41 ?224次閱讀

    ROS機器人開發(fā)更便捷,基于RK3568J+Debian系統(tǒng)發(fā)布!

    領(lǐng)域的集大成者,主要應(yīng)用于機器人控制領(lǐng)域,如AGV工業(yè)機器人控制器、智能機械臂控制器、機器人導(dǎo)航系統(tǒng)等。 ROS系統(tǒng)主要特點有哪些 (1) 提供豐富的機器人
    發(fā)表于 11-30 16:01

    機器人建模方法和組成

    URDF:機器人建模方法 ROS是機器人操作系統(tǒng),當(dāng)然要給機器人使用啦,不過在使用之前,還得ROS認識下我們使用的機器人,如何把一個
    的頭像 發(fā)表于 11-22 16:30 ?810次閱讀
    <b class='flag-5'>機器人</b>建模方法和組成

    機器人編程需要什么軟件?

    機器人編程需要什么軟件
    發(fā)表于 11-01 07:34