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

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

0

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

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

用于深度強化學(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

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

校對 | 斯蒂芬·二狗子        審核 | 醬番梨       整理 | 立魚王

原文鏈接:

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


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

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


  介紹

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

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

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

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

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

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

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


  問題描述

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

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

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

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

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


  線性控制

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

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

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

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

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

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

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

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

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


  非線性控制

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

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

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

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

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

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

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


  合并輸出

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

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

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


  案例研究:用一個特定運動的先驗?zāi)P吞鎿Q非線性模塊中的MLP

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

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

在自然界中,用于運動的神經(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é)律運動,但通過使用傅立葉級數(shù)模擬生物CPGs并訓(xùn)練傅立葉系數(shù),我們能夠提高這些任務(wù)的最終性能和采樣效率。

因此,非線性項為:

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

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

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

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

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

這里設(shè)置cpg_weights大小,對于每個正弦曲線的振幅、頻率和相位都是設(shè)為3倍,而這里的output_size是下一個動作的向量大小(因為我們在這個狀態(tài)下不再輸入)。

我將重用helper函數(shù)來在界限內(nèi)裁剪操作。讓我們再添加一些函數(shù)來計算正弦輸出(我將在下面解釋它們的用法):

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

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

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

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

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

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


  結(jié)論

我希望本教程能夠幫助您重現(xiàn)結(jié)果,并繼續(xù)在這個領(lǐng)域進行研究。如果您想了解這方面討論內(nèi)容的更多信息,或者有任何疑惑,請在本文后面留下評論。

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

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


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

長按鏈接點擊打開或點擊【用于深度強化學(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)

盤點圖像分類的竅門

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

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

注意力的動畫解析(以機器翻譯為例)


等你來譯:

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

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

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

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


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

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

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

知情人士

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