landing_image landing_image landing_image landing_image landing_image landing_image landing_image
portrait

YX.S

成為一個厲害的普通人

強化學習中最具代表的技術,應該就是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節