2017-04-15 57 views
0

我想爲Chrome恐龍遊戲(可以在離線時玩的人)實施Q-Learning。同一國家在強化學習中獲得的不同獎勵

我將自己的狀態定義爲:到下一個障礙物的距離,速度和下一個障礙物的大小。

對於獎勵,我想使用成功通過障礙的數量,但可能發生的情況是,同一個州有不同的立即獎勵。相同類型的障礙物可能會在遊戲後期重新出現,但通過它的回報會更高,因爲已經通過了更多障礙。

我現在的問題是:這是一個問題還是Q-Learning仍然有效?如果沒有更好的方法?

+0

我會建議一個獎勵計劃,對死亡有很大的負面回報。每次分數增加時都會得到積極的回報(可能與分數增加相等)。我沒有看到Q-learning的問題 - 我已經看到了使用香草Q-learning的驚人pacman代理。恐龍遊戲不應該是一個問題。 –

回答

2

MDP的定義說,獎勵r(s,a,s')被定義爲採取行動a狀態s搜索狀態s'預期回報。這意味着給定的(s,a,s')可以有恆定的回報,或者只要有明確的期望值,就可以分配獎勵。正如你所定義的那樣,獎勵與通過的障礙數量成正比。因爲遊戲可以永遠持續下去,某些(s,a,s')的獎勵開始看起來像是自然數的總和。這個系列發散,所以沒有期望。在實踐中,如果你運行Q-learning,你可能會看到價值函數發生偏差(NaN值),但是在學習過程中的政策可能沒問題,因爲最快增長的值將是最好的狀態動作配對。

爲了避免這種情況,您應該選擇不同的獎勵功能。你可以獎勵代理人,無論它的分數是什麼時候死亡(最終的獎勵很大,否則爲零)。只要代理人沒有其他選擇,只能繼續前進,你也可以給予生命獎勵(每個時間步驟的小獎勵)。只要最高的總獎勵分配給最長的運行(並且對元組的回報的預期是明確的),這很好。