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

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

0

深度強(qiáng)化學(xué)習(xí)從入門到大師:以刺猬索尼克游戲為例講解PPO(第六部分)

本文作者: AI研習(xí)社-譯站 2019-01-16 10:35
導(dǎo)語:幾周前,OpenAI在深度強(qiáng)化學(xué)習(xí)上取得了突破性進(jìn)展。
深度強(qiáng)化學(xué)習(xí)從入門到大師:以刺猬索尼克游戲為例講解PPO(第六部分)

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

Proximal Policy Optimization (PPO) with Sonic the Hedgehog 2 and 3

作者 | Thomas Simonini

翻譯 | 安石徒            校對 | 斯蒂芬?二狗子

審核 | 鄧普斯?杰弗    整理 | 菠蘿妹

原文鏈接:

https://towardsdatascience.com/proximal-policy-optimization-ppo-with-sonic-the-hedgehog-2-and-3-c9c21dbed5e


深度強(qiáng)化學(xué)習(xí)從入門到大師:以刺猬索尼克游戲為例講解PPO

(第六部分)

深度強(qiáng)化學(xué)習(xí)從入門到大師:以刺猬索尼克游戲為例講解PPO(第六部分)

幾周前,OpenAI在深度強(qiáng)化學(xué)習(xí)上取得了突破性進(jìn)展。由5個智能體的組成的人工智能團(tuán)隊OpenAI five擊敗了現(xiàn)實中的DOTA2玩家。但遺憾的是,該人工智能團(tuán)隊輸?shù)袅穗S后的第二場比賽。

深度強(qiáng)化學(xué)習(xí)從入門到大師:以刺猬索尼克游戲為例講解PPO(第六部分)

Dota2

這個突破性進(jìn)展的取得得益于強(qiáng)大的硬件支持和 PPO 算法(近端策略優(yōu)化 Proximal Policy Optimization)。

PPO的核心思想是避免采用大的策略更新。為此,我們采用變化率表明新舊策略的不同,并縮減該變化率在0.8到1.2之間以保證策略更新不大。

此外,PPO的另一項創(chuàng)新是在訓(xùn)練智能體的k個epochs過程中使用了小批量梯度下降法。你可以讀我們之前已經(jīng)實現(xiàn)的這篇文章 A2C with Sonic The Hedgehog。

今天,我們將深入了解PPO結(jié)構(gòu),并應(yīng)用PPO來訓(xùn)練智能體學(xué)習(xí)玩刺猬索尼克系列1,2,3。

但是,如果想要理解好PPO,你首先需要掌握A2C( 建議先閱讀上一篇文章簡單介紹A2C (第五部分))


  策略梯度(PG)目標(biāo)函數(shù)存在的問題

曾記否,在學(xué)習(xí)策略梯度時,我們了解了策略目標(biāo)函數(shù)(或策略損失函數(shù))。

深度強(qiáng)化學(xué)習(xí)從入門到大師:以刺猬索尼克游戲為例講解PPO(第六部分)

PG的思想是采用上面的函數(shù)一步步做梯度上升(等價于負(fù)方向的梯度下降)使智能體在行動中獲取更高的回報獎勵。

然而,PG算法存在步長選擇問題(對step size敏感):

  • 步長太小,訓(xùn)練過于緩慢

  • 步長太大,訓(xùn)練中誤差波動較大

深度強(qiáng)化學(xué)習(xí)從入門到大師:以刺猬索尼克游戲為例講解PPO(第六部分)

面對訓(xùn)練過程波動較大的問題時,PPO可以輕松應(yīng)對。

PPO近端策略優(yōu)化的想法是通過限定每步訓(xùn)練的策略更新的大小,來提高訓(xùn)練智能體行為時的穩(wěn)定性。

為了實現(xiàn)上述想法,PPO引入了一個新的目標(biāo)函數(shù)“Clipped surrogate objective function”(大概可以翻譯為:裁剪的替代目標(biāo)函數(shù)),通過裁剪將策略更新約束在小范圍內(nèi)。


  裁剪替代目標(biāo)函數(shù) Clipped Surrogate Objective Function

首先,正如我們在stackoverflow中的解釋,我們不采用智能體行動的對數(shù)概率logπ(a|s)(vanilla policy gradient method )來跟蹤智能體行動的效果,而是使用當(dāng)前策略下的行動概率(π(a|s))除以上一個策略的行動概率 (π_old(a|s))的比例:

深度強(qiáng)化學(xué)習(xí)從入門到大師:以刺猬索尼克游戲為例講解PPO(第六部分)

摘自PPO論文:PPO paper

如上所示,rt(θ)表明了新舊策略間概率比:

  • 若 rt(θ)>1,則當(dāng)前策略下的行動比原先策略的更有可能發(fā)生。

  • 若 rt(θ)?(0,1),則在當(dāng)前策略下行動發(fā)生的概率低于原先的。

據(jù)此,新的目標(biāo)函數(shù)可如下所示:

深度強(qiáng)化學(xué)習(xí)從入門到大師:以刺猬索尼克游戲為例講解PPO(第六部分)

摘自PPO論文:PPO paper  

但是,如果你當(dāng)前策略的行動的可能性遠(yuǎn)高于之前策略的情況下,此時不對目標(biāo)函數(shù)進(jìn)行約束, 那么 rt(θ)的值就會非常大,還會導(dǎo)致PG采取可能破壞策略的大梯度更新。

因此,需要對目標(biāo)函數(shù)進(jìn)行約束,懲罰那些導(dǎo)致rt(θ)遠(yuǎn)離1的變化(本文中比率僅允許在0.8和1.2之間),這樣可以確保不會發(fā)生大的策略更新。

為此,我們有兩個解決方案:

  • TRPO(Trust Region Policy Optimization,置信區(qū)間策略優(yōu)化)采用的KL散度來約束策略更新(注:使用目標(biāo)函數(shù)之外的KL散度,來約束需要更新的策略數(shù)目,以保證梯度單調(diào)上升;此外還有其他方法,例如ACER,Sample Efficient Actor-Critic with Experience eplay)。但是TRPO這種方法使用起來過于復(fù)雜,且耗費更多的計算時間。

  • 使用PPO優(yōu)化的裁剪替代目標(biāo)函數(shù)。

深度強(qiáng)化學(xué)習(xí)從入門到大師:以刺猬索尼克游戲為例講解PPO(第六部分)

裁剪替代目標(biāo)函數(shù)

通過該函數(shù),得到兩個概率比,一個非裁剪的和一個裁剪的(在[1?-??, 1+?]區(qū)間,?是一個幫助我們設(shè)置范圍的超參數(shù),本文中? = 0.2)。

然后,我們選擇裁剪和非裁剪中的最小值,最終得到的值范圍是小于非裁剪的下界的區(qū)域。

為此,我們需要考慮兩種情況case:

深度強(qiáng)化學(xué)習(xí)從入門到大師:以刺猬索尼克游戲為例講解PPO(第六部分)

摘自PPO論文

  • case 1: 當(dāng)優(yōu)勢A>0

如果?t > 0,即該行動好于在該狀態(tài)下的行動得分的平均值。因此,我們應(yīng)鼓勵新策略增加在該狀態(tài)下采取該行動的概率。

也就增加了概率比r(t),增加了新策略的概率( At* 新的策略概率),同時令分母上的先前策略保持不變。

深度強(qiáng)化學(xué)習(xí)從入門到大師:以刺猬索尼克游戲為例講解PPO(第六部分)

因為進(jìn)行了裁剪,所以rt(?)最大只能增長到1+ ?。這意味著當(dāng)前行動概率相較于原先策略不可能上百倍地提高。

為什么要這樣做?因為我們不想過度更新策略。在該狀態(tài)下采取這個行動的估計結(jié)果只是一次嘗試的得出結(jié)果,并不能證明這個行動總是有較高的正向回報(說白了,防止陷入局部最優(yōu)值),因此,我們就不要貪婪地學(xué)習(xí),以防止智能體選擇糟糕的策略。

總而言之,在(行動對結(jié)果)是積極作用的情況下,需要(在這步梯度上升中)增加一點該行動的概率,但不是太多。

  • case 2:當(dāng)優(yōu)勢A<0

如果?t < 0,即該行動為導(dǎo)致消極結(jié)果的行動,應(yīng)該被阻止。因此概率比rt(?)會被減少。但同時進(jìn)行裁剪,使rt(?)最小只能將降低到1- ?。

同樣,我們不想最大化減少該行動被選中的概率,因為這種貪婪學(xué)習(xí)會導(dǎo)致策略過大的改變,以至于變得糟糕也說不定。

總而言之,多虧裁剪替代目標(biāo)函數(shù),我們約束了新策略相對舊策略兩種情形下的變動范圍。于是,我們把概率比控制在小區(qū)間內(nèi),因此,這種裁剪有利于求策略梯度。如果概率在[1?-??, 1+?]區(qū)間外,梯度值為0。

最終的裁剪替代目標(biāo)損失函數(shù):

深度強(qiáng)化學(xué)習(xí)從入門到大師:以刺猬索尼克游戲為例講解PPO(第六部分)


  使用PPO優(yōu)化的A2C類型智能體學(xué)習(xí)玩索尼克系列游戲

現(xiàn)在,我們將準(zhǔn)備實現(xiàn)一個A2C類型的PPO智能體。A2C類型訓(xùn)練包括該文中所述的A2C過程。

同樣,這個代碼實現(xiàn)比以前的代碼要復(fù)雜好多。我們要開始復(fù)現(xiàn)最先進(jìn)的算法,因此需要代碼的更高的效率。這也是為什么,我們將整個代碼分為不同對對象和文件來實現(xiàn)。

為了實現(xiàn)一個PPO智能體,需要讀一讀如下包含完成PPO過程的筆記和代碼解釋:

這個實現(xiàn)在GitHub倉庫中 。
Understand PPO implementation playing Sonic the Hedgehog 2 and 3

如上所述,你已經(jīng)創(chuàng)建了一個學(xué)習(xí)如何玩刺猬索尼克系列游戲1,2,3的智能體。太棒了!一個好的智能體需要在一個GPU上訓(xùn)練10到15小時。

別忘了自己親自實現(xiàn)代碼的每一個部分,因為調(diào)試完善代碼是非常重要的。嘗試更改環(huán)境,調(diào)整超參,嘗試是學(xué)習(xí)的最佳途徑也是最大樂趣。

花點時間來想想我們從第一節(jié)課到現(xiàn)在取得的所有成就:從簡單的文本游戲(OpenAI taxi-v2)到像毀滅戰(zhàn)士、索尼克這些復(fù)雜的游戲,我們采用越來越強(qiáng)大的模型結(jié)構(gòu)。這真是極好的!

下一回,我們將學(xué)習(xí)深度強(qiáng)化學(xué)習(xí)中最有趣的的新內(nèi)容之一——好奇心驅(qū)動的學(xué)習(xí)。


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

長按鏈接點擊打開或點擊【深度強(qiáng)化學(xué)習(xí)從入門到大師:以刺猬索尼克游戲為例講解PPO(第六部分)】:

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

【點擊查看本系列文章


深度強(qiáng)化學(xué)習(xí)從入門到大師:簡介篇(第一部分)

深度強(qiáng)化學(xué)習(xí)從入門到大師:通過Q學(xué)習(xí)進(jìn)行強(qiáng)化學(xué)習(xí)(第二部分)

深度強(qiáng)化學(xué)習(xí)從入門到大師:以Doom為例一文帶你讀懂深度Q學(xué)習(xí)(第三部分 - 上)

深度強(qiáng)化學(xué)習(xí)從入門到大師:進(jìn)一步了解深度Q學(xué)習(xí)(第三部分 - 下)

深度強(qiáng)化學(xué)習(xí)從入門到大師:以 Cartpole 和 Doom 為例介紹策略梯度 (第四部分)

深度強(qiáng)化學(xué)習(xí)從入門到大師:簡單介紹A3C (第五部分)


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

7分鐘了解Tensorflow.js

在Keras中理解和編程ResNet

初學(xué)者怎樣使用Keras進(jìn)行遷移學(xué)習(xí)

如果你想學(xué)數(shù)據(jù)科學(xué),這 7 類資源千萬不能錯過

等你來譯:

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

一文教你如何用PyTorch構(gòu)建 Faster RCNN

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

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


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

深度強(qiáng)化學(xué)習(xí)從入門到大師:以刺猬索尼克游戲為例講解PPO(第六部分)

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

知情人士

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