近端策略?xún)?yōu)化算法(PPO)

首先我們回顧一下“策略梯度方法(PG)”和“信賴(lài)域策略?xún)?yōu)化(TRPO)”座菠。
1.策略梯度方法(PG)
策略梯度方法通過(guò)計(jì)算策略梯度的估計(jì)并利用隨機(jī)梯度上升算法來(lái)工作。 最常用的梯度估計(jì)形式為:
\hat{\mathbb{E}}_t\left[\nabla_\theta\log \pi_\theta(a_{t}|s_{t})\hat{A}_t\right] \tag{1}

其中\pi_\theta為隨機(jī)策略,\hat{A}_t是優(yōu)勢(shì)函數(shù)在時(shí)間步t的估計(jì)情连,在使用自動(dòng)微分器時(shí)迫淹,我們的損失函數(shù)為:
L^{PG}(\theta)=\hat{\mathbb{E}}_t\left[\log \pi_\theta(a_{t}|s_{t})\hat{A}_t\right]\tag{2}

2.信賴(lài)域策略?xún)?yōu)化(TRPO)

TRPO要優(yōu)化的目標(biāo)函數(shù)如下:
maximize_{\theta}\hat{\mathbb{E}}_t\left[\frac{\pi_{\theta}\left(a_t|s_t\right)}{\pi_{\theta_{old}}\left(a_t|s_t\right)}\hat{A}_t\right]\tag{3}

\\ subject\ to\ \hat{\mathbb{E}}_t\left[KL\left[\pi_{\theta_{old}}\left(\cdot |s_t\right)||\pi_{\theta}\left(\cdot |s_t\right)\right]\right]\le\delta

3.近端策略?xún)?yōu)化算法(PPO)

PPO1:截?cái)嗵娲繕?biāo)

首先,我們令r_t(\theta)=\frac{\pi_{\theta}\left(a_t|s_t\right)}{\pi_{\theta_{old}}\left(a_t|s_t\right)}铺浇,所以r(\theta_{old})=1痢畜。TRPO的替代目標(biāo)為
L^{CPL}(\theta)=\hat{\mathbb{E}}_t\left[\frac{\pi_{\theta}\left(a_t|s_t\right)}{\pi_{\theta_{old}}\left(a_t|s_t\right)}\hat{A}_t\right]=\hat{\mathbb{E}}_t\left[r_t(\theta)\hat{A}_t\right] \tag{4}

上標(biāo)CPI指的是TRPO中的保守政策迭代,如果沒(méi)有約束鳍侣,最大化L^{CPL}將會(huì)導(dǎo)致非常大幅度的梯度更新丁稀。為了懲罰策略的變化(即r_t(\theta)遠(yuǎn)離1,即新舊策略的KL 散度不能太大)倚聚,提出了如下的目標(biāo)
L^{CLIP}(\theta)=\hat{\mathbb{E}}_t\left[ min(r_t(\theta)\hat{A}_t ,clip(r_t(\theta),1-\varepsilon,1+\varepsilon)\hat{A}_t)\right] \tag{5}

論文中\epsilon=0.2线衫,直觀示意圖如下

PPO.jpg

該算法的意思為:
當(dāng)A>0時(shí),如果r_t(\theta)>1+\epsilon惑折,則L^{CLIP}(\theta)=(1+\epsilon)\hat{A}_t授账;如果r_t(\theta)<1+\epsilon,則L^{CLIP}(\theta)=r_t(\theta)\hat{A}_t;

當(dāng)A<0時(shí)惨驶,如果r_t(\theta)>1-\epsilon白热,則L^{CLIP}(\theta)=r_t(\theta)\hat{A}_t;如果r_t(\theta)<1-\epsilon粗卜,則L^{CLIP}(\theta)=(1-\epsilon)\hat{A}_t;

PPO2:自適應(yīng)KL懲罰系數(shù)

TRPO中屋确,使用“自適應(yīng)懲罰系數(shù) ”\beta 來(lái)約束KL散度,在此算法的最簡(jiǎn)單實(shí)例中,我們?cè)诿總€(gè)策略更新中執(zhí)行以下步驟:

  • 使用多個(gè)的minibatch SGD乍恐,優(yōu)化KL懲罰的目標(biāo)

L^{KLPEN}(\theta)=\hat{\mathbb{E}}_t\left[\frac{\pi_{\theta}\left(a_t|s_t\right)}{\pi_{\theta_{old}}\left(a_t|s_t\right)}\hat{A}_t-\beta \ KL\left[\pi_{\theta_{old}}\left(\cdot |s_t\right),\pi_{\theta}\left(\cdot |s_t\right)\right]\right] \tag{6}

  • 計(jì)算d=\hat{\mathbb{E}}_t\left[KL\left[\pi_{\theta_{old}}\left(\cdot |s_t\right),\pi_{\theta}\left(\cdot |s_t\right)\right]\right]
    • 如果d<d_{targ}/1.5评疗,\beta\leftarrow \beta/2

    • 如果d>d_{targ}\times1.5\beta\leftarrow \beta\times2

實(shí)驗(yàn)中茵烈,PPO2的效果沒(méi)有PPO1的效果好

4.算法
L^{CLIP+VF+S}_t(\theta) = \hat{E}_t\left[L^{CLIP}_t(\theta)?c_1L^{VF}_t(\theta)+c_2S[\pi_\theta](s_t)\right]

其中c_1百匆, c_2是系數(shù),S表示熵獎(jiǎng)勵(lì)呜投,L^{VF}_t是平方誤差損失
(V_\theta(s_t)-V^{targ}_t)^2

優(yōu)勢(shì)估計(jì)函數(shù)為
\hat{A}_{t}=-V\left(s_t\right)+r_t+\gamma r_{t+1}+...+\gamma^{T-t+1}r_{T-1}+\gamma^{T-t}V\left(s_{T}\right) \tag{7}

另外加匈,我們可以使用廣義優(yōu)勢(shì)函數(shù)來(lái)擴(kuò)廣\hat{A}_{t},當(dāng)λ= 1時(shí)仑荐,它會(huì)趨近到等式(7)
\hat{A}_{t}=\delta_t+(\gamma\lambda) \delta_{t+1}+...+...+(\gamma\lambda)^{T-t+1}\delta_{T-1} \tag{8} \\where\ \delta_t=r_t+\gamma V(s_{t+1})-V(s_{t})

使用固定長(zhǎng)度軌跡段的近端策略?xún)?yōu)化(PPO)算法如下所示雕拼。 每次迭代時(shí),N個(gè)actor中的每個(gè)都收集T個(gè)時(shí)間步長(zhǎng)的數(shù)據(jù)粘招。 然后我們?cè)谶@些NT時(shí)間步長(zhǎng)的數(shù)據(jù)上構(gòu)建替代損失啥寇,并使用 minibatch SGD(或通常為了更好的性能,Adam )進(jìn)行K個(gè)epochs的優(yōu)化洒扎。


PPOA.jpg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末辑甜,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子袍冷,更是在濱河造成了極大的恐慌磷醋,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件胡诗,死亡現(xiàn)場(chǎng)離奇詭異邓线,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)煌恢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)骇陈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人症虑,你說(shuō)我怎么就攤上這事缩歪。” “怎么了谍憔?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)主籍。 經(jīng)常有香客問(wèn)我习贫,道長(zhǎng),這世上最難降的妖魔是什么千元? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任苫昌,我火速辦了婚禮,結(jié)果婚禮上幸海,老公的妹妹穿的比我還像新娘祟身。我一直安慰自己奥务,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布袜硫。 她就那樣靜靜地躺著氯葬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪婉陷。 梳的紋絲不亂的頭發(fā)上帚称,一...
    開(kāi)封第一講書(shū)人閱讀 51,554評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音秽澳,去河邊找鬼闯睹。 笑死,一個(gè)胖子當(dāng)著我的面吹牛担神,可吹牛的內(nèi)容都是我干的楼吃。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼妄讯,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼所刀!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起捞挥,我...
    開(kāi)封第一講書(shū)人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤浮创,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后砌函,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體斩披,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年讹俊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了垦沉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡仍劈,死狀恐怖厕倍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情贩疙,我是刑警寧澤讹弯,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站这溅,受9級(jí)特大地震影響组民,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜悲靴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一臭胜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦耸三、人聲如沸乱陡。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)憨颠。三九已至,卻和暖如春睛驳,著一層夾襖步出監(jiān)牢的瞬間烙心,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工乏沸, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留淫茵,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓蹬跃,卻偏偏與公主長(zhǎng)得像匙瘪,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蝶缀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容