丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能 正文
發(fā)私信給AI研習(xí)社-譯站
發(fā)送

0

用于深度強(qiáng)化學(xué)習(xí)的結(jié)構(gòu)化控制網(wǎng)絡(luò)(ICML 論文講解)

本文作者: AI研習(xí)社-譯站 2019-02-21 10:52
導(dǎo)語(yǔ):本文為 AI 研習(xí)社編譯的技術(shù)博客,原標(biāo)題 :Structured Control Nets for Deep Reinforcement Learning T

用于深度強(qiáng)化學(xué)習(xí)的結(jié)構(gòu)化控制網(wǎng)絡(luò)(ICML 論文講解)

本文為 AI 研習(xí)社編譯的技術(shù)博客,原標(biāo)題 :

Structured Control Nets for Deep Reinforcement Learning Tutorial (ICML Published Long Talk Paper)

作者 | Mario Srouji

翻譯 | 永恒如新的日常、召喚神龍              

校對(duì) | 斯蒂芬·二狗子        審核 | 醬番梨       整理 | 立魚(yú)王

原文鏈接:

https://medium.com/@mariosrouji/structured-control-nets-for-deep-reinforcement-learning-tutorial-icml-published-long-talk-paper-2ff99a73c8b


用于深度強(qiáng)化學(xué)習(xí)的結(jié)構(gòu)化控制網(wǎng)絡(luò)(ICML 論文講解)論文鏈接:https://arxiv.org/abs/1802.08311

摘要近年來(lái),深度強(qiáng)化學(xué)習(xí)在解決序列決策的幾個(gè)重要基準(zhǔn)問(wèn)題方面取得了令人矚目的進(jìn)展。許多控制應(yīng)用程序使用通用多層感知器(MLP),用于策略網(wǎng)絡(luò)的非視覺(jué)部分。在本工作中,我們?yōu)椴呗跃W(wǎng)絡(luò)表示提出了一種新的神經(jīng)網(wǎng)絡(luò)架構(gòu),該架構(gòu)簡(jiǎn)單而有效。所提出的結(jié)構(gòu)化控制網(wǎng)(Structured Control Net ,SCN)將通用多層感知器MLP分成兩個(gè)獨(dú)立的子模塊:非線性控制模塊和線性控制模塊。直觀地,非線性控制用于前視角和全局控制,而線性控制圍繞全局控制以外的局部動(dòng)態(tài)變量的穩(wěn)定。我們假設(shè)這這種方法具有線性和非線性策略的優(yōu)點(diǎn):可以提高訓(xùn)練效率、最終的獎(jiǎng)勵(lì)得分,以及保證學(xué)習(xí)策略的泛化性能,同時(shí)只需要較小的網(wǎng)絡(luò)并可以使用不同的通用訓(xùn)練方法。我們通過(guò)OpenAI MuJoCo,Roboschool,Atari和定制的2維城市駕駛環(huán)境的模擬驗(yàn)證了我們的假設(shè)的正確性,其中包括多種泛化性測(cè)試,使用多種黑盒和策略梯度訓(xùn)練方法進(jìn)行訓(xùn)練。通過(guò)將特定問(wèn)題的先驗(yàn)結(jié)合到架構(gòu)中,所提出的架構(gòu)有可能改進(jìn)更廣泛的控制任務(wù)。我們采用生物中心模擬生成器(CPG)作為非線性控制模塊部分的結(jié)構(gòu)來(lái)研究運(yùn)動(dòng)任務(wù)這個(gè)案例,結(jié)果了表面的該運(yùn)動(dòng)任務(wù)的性能被極大提高。


  介紹

在本教程中,我想介紹一下我們?cè)贗CML上發(fā)表的工作中提出的結(jié)構(gòu)化控制網(wǎng)絡(luò)的簡(jiǎn)單實(shí)現(xiàn),并在最后展示了案例研究的介紹。 我鼓勵(lì)您在完成本教程之前先閱讀本文。

這項(xiàng)工作是我在Apple AI Research實(shí)習(xí)時(shí)完成的,是我實(shí)習(xí)工作的一部分,擊敗了眾多強(qiáng)化學(xué)習(xí)控制環(huán)境中最先進(jìn)的技術(shù),包括MuJoCo,Roboschool,Atari,OpenAI Gym,甚至自動(dòng)駕駛。 我們計(jì)劃將這項(xiàng)工作擴(kuò)展到包含機(jī)器人環(huán)境和高級(jí)操作。

以下是該論文的一些結(jié)果。 在采樣效率,最終獎(jiǎng)勵(lì)和魯棒性方面,我們擊敗了當(dāng)前在眾多環(huán)境中最先進(jìn)的MLP網(wǎng)絡(luò)。 此外,我將通過(guò)一個(gè)研究案例,逐步展示如何根據(jù)特定任務(wù)量身定制結(jié)構(gòu)化控制網(wǎng)絡(luò)模型,以進(jìn)一步提高性能!

用于深度強(qiáng)化學(xué)習(xí)的結(jié)構(gòu)化控制網(wǎng)絡(luò)(ICML 論文講解)

使用PPO作為訓(xùn)練算法,訓(xùn)練結(jié)構(gòu)化控制網(wǎng)絡(luò)(藍(lán)色)與多層感知器(橙色),在2M時(shí)間步長(zhǎng)time steps下的訓(xùn)練曲線。與現(xiàn)有的先進(jìn)技術(shù)相比,我們?cè)谧罱K獎(jiǎng)勵(lì)和采樣效率方面都顯示出了顯著的提高。

用于深度強(qiáng)化學(xué)習(xí)的結(jié)構(gòu)化控制網(wǎng)絡(luò)(ICML 論文講解) 上圖是消融測(cè)試ablation tests的訓(xùn)練曲線。 我們展示了結(jié)構(gòu)化控制網(wǎng)絡(luò)(藍(lán)色SCN),其中包含16個(gè)隱藏單元的多層感知器作為非線性模型,以及線性反饋控制模塊,對(duì)比相同大小的單獨(dú)訓(xùn)練的多層感知器(綠色)及線性反饋控制模塊(橙色)。 上圖結(jié)果表明正是由于這樣的框架結(jié)構(gòu),可以使結(jié)構(gòu)化控制網(wǎng)絡(luò)高效地學(xué)習(xí)到更好的策略。

我希望這個(gè)介紹能夠解開(kāi)您復(fù)現(xiàn)本工作時(shí)遇到的困惑,并為該領(lǐng)域的深入研究提供良好的開(kāi)端。 我將略過(guò)底層的細(xì)節(jié),正如文中所述。 讓我們開(kāi)始吧!


  問(wèn)題描述

我們?cè)跇?biāo)準(zhǔn)的強(qiáng)化學(xué)習(xí)設(shè)置中描述問(wèn)題。 在t時(shí)刻,智能體根據(jù)策略π(在我們的設(shè)置中,該策略是結(jié)構(gòu)化控制網(wǎng)絡(luò)),在給定當(dāng)前觀測(cè)序列o的情況下選擇動(dòng)作a。 r為該環(huán)境中提供的獎(jiǎng)勵(lì),并返回下一個(gè)狀態(tài)。

用于深度強(qiáng)化學(xué)習(xí)的結(jié)構(gòu)化控制網(wǎng)絡(luò)(ICML 論文講解)

結(jié)構(gòu)化控制網(wǎng)絡(luò)體系結(jié)構(gòu)

該架構(gòu)概述非常簡(jiǎn)單; 它從環(huán)境中獲取狀態(tài)編碼并將其提供給兩個(gè)獨(dú)立的流:線性控制流和非線性控制流。 這兩個(gè)流可以被視為獨(dú)立的子策略,其輸出被融合為強(qiáng)化學(xué)習(xí)的策略網(wǎng)絡(luò)。

此體系結(jié)構(gòu)概述的目的是證明這兩個(gè)模塊可以使用策略實(shí)現(xiàn),這些策略在策略網(wǎng)絡(luò)上強(qiáng)制執(zhí)行特定于任務(wù)的先驗(yàn)條件,以更好地提高采樣效率和最終性能。


  線性控制

在實(shí)現(xiàn)中,線性控制器由K * s + b表示,其中,K是學(xué)習(xí)的線性控制增益矩陣,b是學(xué)習(xí)的偏置(s是當(dāng)前狀態(tài))。

要實(shí)現(xiàn)線性控制器,這里給出了模型設(shè)置的代碼片段。 input_size是抽象狀態(tài)向量的大小,而output_size是特定環(huán)境的動(dòng)作向量的大小。 我將以O(shè)penAI Gym的walker2d環(huán)境為例。 這里的偏置b被忽略(僅使用增益矩陣K)。

用于深度強(qiáng)化學(xué)習(xí)的結(jié)構(gòu)化控制網(wǎng)絡(luò)(ICML 論文講解)

當(dāng)你設(shè)置好增益矩陣K,就可以使用任何強(qiáng)化學(xué)習(xí)訓(xùn)練算法來(lái)學(xué)習(xí)權(quán)重(為簡(jiǎn)單起見(jiàn),權(quán)重被初始化為0)。 增益矩陣K在環(huán)境的每個(gè)完整迭代之后更新,甚至可以使用延遲更新(例如每10次迭代進(jìn)行一次更新)。 我將使用Evolutionary Strategies作為本教程中的訓(xùn)練算法。

以下示例代碼段給出如何得到線性模塊的動(dòng)作輸出。 這里介紹一個(gè)輔助函數(shù),用于剪切輸出操作向量以保持在環(huán)境的定義范圍內(nèi)(對(duì)于walker2d,這是[-1,1])。

生成動(dòng)作輸出的線性模塊(U_l):

用于深度強(qiáng)化學(xué)習(xí)的結(jié)構(gòu)化控制網(wǎng)絡(luò)(ICML 論文講解)

我將K增益矩陣向量調(diào)整為(input_size x output_size)大小的矩陣。 轉(zhuǎn)置這個(gè)結(jié)果矩陣產(chǎn)生動(dòng)作矩陣,大小為(output_size x input_size。)。這個(gè)動(dòng)作矩陣乘以(input_size x 1)大小的狀態(tài)向量后,可以得到一個(gè)(output_size x 1).大小的動(dòng)作輸出向量。

然后,您可以根據(jù)從環(huán)境接收的獎(jiǎng)勵(lì)信號(hào)更新K向量。 這就是線性控制的全部?jī)?nèi)容!


  非線性控制

在本文的大部分實(shí)驗(yàn)中,我們使用一個(gè)簡(jiǎn)單的多層感知器(MLP)作為非線性控制模塊。與線性控制類似,MLP的權(quán)值在每一個(gè)完整的episode中得到更新。

本文主要使用有兩個(gè)隱藏層的MLP模型,其中每個(gè)隱藏層有16個(gè)隱藏單元,并使用tanh非線性作為激活函數(shù)。當(dāng)使用ES作為訓(xùn)練算法時(shí),由于訓(xùn)練算法固有的隨機(jī)性,MLP是直接輸出動(dòng)作向量。而當(dāng)采用PPO訓(xùn)練時(shí),輸出是一個(gè)具有可變標(biāo)準(zhǔn)差的高斯分布的均值。

為了簡(jiǎn)單起見(jiàn),我不展示MLP的設(shè)置。您可以使用任何ML框架(TensorFlow、PyTorch等)來(lái)創(chuàng)建MLP模型本身。我們使用OpenAI 作為我們的訓(xùn)練算法和模型: https://github.com/openai/baselines.  。

以下是在使用TensorFlow (tf) 無(wú)視覺(jué)輸入的環(huán)境中使用的SCN的模型設(shè)置代碼片段:

用于深度強(qiáng)化學(xué)習(xí)的結(jié)構(gòu)化控制網(wǎng)絡(luò)(ICML 論文講解)

以下是使用Atari的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行視覺(jué)輸入的SCN模型設(shè)置的代碼片段:

用于深度強(qiáng)化學(xué)習(xí)的結(jié)構(gòu)化控制網(wǎng)絡(luò)(ICML 論文講解)


  合并輸出

當(dāng)你獲取了線性項(xiàng)和非線性項(xiàng)的輸出后,對(duì)這兩項(xiàng)的簡(jiǎn)單相加成為結(jié)構(gòu)控制網(wǎng)絡(luò)的輸出。

當(dāng)使用進(jìn)化策略作為訓(xùn)練算法時(shí),將輸出合并就像將線性和非線性分量相加一樣簡(jiǎn)單,可以直接產(chǎn)生輸出動(dòng)作(由于ES的固有隨機(jī)性和無(wú)梯度算法的特性)。

當(dāng)使用PPO或任何其他策略梯度訓(xùn)練算法時(shí),請(qǐng)參考非線性部分中上面的代碼片段,以了解輸出是如何連接/添加在一起的。


  案例研究:用一個(gè)特定運(yùn)動(dòng)的先驗(yàn)?zāi)P吞鎿Q非線性模塊中的MLP

在我們的最后一組實(shí)驗(yàn)中,我們使用動(dòng)態(tài)腿移動(dòng)作為一個(gè)案例研究來(lái)演示如何使用特定于任務(wù)的先驗(yàn)來(lái)定制SCN以適應(yīng)特定的任務(wù)。

我們用一個(gè)中央模式生成器(CPG)的模擬代替了MLP來(lái)充當(dāng)非線性模塊。這種CPG模擬對(duì)于具有重復(fù)/循環(huán)運(yùn)動(dòng)類型(如散步、游泳、跳躍等)的任務(wù)非常有效。

在自然界中,用于運(yùn)動(dòng)的神經(jīng)控制器具有特定的結(jié)構(gòu),稱為中央模式發(fā)生器(Central Pattern generator, CPGs),這是一種能夠產(chǎn)生協(xié)調(diào)節(jié)奏模式的神經(jīng)回路。雖然一般前饋MLP網(wǎng)絡(luò)很難學(xué)習(xí)節(jié)律運(yùn)動(dòng),但通過(guò)使用傅立葉級(jí)數(shù)模擬生物CPGs并訓(xùn)練傅立葉系數(shù),我們能夠提高這些任務(wù)的最終性能和采樣效率。

因此,非線性項(xiàng)為:

用于深度強(qiáng)化學(xué)習(xí)的結(jié)構(gòu)化控制網(wǎng)絡(luò)(ICML 論文講解)

需要馬上注意的是:我們不將狀態(tài)作為輸入提供給CPG仿真器。利用ES作為訓(xùn)練算法,我們可以非常有效地在沒(méi)有狀態(tài)信號(hào)的情況下對(duì)正弦信號(hào)進(jìn)行調(diào)優(yōu)。狀態(tài)通過(guò)如上所示的線性控制項(xiàng)輸入,然后根據(jù)SCN準(zhǔn)則與CPG輸出相結(jié)合。

在我們的實(shí)現(xiàn)中,我們學(xué)習(xí)了16個(gè)正弦波的振幅、頻率和相位(對(duì)應(yīng)于動(dòng)作輸出向量中的每個(gè)值)。動(dòng)作輸出是將所有16個(gè)正弦輸出組合在一起形成非線性項(xiàng)。

讓我們用python來(lái)完成這個(gè)模型的設(shè)置。

用于深度強(qiáng)化學(xué)習(xí)的結(jié)構(gòu)化控制網(wǎng)絡(luò)(ICML 論文講解)

這里設(shè)置cpg_weights大小,對(duì)于每個(gè)正弦曲線的振幅、頻率和相位都是設(shè)為3倍,而這里的output_size是下一個(gè)動(dòng)作的向量大小(因?yàn)槲覀冊(cè)谶@個(gè)狀態(tài)下不再輸入)。

我將重用helper函數(shù)來(lái)在界限內(nèi)裁剪操作。讓我們?cè)偬砑右恍┖瘮?shù)來(lái)計(jì)算正弦輸出(我將在下面解釋它們的用法):

用于深度強(qiáng)化學(xué)習(xí)的結(jié)構(gòu)化控制網(wǎng)絡(luò)(ICML 論文講解)現(xiàn)在,為了生成操作輸出,我使用以下代碼:

用于深度強(qiáng)化學(xué)習(xí)的結(jié)構(gòu)化控制網(wǎng)絡(luò)(ICML 論文講解)

花一分鐘來(lái)消化代碼。本質(zhì)上,這里所發(fā)生的是,對(duì)于output_size向量中的每個(gè)動(dòng)作值,我們通過(guò)提取輸入到正弦波中的振幅、頻率和相位來(lái)產(chǎn)生正弦輸出。我們對(duì)操作向量中的所有output_size項(xiàng)執(zhí)行此操作,對(duì)于每個(gè)迭代,將所有cpg_constant迭代組合在一起(因此在我們的示例中,對(duì)每個(gè)操作項(xiàng)值將16個(gè)正弦輸出相加)。最后,我們將輸出向量與線性控制項(xiàng)相同地裁剪,然后根據(jù)SCN將這兩項(xiàng)相加。

這種相當(dāng)簡(jiǎn)單的方法在非線性項(xiàng)上優(yōu)于MLP,在機(jī)車任務(wù)(如walker2d、swimmer、Ant等)上有顯著的優(yōu)勢(shì),因?yàn)樗軌驅(qū)⑦@種有節(jié)奏的特定于任務(wù)的先驗(yàn)施加在結(jié)構(gòu)化控制網(wǎng)絡(luò)上。這里再次對(duì)性能進(jìn)行了改進(jìn)!

用于深度強(qiáng)化學(xué)習(xí)的結(jié)構(gòu)化控制網(wǎng)絡(luò)(ICML 論文講解)

上圖是采用ES訓(xùn)練運(yùn)動(dòng)神經(jīng)網(wǎng)絡(luò)(藍(lán)色為案例研究網(wǎng)絡(luò))、結(jié)構(gòu)控制網(wǎng)絡(luò)(橙色為SCN)、基線多層感知機(jī)(綠色為MLP) 在2M時(shí)間步長(zhǎng)的訓(xùn)練曲線。


  結(jié)論

我希望本教程能夠幫助您重現(xiàn)結(jié)果,并繼續(xù)在這個(gè)領(lǐng)域進(jìn)行研究。如果您想了解這方面討論內(nèi)容的更多信息,或者有任何疑惑,請(qǐng)?jiān)诒疚暮竺媪粝略u(píng)論。

我們鼓勵(lì)進(jìn)一步研究探索SCN的不同應(yīng)用(如案例研究所示),特別是在機(jī)器人控制領(lǐng)域。如果你發(fā)現(xiàn)任何有趣的東西,請(qǐng)告訴我們!

我們正繼續(xù)研究深層強(qiáng)化學(xué)習(xí)的策略網(wǎng)絡(luò)結(jié)構(gòu),希望在未來(lái)能有更多有趣的發(fā)現(xiàn)。下次再見(jiàn)!


想要繼續(xù)查看該篇文章相關(guān)鏈接和參考文獻(xiàn)?

長(zhǎng)按鏈接點(diǎn)擊打開(kāi)或點(diǎn)擊【用于深度強(qiáng)化學(xué)習(xí)的結(jié)構(gòu)化控制網(wǎng)絡(luò)(ICML論文講解)】:

https://ai.yanxishe.com/page/TextTranslation/1383


AI研習(xí)社每日更新精彩內(nèi)容,觀看更多精彩內(nèi)容:雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)

盤(pán)點(diǎn)圖像分類的竅門(mén)

深度學(xué)習(xí)目標(biāo)檢測(cè)算法綜述

生成模型:基于單張圖片找到物體位置

注意力的動(dòng)畫(huà)解析(以機(jī)器翻譯為例)


等你來(lái)譯:

如使用深度學(xué)習(xí)玩Pong游戲 

教程:使用iPhone相機(jī)和openCV來(lái)完成3D重建(第三部分)

高級(jí)DQNs:利用深度強(qiáng)化學(xué)習(xí)玩吃豆人游戲

深度強(qiáng)化學(xué)習(xí)新趨勢(shì):谷歌如何把好奇心引入強(qiáng)化學(xué)習(xí)智能體 


雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。

用于深度強(qiáng)化學(xué)習(xí)的結(jié)構(gòu)化控制網(wǎng)絡(luò)(ICML 論文講解)

分享:
相關(guān)文章

知情人士

AI研習(xí)社(yanxishe.com)譯站頻道,傳播前沿人工智能知識(shí),讓語(yǔ)言不再成為學(xué)習(xí)知識(shí)的門(mén)檻。(原雷鋒字幕組)
當(dāng)月熱門(mén)文章
最新文章
請(qǐng)?zhí)顚?xiě)申請(qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說(shuō)