【强化学习】策略梯度Policy-Gradient
目錄
- Value-based 強化學(xué)習(xí)方法的不足
- Policy-based 強化學(xué)習(xí)方法的引入
- 策略梯度的優(yōu)化目標(biāo)
- 策略函數(shù)的設(shè)計
- Softmax策略函數(shù)
- Gauss策略函數(shù)
- 蒙特卡羅策略梯度reinforce算法
- 小結(jié)
強化學(xué)習(xí)筆記,內(nèi)容來自 劉建平老師的博客
?
Value-based 強化學(xué)習(xí)方法的不足
? Q-learning、Sarsa、DQN都是基于價值的強化學(xué)習(xí)算法,存在主要三種不足:
? 1. 對連續(xù)動作的處理能力不足
? DQN之類的方法一般都是只處理離散動作,無法處理連續(xù)動作。
? 2. 對受限狀態(tài)下的問題處理能力不足
? 在使用特征來描述狀態(tài)空間中的某一個狀態(tài)時,有可能因為個體觀測的限制或者建模的局限,導(dǎo)致真實環(huán)境下本來不同的兩 個狀態(tài)卻再我們建模后擁有相同的特征描述,進(jìn)而很有可能導(dǎo)致我們的value Based方法無法得到最優(yōu)解。
? 3. 無法解決隨機策略問題
? Value-based強化學(xué)習(xí)方法對應(yīng)的最優(yōu)策略通常是確定性策略,因為其是從眾多行為價值中選擇一個最大價值的行為,而有 些問題的最優(yōu)策略卻是隨機策略,這種情況下同樣是無法通過基于價值的學(xué)習(xí)來求解的。
?
?
?
Policy-based 強化學(xué)習(xí)方法的引入
? 在Value-based強化學(xué)習(xí)方法里,對價值函數(shù)進(jìn)行了近似表示,引入了一個動作價值函數(shù)q^,這個函數(shù)由參數(shù)w描述,并接受狀態(tài)S與動作A作為輸入,計算后得到近似的動作價值,即:
?
? 在Policy-based強化學(xué)習(xí)方法下,采樣類似的思路,只不過這時對策略進(jìn)行近似表示。此時策略π可以被被描述為一個包含參數(shù)θ的函數(shù),即:
?
? 將策略表示成一個連續(xù)的函數(shù)后就可以用連續(xù)函數(shù)的優(yōu)化方法來尋找最優(yōu)的策略了,最常用的方法就是梯度上升法。
?
?
?
策略梯度的優(yōu)化目標(biāo)
? 1. 初始狀態(tài)收獲的期望:
?
? 2. 平均價值:
?
? (其中,dπθ(s)是基于策略πθ生成的馬爾科夫鏈關(guān)于狀態(tài)的靜態(tài)分布 )
? 3. 每一時間步的評價獎勵:
?
? 無論哪一種,最終對θ求導(dǎo)的梯度都可表示為:
?
? 還可以采用很多其他可能的優(yōu)化目標(biāo)來做梯度上升,此時梯度式子里面的?θlogπθ(s,a)部分并不改變,變化的只是后面的Qπ(s,a)部分。?θlogπθ(s,a) 一般稱為分值函數(shù)(score function)。
?
?
?
策略函數(shù)的設(shè)計
Softmax策略函數(shù)
? 主要應(yīng)用于離散空間中,使用描述狀態(tài)和行為的特征?(s,a) 與參數(shù)θ的線性組合來權(quán)衡一個行為發(fā)生的幾率,即:
?
? 則通過求導(dǎo)求出對應(yīng)的分值函數(shù)為:
?
Gauss策略函數(shù)
? 主要應(yīng)用于連續(xù)行為空間,對應(yīng)的行為從高斯分布N(?(s)^T θ,σ^2)中產(chǎn)生。對應(yīng)的分值函數(shù)通過對策略求導(dǎo)可以得到為:
?
?
?
?
蒙特卡羅策略梯度reinforce算法
? 蒙特卡羅策略梯度reinforce算法是最簡單的策略梯度算法,使用價值函數(shù) v(s) 來近似代替策略梯度公式里面的 Qπ(s,a)。
? 算法流程:
? 輸入:N個蒙特卡羅完整序列,訓(xùn)練步長α
輸出:策略函數(shù)的參數(shù)θ
? 1. for 每個蒙特卡羅序列:
? a)用蒙特卡羅法計算序列每個時間位置t的狀態(tài)價值 vt
? b)對序列每個時間位置t,使用梯度上升法更新策略函數(shù)的參數(shù)θ:
?
? 2. 返回策略函數(shù)的參數(shù)θ(策略函數(shù)可以是Softmax策略,高斯策略或者其他策略 )
?
?
?
小結(jié)
? 策略梯度提供了和 DQN 之類的方法不同的新思路,但是簡單的蒙特卡羅策略梯度reinforce算法卻并不完美。由于是蒙特卡羅法,需要完全的序列樣本才能做算法迭代,同時蒙特卡羅法使用收獲的期望來計算狀態(tài)價值,會導(dǎo)致行為有較多的變異性,參數(shù)更新的方向很可能不是策略梯度的最優(yōu)方向。因此,Policy-based的強化學(xué)習(xí)方法還需要改進(jìn),例如 Policy-based與Value-based結(jié)合的策略梯度方法Actor-Critic。
總結(jié)
以上是生活随笔為你收集整理的【强化学习】策略梯度Policy-Gradient的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【强化学习】DQN及其延伸算法
- 下一篇: 【强化学习】Actor-Critic