簡體   English   中英

強化學習中如何計算價值函數

[英]How to calculate the value function in reinforcement learning

任何人都可以幫助解釋如何生成值函數,將問題和解決方案附加在一起,我只是不知道解決方案是如何生成的。 謝謝! 問題

解

仍然需要幫助!!!

由於沒有其他人對此表示懷疑,因此,我將介紹我對該問題的理解(免責聲明:我不是強化學習的專家,我將其發布為答案,因為它太長了,無法發表評論)

這樣想:在例如從節點d開始時,隨機游走者有50%的機會跳到節點e或節點a。 每次這樣的跳躍都會使乘數y(圖片中的伽馬)減小獎勵(r)。 您繼續跳來跳去,直到到達目標節點(在本例中為f),之后您便獲得了獎勵r。

如果我理解正確,則從每個節點開始時,兩個較小的3x2正方形表示期望的獎勵值。 現在,很明顯為什么在第一個3x2正方形中每個節點的值都是100:因為y = 1,所以獎勵永遠不會減少。 您可以一直跳來跳去,直到最終到達獎勵節點,並收集r = 100的獎勵。

但是,在第二個3x2正方形中,每跳一次,獎勵就會以0.9的乘數降低。 因此,要獲得從平方c開始的獎勵期望值,請將通過不同途徑獲得的獎勵相加,並乘以它們的概率。 從c到f的幾率是50%,它跳了1次,所以您得到r = 0.5 * 0.9 ^ 0 * 100 =50。然后是路徑cbef:0.5 *(1/3)*(1/3) * 0.9 ^ 2 * 100 = 4.5。 然后是cbcf:0.9 ^ 2 * 0.5 ^ 2 *(1/3)^ 1 * 100 = 6.75。 您將一直按照這種方式進行操作,直到所檢查路徑的收益很小,然后將所有路徑的收益匯總在一起。 這應該為您提供相應節點的結果,即50 + 6.75 + 4.5 + ... = 76。

我猜想這樣做的編程方式是使用修改的dfs / bfs探索長度為N或更短的所有路徑,並將這些路徑的收益加在一起(選擇N使得0.9 ^ N小)。

再加上一點鹽。 我不是強化學習專家。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM