溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Policy Gradient中不以loss來反向傳播的策略梯度方法是怎樣的

發(fā)布時間:2021-11-17 10:52:13 來源:億速云 閱讀:161 作者:柒染 欄目:大數(shù)據(jù)

Policy Gradient中不以loss來反向傳播的策略梯度方法是怎樣的,針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。


 

目錄

1.前言2.核心算法3.Add a Baseline4.總結(jié)

 

1.前言

這次介紹的基于策略梯度的Policy  Gradient的算法屬實比之前的算法沒那么好理解,筆者看完莫煩教程之后還是有許多細節(jié)沒搞懂,又看了李宏毅教授的DRL Lecture才弄懂,希望能把他講清楚。

 

2.核心算法

之前我們所學(xué)的DQN,Q-Learning都是通過計算動作得分來決策的,我們是在確定了價值函數(shù)的基礎(chǔ)上采用某種策略(貪婪-epsilon)的方式去選取價值最大的動作。仔細一想可以得知其實這種方式是間接的,因為還需要通過價值來選取動作。

Policy Gradient就是一種直接的方法,他可以直接輸出每種動作的概率進行直接的選擇。這里有一點要注意,Policy Gradient沒有誤差,他不通過誤差進行反向傳播,它是通過觀測信息選出一個行為直接進行反向傳播。他利用reward獎勵直接對選擇行為的可能性進行增強和減弱,好的行為會被增加下一次被選中的概率,不好的行為會被減弱下次被選中的概率。舉例如下圖所示:輸入當(dāng)前的狀態(tài),輸出動作的概率分布,選擇概率最大的一個action作為執(zhí)行的操作。

Policy Gradient中不以loss來反向傳播的策略梯度方法是怎樣的  

而一個完整的策略τ代表的是一整個回合中,對于每個狀態(tài)下所采取的的動作所構(gòu)成的  序列,而每個回合episode中每個動作的回報和等于一個回合的回報值
 

 
Policy Gradient中不以loss來反向傳播的策略梯度方法是怎樣的  

通過以上可知π在參數(shù)為θ情況下時 τ 發(fā)生的概率:  
 
 

我們可以看到概率是拆分為  我們可以控制的(上圖的紅色部分,與自身actor有關(guān))與  我們不可控制的(上圖的黃色部分,來自環(huán)境)


得到概率之后我們就可以根據(jù)采樣得到的回報值計算出數(shù)學(xué)期望。

Policy Gradient中不以loss來反向傳播的策略梯度方法是怎樣的  

得到獎勵的數(shù)學(xué)期望后我們要做的自然就是max這個獎勵的數(shù)學(xué)期望,如何做呢,就是  Gradient Asent(注意是梯度上升不是梯度下降)這個期望。


這里我們要注意兩點:首先R這個獎勵期望不需要是可微分的,即使是不可微分也是可以做這個運算。另外這里用到一個技巧,就是公式推導(dǎo)的第二步,大家也可以直接看藍色框背下來。

 

后面那項的梯度由于概率中我們只能控制之前我們說過跟actor有關(guān)的部分,所以后面那項就可以簡化為:  
 
Policy Gradient中不以loss來反向傳播的策略梯度方法是怎樣的  

所以最后整個式子就可以化為:  
 
 

最后化出來的整個式子也十分地好理解,假如在某個state下采取的action最后的Reward為正的,那就增加最后一項的概率,反之如果Reward為負的,那就減少這項的概率。所以在這里,如果reward為正,那就最大化這個好的動作的G概率。


 

3.Add a Baseline

Policy Gradient中不以loss來反向傳播的策略梯度方法是怎樣的  

 
 

我們來考慮一種情況,在游戲中可能我們的期望永遠是正的,比如一場游戲某個好的動作可以得20分,而不好的動作也能得1分,這樣會導(dǎo)致什么樣的后果呢,我們可以看上圖。


  • 在理想的情況,考慮某個state下有三個動作a,b,c,每一項的概率加起來為1,每一項的weight(R)是不一樣的,可能有的大,有的小,乘起來之后經(jīng)過Normalize,獎勵高的自然概率就高了,這也是我們想要的。

  • 在現(xiàn)實中,由于我們采用的是采樣的方法,我們只能是采樣到部分的action,我們可能只采樣到了b和c,沒采樣到a的,但是由于采樣到的b和c概率在上升,沒采樣到的a只能下降,這樣是非常不科學(xué)的。

解決的辦法就是讓期望減掉一個Baseline,讓一些不那么好的行為能得到一個負的反饋,也就是讓我們的獎勵減去一個b,這個b有很多取法,只要能達到目的就行。

Policy Gradient中不以loss來反向傳播的策略梯度方法是怎樣的  
 

優(yōu)點

  • 連續(xù)的動作空間或高維空間中更加高效。

  • 可以實現(xiàn)隨機化策略

  • 某種情況下,價值函數(shù)可能比較難以計算,而策略函數(shù)容易

缺點

  • 通常收斂到局部最優(yōu)而非全局最優(yōu)

  • 評估一個策略通常低效(這個過程可能慢,但是具有更高的可變性,其中也會出現(xiàn)很多并不有效的嘗試,而且方差高)

關(guān)于Policy Gradient中不以loss來反向傳播的策略梯度方法是怎樣的問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI