因爲逐漸有人將強化學習應用到
我們可以以上圖來理解強化學習過程,我們機器人
舉例來說,讓機器人玩電玩遊戲:
上圖中
我們希望
強化學習難點:
Reward delay
例如上面所舉得例子裏,只有在開火時,才能獲得Reward ,agent 學習的最後結果是會瘋狂的開火,往左移或往右移,他覺得無所必要,但實際上移動對最後的total Reward 至關重要。還比如在下圍棋時,短期的犧牲可能或換來最後的勝利。agent 的行爲,也即是action 會影響後續他看到的環境。
Asynchronous Advantage Actor-Critic (A3C)
Policy-based Approach(Learning an Actor)
如果我們把
- 模型的輸入:即其觀察到的環境(向量、矩陣等)
- 模型的輸出:每一類動作在最後一層以一個神經元表示,對應其輸出的概率。
需要注意的是:在做
那麼如何決定這個
我們假定
我們拿這個
如上圖所示:
因爲遊戲的隨機性,即使每個回合都採用一樣的
那麼這個期望值
假設一輪遊戲所有經過表示爲
τ={s1,α1,r1,s2,α2,r2,s3,α3,r3,...,sT,αT,rT} R(τ)=∑Tn=1rn - 某一種
τ 出現的概率與actor (模型)有關,即該τ 過程出現的概率爲P(τ|θ)
由上面的分析可知,某一個
但是我們無法遍歷所有的
那麼現在已經找到了
start with θ0 θ1←θ0+η▿R¯θ0 θ2←θ1+η▿R¯θ1 - ………
那麼
可以實際的推導一下
其中:
則:
可以直觀的理解上面
- 當
R(τn) )(注意這裏是一個回合的reward ) 爲正的時候,我們希望調整θ ,增大p(αnt|snt) ,使其在時間t 更大可能選擇αnt - 當
R(τn) 爲正的時候,我們希望調整θ ,減小p(αnt|snt) ,使其在時間t 更小可能選擇αnt
上面的求
Critic
給定一個
那麼如何得到
Monte-Carlo
讓
- 當看到環境
sa 後,直到一輪迴合結束,所積累的reward 爲Ga ,那麼Vpi(sa)=Ga - 當看到環境
sb 後,直到一輪迴合結束,所積累的reward 爲Gb ,那麼Vpi(sb)=Gb
Temporal-Difference
MC VS TD
不同的方法,其
Actor-Critic
我們在上面講到了
如上圖所示,可以直接把
Advantage Actor-Critic
對於