您好,登錄后才能下訂單哦!
Policy Gradient中不以loss來反向傳播的策略梯度方法是怎樣的,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
1.前言2.核心算法3.Add a Baseline4.總結
這次介紹的基于策略梯度的Policy Gradient的算法屬實比之前的算法沒那么好理解,筆者看完莫煩教程之后還是有許多細節沒搞懂,又看了李宏毅教授的DRL Lecture才弄懂,希望能把他講清楚。
之前我們所學的DQN,Q-Learning都是通過計算動作得分來決策的,我們是在確定了價值函數的基礎上采用某種策略(貪婪-epsilon)的方式去選取價值最大的動作。仔細一想可以得知其實這種方式是間接的,因為還需要通過價值來選取動作。
Policy Gradient就是一種直接的方法,他可以直接輸出每種動作的概率進行直接的選擇。這里有一點要注意,Policy Gradient沒有誤差,他不通過誤差進行反向傳播,它是通過觀測信息選出一個行為直接進行反向傳播。他利用reward獎勵直接對選擇行為的可能性進行增強和減弱,好的行為會被增加下一次被選中的概率,不好的行為會被減弱下次被選中的概率。舉例如下圖所示:輸入當前的狀態,輸出動作的概率分布,選擇概率最大的一個action作為執行的操作。
得到概率之后我們就可以根據采樣得到的回報值計算出數學期望。
這里我們要注意兩點:首先R這個獎勵期望不需要是可微分的,即使是不可微分也是可以做這個運算。另外這里用到一個技巧,就是公式推導的第二步,大家也可以直接看藍色框背下來。
在理想的情況,考慮某個state下有三個動作a,b,c,每一項的概率加起來為1,每一項的weight(R)是不一樣的,可能有的大,有的小,乘起來之后經過Normalize,獎勵高的自然概率就高了,這也是我們想要的。
在現實中,由于我們采用的是采樣的方法,我們只能是采樣到部分的action,我們可能只采樣到了b和c,沒采樣到a的,但是由于采樣到的b和c概率在上升,沒采樣到的a只能下降,這樣是非常不科學的。
解決的辦法就是讓期望減掉一個Baseline,讓一些不那么好的行為能得到一個負的反饋,也就是讓我們的獎勵減去一個b,這個b有很多取法,只要能達到目的就行。
優點:
連續的動作空間或高維空間中更加高效。
可以實現隨機化策略
某種情況下,價值函數可能比較難以計算,而策略函數容易
缺點:
通常收斂到局部最優而非全局最優
評估一個策略通常低效(這個過程可能慢,但是具有更高的可變性,其中也會出現很多并不有效的嘗試,而且方差高)
關于Policy Gradient中不以loss來反向傳播的策略梯度方法是怎樣的問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。