強化學習_Temporal-Difference Learning
強化學習, 學習筆記
強化學習中最具代表的技術,應該就是TD-learning
因為它結合了動態規劃以及蒙特卡羅(稍後再介紹)兩者的優點
前面介紹的動態規劃的很大缺點就是他必須要有模型(model-based)
但蒙特卡羅以及TD-learning則不需要
也就是說這兩者都是model-free的模型
蒙特卡羅學習(Monte Carlo Learning)
蒙特卡羅(MC)有許多的特性,簡單說有以下幾點:
- 主要適用於情境(episodes)方面的學習
- 從經驗中學習,不需要知道模型為何
蒙特卡羅的策略函數是由每次結狀態所獲得的獎勵來更新的
透過不斷的修正,最終可以使策略函數越來越準確
時間差學習(Temporal-Difference Learning)
TD-learning可以算是蒙特卡羅的強化版
蒙特卡羅每次更新時必須要等到一個episodes的結束
所以相對的效率會較差,而TD-learning則不需要
它的特色就是在每一次狀態結束時就立即更新策略
TD-learning學習的優缺點
相較於蒙特卡羅(MC),TD-learning的優點包含:
- TD-learning在每一次的狀態中學習,MC則是等到episodes結束才學
- 因為TD-learning在每一次的狀態學習,所以就算episodes不是完整的也有學習到
- TD-learning不需要episodes,它可以在連續任務中學習
TD-learning效率比起MC更好
但是也因為TD-learning每次都在更新
所以會有較高的variance,MC則幾乎不會有
比較動態規劃(DP)、蒙特卡羅(MC)以及時間差(TD)
DP:
MC:
TD:
MC等到episodes結束再一次更新,DP以及TD則可以持續更新
但DP的更新是利用模型計算而來
TD的更新則是試驗而來
On-policy以及Off-policy
On-policy意即從同一策略的經驗中學來並改進
Off-policy則是從其他地方學習來,就像真的在學習一樣
Sarsa
Sarsa是一種On-policy的學習方法
對於On-plicy的方法來說
我們必須要能夠對當前的 s 以及 a 進行估計
也就是得到動作價值函數 qπ(s,a)
我們也可以透過下圖更清楚的了解 episodes 之間的組成
Sarar的由來就是他描述了 state-action pair 到下一個 state-action pair 的轉換
這是Sarsa的算法,終止的條件決定於我們是採用哪種策略
Q-Learning
Q-Learning是一種Off-policy的學習方法
他和Sarsa很像
但off-policy的優點就在於
我們可以重複利用舊有的策略,來不停的試驗
差異在於Q-Learning直接計算所有並貪婪的選擇最大的動作價值函數 Q
這是Q-learning的算法
參考:Reinforcement Learning: An Introduction(Richard S. Sutton and Andrew G. Barto)第5,6節