Policy Gradient中不以loss來反向傳播的策略梯度方法是怎樣的,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
成都創(chuàng)新互聯(lián)公司成立于2013年,先為石臺等服務(wù)建站,石臺等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為石臺企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
1.前言2.核心算法3.Add a Baseline4.總結(jié)
這次介紹的基于策略梯度的Policy Gradient的算法屬實(shí)比之前的算法沒那么好理解,筆者看完莫煩教程之后還是有許多細(xì)節(jié)沒搞懂,又看了李宏毅教授的DRL Lecture才弄懂,希望能把他講清楚。
之前我們所學(xué)的DQN,Q-Learning都是通過計(jì)算動作得分來決策的,我們是在確定了價(jià)值函數(shù)的基礎(chǔ)上采用某種策略(貪婪-epsilon)的方式去選取價(jià)值最大的動作。仔細(xì)一想可以得知其實(shí)這種方式是間接的,因?yàn)檫€需要通過價(jià)值來選取動作。
Policy Gradient就是一種直接的方法,他可以直接輸出每種動作的概率進(jìn)行直接的選擇。這里有一點(diǎn)要注意,Policy Gradient沒有誤差,他不通過誤差進(jìn)行反向傳播,它是通過觀測信息選出一個行為直接進(jìn)行反向傳播。他利用reward獎勵直接對選擇行為的可能性進(jìn)行增強(qiáng)和減弱,好的行為會被增加下一次被選中的概率,不好的行為會被減弱下次被選中的概率。舉例如下圖所示:輸入當(dāng)前的狀態(tài),輸出動作的概率分布,選擇概率最大的一個action作為執(zhí)行的操作。
得到概率之后我們就可以根據(jù)采樣得到的回報(bào)值計(jì)算出數(shù)學(xué)期望。
這里我們要注意兩點(diǎn):首先R這個獎勵期望不需要是可微分的,即使是不可微分也是可以做這個運(yùn)算。另外這里用到一個技巧,就是公式推導(dǎo)的第二步,大家也可以直接看藍(lán)色框背下來。
在理想的情況,考慮某個state下有三個動作a,b,c,每一項(xiàng)的概率加起來為1,每一項(xiàng)的weight(R)是不一樣的,可能有的大,有的小,乘起來之后經(jīng)過Normalize,獎勵高的自然概率就高了,這也是我們想要的。
在現(xiàn)實(shí)中,由于我們采用的是采樣的方法,我們只能是采樣到部分的action,我們可能只采樣到了b和c,沒采樣到a的,但是由于采樣到的b和c概率在上升,沒采樣到的a只能下降,這樣是非常不科學(xué)的。
解決的辦法就是讓期望減掉一個Baseline,讓一些不那么好的行為能得到一個負(fù)的反饋,也就是讓我們的獎勵減去一個b,這個b有很多取法,只要能達(dá)到目的就行。
優(yōu)點(diǎn):
連續(xù)的動作空間或高維空間中更加高效。
可以實(shí)現(xiàn)隨機(jī)化策略
某種情況下,價(jià)值函數(shù)可能比較難以計(jì)算,而策略函數(shù)容易
缺點(diǎn):
通常收斂到局部最優(yōu)而非全局最優(yōu)
評估一個策略通常低效(這個過程可能慢,但是具有更高的可變性,其中也會出現(xiàn)很多并不有效的嘗試,而且方差高)
關(guān)于Policy Gradient中不以loss來反向傳播的策略梯度方法是怎樣的問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。