在文章基于Value的強(qiáng)化學(xué)習(xí)算法中痴昧,介紹了Q-learning和SARSA兩種經(jīng)典的強(qiáng)化學(xué)習(xí)算法。在本篇文章中,將介紹一下基于Policy的經(jīng)典強(qiáng)化學(xué)習(xí)算法——Policy Gradient。
Value-based的不足
Value-based強(qiáng)化學(xué)習(xí)算法阳惹,是根據(jù)當(dāng)前狀態(tài)下的Q值來選取動(dòng)作去執(zhí)行。因此眶俩,一旦Q值表收斂莹汤,那么對于某一個(gè)狀態(tài),其選擇的動(dòng)作將是唯一確定的颠印,即確定性的策略纲岭。這就導(dǎo)致其無法解決最優(yōu)策略是隨機(jī)策略的強(qiáng)化學(xué)習(xí)問題抹竹,例如猜拳,每次都出錘子當(dāng)然不是最優(yōu)解荒勇,讓對方猜不出的隨機(jī)策略反而更好一些柒莉。
在受限狀態(tài)下闻坚,Value-based算法表現(xiàn)的不是很好沽翔。由于觀測手段或者其他一些原因,導(dǎo)致觀測到的兩個(gè)不同的狀態(tài)卻得到了同樣的特征窿凤,導(dǎo)致選擇的策略效果不好仅偎。例如猜拳的時(shí)候,同一對手在時(shí)刻出了剪刀雳殊,在時(shí)刻也出了剪刀橘沥,如果只考慮對手以及動(dòng)作,那么在和時(shí)刻觀察到的特征是一樣的夯秃。然而座咆,在時(shí)刻對手不一定會出剪刀。
對于連續(xù)動(dòng)作空間的強(qiáng)化學(xué)習(xí)問題的求解效果不好仓洼。因?yàn)閂alue-based算法的動(dòng)作選擇是在動(dòng)作空間中選擇值最大的動(dòng)作介陶,所以需要輸出動(dòng)作空間中每一個(gè)動(dòng)作的值。因此色建,對于動(dòng)作空間非常大的連續(xù)動(dòng)作空間來說哺呜,評估每一個(gè)動(dòng)作的值的成本是非常大的。例如方向盤轉(zhuǎn)的角度箕戳,隨著轉(zhuǎn)動(dòng)精度的無限提高某残,動(dòng)作空間可以趨近于無窮。
Policy Gradient
Policy-based算法的輸入和Value-based一樣陵吸,但是輸出的是動(dòng)作空間中每一個(gè)動(dòng)作被選擇的概率玻墅,換句話說,輸出的是動(dòng)作空間中動(dòng)作被選擇的概率分布壮虫。這時(shí)策略函數(shù)可以用如下公式表示澳厢,其中是要訓(xùn)練的參數(shù):
其優(yōu)化目標(biāo)有以下三種形式:
- 初始狀態(tài)收獲的期望:
- 狀態(tài)收獲的平均價(jià)值:,其中是基于策略生成的馬爾可夫鏈關(guān)于狀態(tài)的靜態(tài)分布旨指。
- 每個(gè)time-step的平均獎(jiǎng)勵(lì):
無論哪種形式赏酥,根據(jù)策略定理,對求導(dǎo)的梯度為:
其中稱為分值函數(shù)谆构。
對于裸扶,在離散空間中常使用softmax函數(shù),使用描述狀態(tài)和行為的特征與參數(shù)的線性組合來權(quán)衡一個(gè)行為發(fā)生的幾率搬素,即:
在連續(xù)行為空間常用高斯函數(shù)呵晨,對應(yīng)的行為從高斯分布中產(chǎn)生魏保,求導(dǎo)之后為:
對于目標(biāo)函數(shù)的優(yōu)化可以采用蒙特卡洛梯度策略算法,使用隨機(jī)梯度上升法更新參數(shù)摸屠,使用策略梯度法返回作為的無偏估計(jì)谓罗。算法如下:
首先初始化參數(shù),之后對于每一個(gè)蒙特卡洛序列季二,做以下兩步:
用蒙特卡洛計(jì)算序列每個(gè)時(shí)間位置的狀態(tài)價(jià)值檩咱。
對序列每個(gè)時(shí)間位置,使用梯度上升法胯舷,更新策略函數(shù)的參數(shù):
最后返回策略函數(shù)的參數(shù)刻蚯,這個(gè)策略函數(shù)可以是softmax,也可以是高斯策略或者其他策略桑嘶。
Policy-based的不足
- Policy-based往往收斂于局部最優(yōu)解而不是全局最優(yōu)解炊汹。
- 由于其輸出的是動(dòng)作概率分布,需要基于這個(gè)分布對動(dòng)作進(jìn)行采樣逃顶,當(dāng)動(dòng)作空間非常大時(shí)讨便,成本也比較高。