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

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

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

深度強化學(xué)習(xí)大神Pieter Abbeel發(fā)表深度強化學(xué)習(xí)的加速方法

DPVg_AI_era ? 來源:lq ? 2019-02-13 09:31 ? 次閱讀

深度強化學(xué)習(xí)一直以來都以智能體訓(xùn)練時間長、計算力需求大、模型收斂慢等而限制很多人去學(xué)習(xí),比如:AlphaZero訓(xùn)練3天的時間等,因此縮短訓(xùn)練周轉(zhuǎn)時間成為一個重要話題。

加州大學(xué)伯克利分校教授,Pieter Abbeel最近發(fā)表了深度強化學(xué)習(xí)的加速方法,他從整體上提出了一個加速深度強化學(xué)習(xí)周轉(zhuǎn)時間的方法,成功的解決了一些問題。

論文地址: https://arxiv.org/pdf/1803.02811.pdf

最近幾年,深度強化學(xué)習(xí)在各行各業(yè)已經(jīng)有了很成功的應(yīng)用,但實驗的周轉(zhuǎn)時間(turn-around time)仍然是研究和實踐中的一個關(guān)鍵瓶頸。

該論文研究如何在現(xiàn)有計算機上優(yōu)化現(xiàn)有深度RL算法,特別是CPUGPU的組合。

且作者確認可以調(diào)整策略梯度和Q值學(xué)習(xí)算法以學(xué)習(xí)使用許多并行模擬器實例。 通過他們進一步發(fā)現(xiàn)可以使用比標準尺寸大得多的批量進行訓(xùn)練,而不會對樣品復(fù)雜性或最終性能產(chǎn)生負面影響。

同時他們利用這些事實來構(gòu)建一個統(tǒng)一的并行化框架,從而大大加快了兩類算法的實驗。 所有神經(jīng)網(wǎng)絡(luò)計算都使用GPU,加速數(shù)據(jù)收集和訓(xùn)練。

在使用同步和異步算法的基礎(chǔ)上,結(jié)果標明在使用整個DGX-1在幾分鐘內(nèi)學(xué)習(xí)Atari游戲中的成功策略。

注: 【1】 周轉(zhuǎn)時間(turnaround time):訓(xùn)練模型的時間?!?】. Nvidia DGX-1是Nvidia生產(chǎn)的服務(wù)器和工作站系列,專門用于使用GPGPU加速深度學(xué)習(xí)應(yīng)用程序。這些服務(wù)器具有8個GPU,基于帶有HBM 2內(nèi)存的Pascal或Volta 子卡,通過NVLink 網(wǎng)狀網(wǎng)絡(luò)連接。該產(chǎn)品系列旨在彌合GPU和AI加速器之間的差距,因為該設(shè)備具有專門用于深度學(xué)習(xí)工作負載的特定功能。最初的基于Pascal的DGX-1提供了170 teraflops的半精度處理,而基于Volta的升級將其提高到960 teraflops。更多信息,點擊查看

背景和相關(guān)內(nèi)容

目前的深度強化學(xué)習(xí)嚴重依賴于經(jīng)驗評估,因此turnaround 時間成為一個關(guān)鍵的限制因素,盡管存在這一重要瓶頸,但許多參考實施方案不能滿足現(xiàn)代計算機的吞吐量潛力,在這項工作中,作者研究如何在不改變其基本公式的情況下調(diào)整深度RL算法,并在一臺機器中更好地利用多個CPU和GPU進行實驗。 結(jié)果標明,顯著提高了硬件利用率的效率和規(guī)模,從而提高了學(xué)習(xí)速度。

今天比較領(lǐng)先的深度RL算法大致分為兩類:

策略梯度方法 ,以Asynchronous Advantage Actor-Critic(A3C)(Mnih et al 2016)是一個代表性的例子

Q值學(xué)習(xí)方法 ,一個代表性的例子是Deep Q-Networks(DQN)(Mnih等,2015)

傳統(tǒng)上,這兩個系列出現(xiàn)在不同的實現(xiàn)中并使用不同的硬件資源,該篇paper作者將它們統(tǒng)一在相同的擴展框架下。

作者貢獻了并行化深度RL的框架,包括用于推理和訓(xùn)練的GPU加速的新技術(shù)。演示了以下算法的多GPU版本:Advantage Actor-Critic(A3C),Proximal Policy Optimization(PPO),DQN,Categorical DQN和Rainbow。

為了提供校準結(jié)果,作者通過Arcade學(xué)習(xí)環(huán)境(ALE)測試我們在重度基準測試的Atari-2600域中的實現(xiàn)。

同時使用批量推斷的高度并行采樣可以加速所有實驗的(turnaround)周轉(zhuǎn)時間,同時發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)可以使用比標準大得多的批量大小來學(xué)習(xí),而不會損害樣本復(fù)雜性或最終游戲分數(shù)。

除了探索這些新的學(xué)習(xí)方式之外,作者還利用它們來大大加快學(xué)習(xí)速度。例如, 策略梯度算法在8-GPU服務(wù)器上運行,在10分鐘內(nèi)學(xué)會成功的游戲策略,而不是數(shù)小時。

他們同樣將一些標準Q值學(xué)習(xí)的持續(xù)時間從10天減少到2小時以下。或者,獨立的RL實驗可以與每臺計算機的高聚合吞吐量并行運行。相信這些結(jié)果有望加速深度研究,并為進一步研究和發(fā)展提出建議。

另外,作者對演員評論方法的貢獻在很多方面超越了目前的很多人做法,他們主要做了:“”改進抽樣組織,使用多個GPU大大提高規(guī)模和速度,以及包含異步優(yōu)化。

并行,加速的RL框架

作者考慮使用深度神經(jīng)網(wǎng)絡(luò)來實驗基于CPU的模擬器環(huán)境和策略,在這里描述了一套完整的深度RL并行化技術(shù),可以在采樣和優(yōu)化過程中實現(xiàn)高吞吐量。

同時并對GPU進行均勻處理,每個都執(zhí)行相同的抽樣學(xué)習(xí)過程,該策略可以直接擴展到各種數(shù)量的GPU。

同步采樣(Synchronized Sampling)

首先將多個 CPU核心 與 單個GPU 相關(guān)聯(lián)。多個模擬器在CPU內(nèi)核上以并行進程運行,并且這些進程以同步方式執(zhí)行環(huán)境步驟。在每個步驟中,將所有單獨的觀察結(jié)果收集到批處理中以進行推理,在提交最后一個觀察結(jié)果后在GPU上調(diào)用該批處理。 一旦動作返回,模擬器再次步驟,依此類推,系統(tǒng)共享內(nèi)存陣列提供了動作服務(wù)器和模擬器進程之間的快速通信。

由于落后效應(yīng)等同于每一步的最慢過程,同步采樣可能會減速。步進時間的變化源于不同模擬器狀態(tài)的不同計算負載和其他隨機波動。隨著并行進程數(shù)量的增加,落后者效應(yīng)會惡化,但通過在每個進程中堆疊多個獨立的模擬器實例來緩解它。每個進程為每個推理批處理步驟(順序)執(zhí)行所有模擬器。這種安排還允許用于推斷的批量大小增加超過進程數(shù)(即CPU核心),其原理如圖1(a)所示。

通過僅在優(yōu)化暫停期間重置可以避免由長環(huán)境重置引起的減速,如果模擬和推理負載平衡,則每個組件將在一半的時間內(nèi)處于空閑狀態(tài),因此我們形成兩組交替的模擬器過程。當(dāng)一個組等待其下一個動作時,其他步驟和GPU在為每個組服務(wù)之間交替。交替保持高利用率,并且進一步隱藏兩者中較快的計算的執(zhí)行時間。我們通過重復(fù)模板組織多個GPU,均勻分配可用的CPU核心。我們發(fā)現(xiàn)修復(fù)每個模擬器進程的CPU分配是有益的,其中一個核心保留用于運行每個GPU。實驗部分包含采樣速度的測量值,該測量值隨環(huán)境實例的數(shù)量而增加。

同步多GPU優(yōu)化(Synchronous Multi-GPU Optimization)

在同步算法中,所有GPU都保持相同的參數(shù)值,利用隨機梯度估計的數(shù)據(jù)并行性并在每個GPU上使用眾所周知的更新程序:

使用本地采集的樣本計算梯度

全部減少GPU之間的梯度

使用組合梯度更新本地參數(shù)。我們使用NVIDIA集體通信庫在GPU之間進行快速通信。

異步多GPU優(yōu)化(Asynchronous Multi-GPU Optimization)

在異步優(yōu)化中,每個GPU充當(dāng)其自己的采樣器-學(xué)習(xí)器單元,并將更新應(yīng)用于CPU內(nèi)存中保存的中央?yún)?shù)存儲。

使用加速器會強制選擇執(zhí)行參數(shù)更新的位置。根據(jù)經(jīng)驗,在GPU上將更快的常見規(guī)則應(yīng)用于網(wǎng)絡(luò)更快。一般更新程序包括三個步驟:

在本地計算梯度并將其存儲在GPU上

將當(dāng)前中心參數(shù)拉到GPU上并使用預(yù)先計算的梯度將更新規(guī)則應(yīng)用于它們

寫入更新的參數(shù)回到中央CPU商店

在此序列之后,本地GPU參數(shù)與中心值同步,并且再次進行采樣,集中更新規(guī)則參數(shù)。其不會將更新增量添加到需要CPU計算的中心參數(shù),而是覆蓋這些值。

因此,采用上述步驟(2)和(3)的鎖定,防止其他進程同時讀取或?qū)懭雲(yún)?shù)值。同時將參數(shù)分成少量不相交的塊,這些塊分別更新,每個塊都有自己的鎖(步驟2-3成為塊上的循環(huán))。這可以平衡更新調(diào)用效率與鎖爭用,并可以提供良好的性能。

實驗

使用Atari-2600域來研究高度并行化RL的縮放特性,研究如下:

同步采樣的效率如何,它可以達到什么速度?

策略梯度和Qlearning算法是否可以適應(yīng)學(xué)習(xí)使用許多并行模擬器實例而不會降低學(xué)習(xí)成績

大批量培訓(xùn)和/或異步方法能否加快優(yōu)化速度而不會降低樣品的復(fù)雜性?

在所有學(xué)習(xí)實驗中,作者保持原始訓(xùn)練強度,意味著每個采樣數(shù)據(jù)點的平均訓(xùn)練使用次數(shù)。

對于A3C,PPO和DQN+變體,參考訓(xùn)練強度分別為1,4和8。此處顯示的所有學(xué)習(xí)曲線均為至少兩個隨機種子的平均值。

對于策略梯度方法,我們跟蹤在線分數(shù),對最近100個完成的軌跡進行平均。對于DQN和變體,我們每100萬步暫停以評估,直到達到125,000步,最大路徑長度為27,000步。

Sampling(采樣)

一系列僅采樣測量表明,盡管存在潛在的落后者,同步采樣方案可以實現(xiàn)良好的硬件利用率。

首先,我們研究了 單個GPU 在為多個環(huán)境提供推理時的容量。圖1(b)顯示了在播放BREAKOUT時在P100 GPU上運行訓(xùn)練有素的A3C-Net策略的測量結(jié)果。

通過CPU核心計數(shù)歸一化的聚合采樣速度被繪制為在每個核心上運行的(順序)Atari模擬器的數(shù)量的函數(shù),交替方案的最小值是每個核心2個模擬器。

不同的曲線表示運行模擬的不同數(shù)量的CPU核心。作為參考,我們包括在沒有推斷的情況下運行的單個核心的采樣速度--單個過程的虛線,以及兩個超線程中的每一個的虛線一個過程。

使用推理和單核運行,采樣速度隨著模擬器計數(shù)而增加,直到推斷時間完全隱藏。出現(xiàn)更高核心數(shù)的同步丟失。但是,每個核心只有8個環(huán)境,GPU甚至支持16個CPU內(nèi)核,運行速度大約為無推理速度的80%。

接下來,測量了在整個8-GPU,40核服務(wù)器上并行播放BREAKOUT的同一A3C-Net的僅采樣速度。

在模擬器計數(shù)為256(每個核心8個)及以上時,服務(wù)器每秒實現(xiàn)大于35,000個樣本,或每小時5億個仿真器幀,其結(jié)果如圖:

許多模擬器實例(Learning with Many Simulator Instances)

為了利用并行采樣的高吞吐量,同時研究了如何使用現(xiàn)有的深度RL算法來學(xué)習(xí)許多模擬器實例。

以下研究結(jié)果表明,只有微小的變化才能適應(yīng)所有算法并保持性能。我們?yōu)槊糠N算法嘗試了不同的技術(shù)。有趣的是,縮放對同步和異步學(xué)習(xí)的影響有所不同。

開始狀態(tài)解相關(guān)(Starting State Decorrelation) 在許多模擬器的一些策略梯度實驗中,學(xué)習(xí)很早就失敗了。

我們發(fā)現(xiàn)在起始游戲狀態(tài)中的相關(guān)性導(dǎo)致大的但知情度不足的學(xué)習(xí)信號,從而破壞了早期學(xué)習(xí)的穩(wěn)定性。

通過在實驗初始化期間通過隨機數(shù)量的均勻隨機動作步進每個模擬器來糾正此問題。采取這一措施時,發(fā)現(xiàn)學(xué)習(xí)率升溫沒有進一步的效果。在訓(xùn)練時,游戲重置照常進行。

A2C:優(yōu)化批量大小隨著模擬器的數(shù)量而增加(保持采樣范圍固定)。相應(yīng)地,每個采集的樣本進行的參數(shù)更新步驟更少,我們發(fā)現(xiàn),在一組測試游戲中,以批量大小的平方根增加學(xué)習(xí)率是最佳的。圖2的上圖顯示了學(xué)習(xí)曲線與總樣本數(shù),模擬器計數(shù)范圍為16到512(批量大小為80到2,560)。雖然大型模擬器計數(shù)的樣本效率逐漸下降,但游戲分數(shù)基本沒有變化。

A3C:我們測試的異步適應(yīng)使用16環(huán)境A2C代理作為基礎(chǔ)采樣器 - 學(xué)習(xí)器單元。圖2顯示學(xué)習(xí)曲線與學(xué)習(xí)者數(shù)量的總樣本計數(shù),范圍從1到32,4,對應(yīng)于16到512個模擬器。在大多數(shù)情況下,由此產(chǎn)生的學(xué)習(xí)曲線幾乎無法區(qū)分,盡管有些學(xué)習(xí)曲線在最大范圍內(nèi)降級。

PPO:已經(jīng)用于基準PPO的大批量(8模擬器x 256-horizon = 2,048)提供了與許多模擬器學(xué)習(xí)的不同途徑:我們減少了采樣范圍,使得總批量大小保持固定。圖2顯示了模擬器計數(shù)從8到512的學(xué)習(xí)曲線與樣本計數(shù),相應(yīng)的采樣范圍從256到4步。成功的學(xué)習(xí)繼續(xù)保持最大規(guī)模。

APPO:嘗試了PPO的異步版本,使用8模擬器PPO代理作為基礎(chǔ)學(xué)習(xí)器單元。圖2中的底部面板顯示了對8個GPU運行的8個學(xué)習(xí)者的研究的學(xué)習(xí)曲線,其中通信頻率不同。標準PPO每個時期使用4個梯度更新,每個優(yōu)化使用4個時期;我們在同步之間進行了1-4次漸變更新(補充材料中提供了更新規(guī)則)。我們發(fā)現(xiàn)在采樣期間定期從中心參數(shù)中提取新值是有幫助的,并且在所有情況下都采用64步的范圍(因此減少了異步技術(shù)中固有的策略滯后,PPO的頻率降低,但更頻繁,但更實質(zhì)性的更新) 。在幾個游戲中,學(xué)習(xí)保持一致,表明可以減少某些異步設(shè)置中的通信。

DQN + Variants:我們通過模擬器組織了體驗重放緩沖區(qū)??偩彌_區(qū)大小保持在1百萬次轉(zhuǎn)換,因此每個模擬器保持相應(yīng)較短的歷史記錄。我們觀察到學(xué)習(xí)性能在很大程度上獨立于模擬器計數(shù)高達200以上,前提是每個優(yōu)化周期的更新步驟數(shù)不是太多(大批量大小可以改善這一點)。

Q-Value Learning with Large Training Batches

DQN:我們試驗了從標準32到2,048的批量大小。我們發(fā)現(xiàn)一致的學(xué)習(xí)成績高達512,超過這一點,很難找到在所有測試游戲中表現(xiàn)良好的單一(縮放)學(xué)習(xí)率。在幾個游戲中,更大的批量大小改進了學(xué)習(xí),如圖3所示。

發(fā)現(xiàn)異步DQN可以使用多達4個GPU學(xué)習(xí)者很好地學(xué)習(xí),每個學(xué)習(xí)者使用批量大小512。

分類DQN:我們發(fā)現(xiàn)分類DQN比DQN進一步擴展。圖3的下顯示批量大小高達2,048的學(xué)習(xí)曲線,最大分數(shù)沒有減少。

這可能是由于梯度信號的內(nèi)容更豐富。值得注意的是,SEAQUEST游戲中最大批量的學(xué)習(xí)被延遲,但最終達到了更高的最高分。由于使用了Adam優(yōu)化器,因此沒有必要縮放學(xué)習(xí)率。

e-Rainbow:盡管使用了分布式學(xué)習(xí),但在某些游戲中,e-Rainbow的性能卻超過批量512。該批次大小的分數(shù)大致與批量大小為32的文獻中報道的分數(shù)相符(Hessel等,2017)(曲線顯示在附錄中)。

學(xué)習(xí)速度(Learning Speed)

研究運行8-GPU,40核服務(wù)器(P100 DGX-1),以學(xué)習(xí)單個游戲時可獲得的學(xué)習(xí)速度,作為大規(guī)模實施的示例。

圖4顯示了策略梯度方法A2C,A3C,PPO和APPO的良好性能配置的結(jié)果。幾場比賽表現(xiàn)出陡峭的初始學(xué)習(xí)階段;所有算法都在10分鐘內(nèi)完成了該階段。值得注意的是,PPO在4分鐘內(nèi)掌握了Pong。

具有256個環(huán)境的A2C每秒處理超過25,000個樣本,相當(dāng)于每小時超過9000萬步(3.6億幀)。表2列出了縮放測量,顯示使用8個GPU相對于1的加速比大于6倍。

我們運行了DQN及其變體的同步版本,訓(xùn)練時間如表2所示。使用1個GPU和5個CPU核心,DQN和e-Rainbow分別在8小時和14小時內(nèi)完成了5000萬步(2億幀),一個重要的獲得超過10天的參考時間。

后者使用1個GPU和376個CPU核心(參見例如圖2中的10小時學(xué)習(xí)曲線)。使用多個GPU和更多內(nèi)核加速了我們的實施。

憑借更大的批量大小,Categorical-DQN使用整個服務(wù)器在2小時內(nèi)完成最佳擴展和完成培訓(xùn),相對于1 GPU,速度超過6倍。

然而,DQN和e-Rainbow的回報減少超過2個GPU。我們無法找到進一步提高學(xué)習(xí)速度而不會在某些游戲中降低性能的異步配置(我們只測試了完全通信的算法)。可能存在改善我們擴展的機會。

批量大小對優(yōu)化的影響(Effects of Batch Size on Optimization)

限制培訓(xùn)批量大小的可能因素包括:

(1) 減少探索,因為在環(huán)境中運行的網(wǎng)絡(luò)較少

(2) 網(wǎng)絡(luò)權(quán)重的數(shù)值優(yōu)化存在困難

我們進行了實驗以開始識別這些因素。

二級學(xué)習(xí)者實驗(Secondary-Learner Experiment)

我們配置了一個輔助DQN學(xué)習(xí)器,僅使用普通DQN代理的重放緩沖區(qū)進行訓(xùn)練。

初級學(xué)習(xí)者使用與主要參數(shù)值相同的參數(shù)值進行初始化, “采樣器 - 學(xué)習(xí)器”,兩個網(wǎng)絡(luò)同時訓(xùn)練,數(shù)據(jù)消耗速率相同。每個人都抽樣自己的培訓(xùn)批次。

在BREAKOUT的游戲中,64和2048采樣器學(xué)習(xí)者獲得了相同的分數(shù),但是2048學(xué)習(xí)者需要更多的樣本,盡管使用最快的穩(wěn)定學(xué)習(xí)率(數(shù)字指的是訓(xùn)練批量大?。?。

當(dāng)使用2048樣本學(xué)習(xí)者訓(xùn)練64中學(xué)習(xí)者時,中學(xué)習(xí)者的分數(shù)跟蹤了初級學(xué)習(xí)者的分數(shù)。然而,在相反的情況下,2048中學(xué)生無法學(xué)習(xí)。

我們認為這是由于參數(shù)更新數(shù)量減少的優(yōu)化速度較慢 - 它無法跟蹤初始化附近的Q值估計的快速變化,并且變得過于偏離策略學(xué)習(xí)。

在使用兩個256學(xué)習(xí)者的相同測試中,他們的分數(shù)相匹配。如果2048年的二級學(xué)習(xí)者超過了2048年的樣本學(xué)習(xí)者,那么就會認為探索是一個比優(yōu)化更重要的因素。有關(guān)數(shù)據(jù),請參閱補充材料。

更新規(guī)則(Update Rule)

我們進行了一項實驗,以確定更新規(guī)則對分類DQN中的優(yōu)化的影響。我們發(fā)現(xiàn)Adam公式優(yōu)于RMSProp,為大批量學(xué)習(xí)者提供了在學(xué)習(xí)過程中遍歷參數(shù)空間的能力。

當(dāng)比較實現(xiàn)相同學(xué)習(xí)曲線的代理時,那些使用較小批量(并因此執(zhí)行更多更新步驟)的代理傾向于在訓(xùn)練中的所有點具有更大的參數(shù)矢量規(guī)范。

與RMSProp不同,Adam規(guī)則導(dǎo)致批量大小之間參數(shù)規(guī)范的相當(dāng)緊密的傳播,而不會改變學(xué)習(xí)率。

這解釋了在分類DQN和e-Rainbow中不需要縮放學(xué)習(xí)率,并且表明更新規(guī)則在縮放中起著重要作用。更多細節(jié),包括卷積和完全連通層的趨勢.

關(guān)于更新規(guī)則和批量大小規(guī)模的觀察的細節(jié)

我們在兩個不同的參數(shù)更新規(guī)則下提出了縮放訓(xùn)練批量大小對神經(jīng)網(wǎng)絡(luò)優(yōu)化的影響的觀察結(jié)果:Adam和RMSProp(沒有動量的RMSProp,只有平方梯度的直接累積,參見例如:

https://github.com/Lasagne/Lasagne/blob/master/lasagne/updates.py

我們在游戲Q * BERT上培訓(xùn)代理,調(diào)整學(xué)習(xí)率以產(chǎn)生非常相似的所有設(shè)置的性能曲線,并且我們在學(xué)習(xí)期間跟蹤了幾個量的L-2矢量規(guī)范。

這些包括漸變,參數(shù)更新步驟和參數(shù)值本身。與本文中的所有DQN實驗一樣,訓(xùn)練強度固定為8,因此學(xué)習(xí)期間參數(shù)更新步驟的數(shù)量與批量大小成反比。每個設(shè)置運行兩個隨機種子。

盡管整個訓(xùn)練過程中游戲分數(shù)大致相同,但在任何一點上找到的確切解決方案都沒有,正如不同的參數(shù)規(guī)范所證明的那樣。沒有使用正規(guī)化。

根據(jù)圖-8,其中曲線由批量大小和學(xué)習(xí)率標記。當(dāng)整體觀察網(wǎng)絡(luò)(即所有權(quán)重和偏差的規(guī)范作為單個向量)時,趨勢反映了在大多數(shù)權(quán)重為的FC-0中看到的趨勢。

(i)學(xué)習(xí)曲線:我們控制游戲得分,根據(jù)需要調(diào)整學(xué)習(xí)率。對于批量大小為64的RMSProp,我們考慮的學(xué)習(xí)率略低(1×10^(-4)),學(xué)習(xí)速度慢,最終得分較低,學(xué)習(xí)率略高(5*10^-4) ),由于不穩(wěn)定性而產(chǎn)生較低的最終得分 - 這些是所有面板中的虛線。

(ii)完全連接-0 Weights-Norm:盡管對所有設(shè)置使用相同的學(xué)習(xí)速率,但Adam優(yōu)化器產(chǎn)生了相當(dāng)緊密的分組。另一方面,RMSProp學(xué)習(xí)者需要在批量大小為64到1,024之間將學(xué)習(xí)率提高20倍,然后產(chǎn)生非常相似的規(guī)范。在批量大小64處,慢/不穩(wěn)定學(xué)習(xí)分別以小/大規(guī)范為特征。批量大小256次運行的大規(guī)范表明這種學(xué)習(xí)率可能接近穩(wěn)定性的上限。

(iii)完全連接-0梯度 - 范數(shù):在兩個更新規(guī)則下,大批量大小總是產(chǎn)生較小的梯度向量 - 減小的方差導(dǎo)致減小的量值。在查看總梯度范數(shù)時,我們還在策略梯度方法中觀察到了這種模式。這里,梯度的大小與參數(shù)范數(shù)成反比;請參閱RMSProp 64批量大小的曲線。這種效果與批量大小的影響相反并且被抵消了。

( iv)完全連接-0步驟規(guī)范:盡管梯度較小,但Adam優(yōu)化器為較大批量學(xué)習(xí)者產(chǎn)生了明顯更大的步長。 RMSProp需要調(diào)整學(xué)習(xí)率才能產(chǎn)生相同的效果。在兩個更新規(guī)則下,步長增加量并未完全補償步數(shù)的減少,這表明較大的批量學(xué)習(xí)者通過參數(shù)空間遵循更直的軌跡。 RMSProp總體上導(dǎo)致了更大的步驟,但盡管以較小的權(quán)重結(jié)束了學(xué)習(xí) - 其學(xué)習(xí)軌跡顯然不那么直接,更蜿蜒。

(v)卷積-0權(quán)重 - 范數(shù):亞當(dāng)優(yōu)化器在這里的規(guī)范中比在FC-0層中擴展得更多;隨著批量增加,學(xué)習(xí)重點從Conv-0轉(zhuǎn)移。但是在RMSProp中,學(xué)習(xí)率的提高導(dǎo)致第一個卷積層對于更大的批量大小變大,更加強調(diào)這一層。

(vi)卷積-0梯度 - 范數(shù):亞當(dāng)更新規(guī)則在梯度范數(shù)中產(chǎn)生了一個有趣的交叉;大批量學(xué)習(xí)者實際上開始走高,抵消了其他情況下看到的趨勢。 RMSProp下的模式與FC-0的模式相匹配。

(vii)卷積-0步驟范數(shù):與FC-0不同,步驟范數(shù)在Adam下的批量大小沒有顯著變化。 RMSProp產(chǎn)生了與FC-0類似的模式。總體而言,Adam優(yōu)化器似乎可以補償FC-0層中的批量大小,但在Conv-0層中則較少,導(dǎo)致Conv-0中大批量學(xué)習(xí)時不再強調(diào)。 RMSProp中學(xué)習(xí)率的提高補償了FC-0層中的批量大小,并增加了對Conv-0學(xué)習(xí)的重視程度。這種模式可能會對學(xué)習(xí)表示與游戲策略產(chǎn)生影響。對這些明顯趨勢的進一步研究可以深入了解學(xué)習(xí)退化的原因以及大批量RL的可能解決方案。

梯度估計飽和度(Gradient Estimate Saturation)

使用A2C,我們在每次迭代時測量正常,全批次梯度和僅使用批次的一半計算的梯度之間的關(guān)系。對于小批量試劑,測量的全批次和半批次梯度之間的平均余弦相似度接近1 =P2。

這意味著兩個半批漸變是正交的,高維空間中的零中心隨機向量也是正交的。 然而,對于大批量學(xué)習(xí)者(例如256個環(huán)境),余弦相似性在1 = p2之上顯著增加。 梯度估計的飽和度明顯與較差的樣本效率相關(guān),如圖2頂部的學(xué)習(xí)曲線所示。

總結(jié)

我們引入了一個統(tǒng)一的框架來并行化深度RL,它使用硬件加速器來實現(xiàn)快速學(xué)習(xí)。該框架適用于一系列算法,包括策略梯度和Q值學(xué)習(xí)方法。

我們的實驗表明,幾種領(lǐng)先的算法可以高度并行的方式學(xué)習(xí)各種Atari游戲,而不會損失樣本復(fù)雜性和前所未有的掛鐘時間。

該結(jié)果表明了顯著提高實驗規(guī)模的有希望的方向。我們將發(fā)布代碼庫。我們注意到擴展該框架的幾個方向。

首先是將其應(yīng)用于Atari以外的領(lǐng)域,尤其是涉及感知的領(lǐng)域。其次,由于GPU加速推理和訓(xùn)練,我們的框架很可能有利地擴展到更復(fù)雜的神經(jīng)網(wǎng)絡(luò)代理。

此外,隨著網(wǎng)絡(luò)復(fù)雜性的增加,擴展可能變得更容易,因為GPU可以以較小的批量大小有效地運行,盡管通信開銷可能會惡化。

降低精度算術(shù)可以加速學(xué)習(xí) - 由于使用基于CPU的推理,在深度RL中尚待探索的主題。當(dāng)前的單節(jié)點實現(xiàn)可以是用于分布式算法的構(gòu)建塊。

關(guān)于深度RL中可能的并行化程度的問題仍然存在。我們還沒有最終確定縮放的限制因素,也沒有確定每個游戲和算法是否相同。

雖然我們已經(jīng)看到大批量學(xué)習(xí)中的優(yōu)化效果,但其他因素仍然存在。異步擴展的限制仍未得到探索;我們沒有明確確定這些算法的最佳配置,但只提供了一些成功的版本。

更好的理解可以進一步提高縮放率,這是推動深度RL的一個有希望的方向。

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

    關(guān)注

    28

    文章

    4742

    瀏覽量

    128973
  • 模擬器
    +關(guān)注

    關(guān)注

    2

    文章

    877

    瀏覽量

    43246
  • 強化學(xué)習(xí)
    +關(guān)注

    關(guān)注

    4

    文章

    266

    瀏覽量

    11262

原文標題:Pieter Abbeel:深度強化學(xué)習(xí)加速方法

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

收藏 人收藏

    評論

    相關(guān)推薦

    什么是深度強化學(xué)習(xí)?深度強化學(xué)習(xí)算法應(yīng)用分析

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

    反向強化學(xué)習(xí)的思路

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

    深度強化學(xué)習(xí)實戰(zhàn)

    一:深度學(xué)習(xí)DeepLearning實戰(zhàn)時間地點:1 月 15日— 1 月18 日二:深度強化學(xué)習(xí)核心技術(shù)實戰(zhàn)時間地點: 1 月 27 日— 1 月30 日(第一天報到 授課三天;提前
    發(fā)表于 01-10 13:42

    深度學(xué)習(xí)強化學(xué)習(xí)相結(jié)合的深度強化學(xué)習(xí)DRL

    深度強化學(xué)習(xí)DRL自提出以來, 已在理論和應(yīng)用方面均取得了顯著的成果。尤其是谷歌DeepMind團隊基于深度強化學(xué)習(xí)DRL研發(fā)的AlphaGo,將
    發(fā)表于 06-29 18:36 ?2.8w次閱讀

    薩頓科普了強化學(xué)習(xí)、深度強化學(xué)習(xí),并談到了這項技術(shù)的潛力和發(fā)展方向

    薩頓在專訪中(再次)科普了強化學(xué)習(xí)、深度強化學(xué)習(xí),并談到了這項技術(shù)的潛力,以及接下來的發(fā)展方向:預(yù)測學(xué)習(xí)
    的頭像 發(fā)表于 12-27 09:07 ?1.1w次閱讀

    如何深度強化學(xué)習(xí) 人工智能和深度學(xué)習(xí)的進階

    傳統(tǒng)上,強化學(xué)習(xí)在人工智能領(lǐng)域占據(jù)著一個合適的地位。但強化學(xué)習(xí)在過去幾年已開始在很多人工智能計劃中發(fā)揮更大的作用。
    的頭像 發(fā)表于 03-03 14:16 ?4219次閱讀

    深度強化學(xué)習(xí)是否已經(jīng)到達盡頭?

    近日,Reddit一位網(wǎng)友根據(jù)近期OpenAI Five、AlphaStar的表現(xiàn),提出“深度強化學(xué)習(xí)是否已經(jīng)到達盡頭”的問題。
    的頭像 發(fā)表于 05-10 16:34 ?2537次閱讀

    深度強化學(xué)習(xí)的筆記資料免費下載

    本文檔的主要內(nèi)容詳細介紹的是深度強化學(xué)習(xí)的筆記資料免費下載。
    發(fā)表于 03-10 08:00 ?0次下載
    <b class='flag-5'>深度</b><b class='flag-5'>強化學(xué)習(xí)</b>的筆記資料免費下載

    深度強化學(xué)習(xí)到底是什么?它的工作原理是怎么樣的

    深度學(xué)習(xí)DL是機器學(xué)習(xí)中一種基于對數(shù)據(jù)進行表征學(xué)習(xí)方法。深度
    的頭像 發(fā)表于 06-13 11:39 ?6076次閱讀

    DeepMind發(fā)布強化學(xué)習(xí)庫RLax

    RLax(發(fā)音為“ relax”)是建立在JAX之上的庫,它公開了用于實施強化學(xué)習(xí)智能體的有用構(gòu)建塊。。報道:深度強化學(xué)習(xí)實驗室作者:DeepRL ...
    的頭像 發(fā)表于 12-10 18:43 ?742次閱讀

    模型化深度強化學(xué)習(xí)應(yīng)用研究綜述

    深度強化學(xué)習(xí)(DRL)作為機器學(xué)習(xí)的重要分攴,在 Alphago擊敗人類后受到了廣泛關(guān)注。DRL以種試錯機制與環(huán)境進行交互,并通過最大化累積獎賞最終得到最優(yōu)策略。強化學(xué)習(xí)可分為無模型
    發(fā)表于 04-12 11:01 ?9次下載
    模型化<b class='flag-5'>深度</b><b class='flag-5'>強化學(xué)習(xí)</b>應(yīng)用研究綜述

    基于深度強化學(xué)習(xí)仿真集成的壓邊力控制模型

    壓邊為改善板料拉深制造的成品質(zhì)量,釆用深度強化學(xué)習(xí)方法進行拉深過程旳壓邊力優(yōu)化控制。提岀一種基于深度強化學(xué)習(xí)與有限元仿真集成的壓邊力控制模
    發(fā)表于 05-27 10:32 ?0次下載

    基于深度強化學(xué)習(xí)的無人機控制律設(shè)計方法

    基于深度強化學(xué)習(xí)的無人機控制律設(shè)計方法
    發(fā)表于 06-23 14:59 ?46次下載

    《自動化學(xué)報》—多Agent深度強化學(xué)習(xí)綜述

    多Agent 深度強化學(xué)習(xí)綜述 來源:《自動化學(xué)報》,作者梁星星等 摘 要?近年來,深度強化學(xué)習(xí)(Deep reinforcement le
    發(fā)表于 01-18 10:08 ?1628次閱讀
    《自動<b class='flag-5'>化學(xué)</b>報》—多Agent<b class='flag-5'>深度</b><b class='flag-5'>強化學(xué)習(xí)</b>綜述

    ESP32上的深度強化學(xué)習(xí)

    電子發(fā)燒友網(wǎng)站提供《ESP32上的深度強化學(xué)習(xí).zip》資料免費下載
    發(fā)表于 12-27 10:31 ?0次下載
    ESP32上的<b class='flag-5'>深度</b><b class='flag-5'>強化學(xué)習(xí)</b>