一般而言,actor的策略就是gradient ascent
actor和environment、reward的關係如下:
在乙個回合episode中,這些state和action組成一條軌跡:
trajectoryτ=
\textbf \space \tau = \lbrace s_1,a_1,s_2,a_2,\dots,s_t,a_t \rbrace
trajectoryτ=
agent一般是乙個神經網路,θ是它的引數,輸出是action和對應的概率,如在這個外星人入侵的小遊戲中,輸出是三個離散的量:左移、右移和**,0.7、0.2、0.1分別對應他們被執行的概率。
那麼整個軌跡被sample到的概率為:
p θ(
τ)=p
(s1)
pθ(a
1∣s1
)p(s
2∣s1
,a1)
pθ(a
2∣s2
)p(s
3∣s2
,a1)
…=p(
s1)∏
pθ(a
t∣st
)p(s
t+1∣
st,a
t)\begin p_\theta(\tau)&=p(s_1)p_\theta(a_1|s_1)p(s_2|s_1,a_1)p_\theta(a_2|s_2)p(s_3|s_2,a_1)\dots \\ &=p(s_1)\prod p_\theta(a_t|s_t)p(s_|s_t,a_t) \end
pθ(τ)
=p(
s1)
pθ(
a1∣
s1)
p(s2
∣s1
,a1
)pθ
(a2
∣s2
)p(
s3∣
s2,
a1)
…=p(
s1)
∏pθ
(at
∣st
)p(s
t+1
∣st
,at
)在這個過程中,actor會不斷地根據環境反饋的reward來更新他的策略。那麼在這條軌跡中可以獲得reward為:
ok,我們要做的就是使得rˉθ
\bar r_\theta
rˉθ
最大化,採用的方法是梯度法,即求出 ▽rˉ
θ\********down \bar r_\theta
▽rˉθ
,計算如下:
式中,n為取樣數,t為步數。取樣n筆τ
\tau
τ然後求平均。
通過引入log,將累乘變成累加。
然後使用計算出來的▽rˉ
θ\********down \bar r_\theta
▽rˉθ
去更新θ,η為學習速率,從而使得學習到引數會趨向於獲取更大的reward。
θ ←θ
+η▽r
ˉθ\theta\larr\theta+\eta \********down \bar r_\theta
θ←θ+η▽
rˉθ
這樣,在實施的時候,如果乙個action獲得的reward越大,在更新引數θ後,actor就會越傾向於sample這個action。
但是這樣的更新策略還存在一些問題,actor執行action的依據是概率,如果某個action一直不被sample到,那麼machine就永遠不知道執行這個action可以獲得的reward是多少。而所有action的概率加起來和為1,那麼其他被sample到的action的概率會不斷增加,沒有被sample到的action的概率則會不斷減小。這樣machine就容易沉迷在容易獲取的小reward中,而失去探索未知的動力。
為了解決這個問題,只需要讓你的reward不要永遠是正定的,因此引入乙個基礎偏移量,將r(τ
n)r(\tau^n)
r(τn
)改為r(τ
n)−b
r(\tau^n)-b
r(τn)−
b,這樣reward就會有正有負,那些只能獲得較小reward(比如小於b)的action的概率就不會永遠增大,這就增加了其他action被sample到的概率。
通常取b≈e
[r(τ
)]b≈e[r(
τ)]
強化學習筆記
1.q learning與sarsa區別 lambda 就是乙個衰變值,他可以讓你知道離獎勵越遠的步可能並不是讓你最快拿到獎勵的步,所以我們想象我們站在寶藏的位置,回頭看看我們走過的尋寶之路,離寶藏越近的腳印越看得清,遠處的腳印太渺小,我們都很難看清,那我們就索性記下離寶藏越近的腳印越重要,越需要被...
強化學習筆記
policy iteration 隨機選擇乙個策略,交替做兩件事 策略評價,和策略改進,則可以得到最優的策略。其中,策略評價即policy evalution,為當前策略計算值函式v 策略改進即policy improvement,即給定乙個值函式,得到乙個改進的策略。value iteration...
強化學習 學習筆記
強化學習任務通常用馬爾可夫決策過程來描述 強化學習任務對應了四元組 強化學習的目標是在環境中不斷地嘗試而學得乙個 策略 policy 策略有兩種表示方法 確定性策略 表示為函式 隨機性策略 表示為概率 策略的優劣在於長期執行這一策略後得到的累積獎賞。強化學習任務中,學習的目的就是要找到能使長期累積獎...