強化學習系列(六):時間差分演算法(Temporal-Difference Learning)
一、前言
在強化學習系列(五):蒙特卡羅方法(Monte Carlo)中,我們提到了求解環境模型未知MDP的方法——Monte Carlo,但該方法是每個episode 更新一次(episode-by-episode)。本章介紹一種單步更新的求解環境模型未知MDP的方法——Temporal-Difference Learning(TD)。TD(0)演算法結合了DP 和Monte Carlo演算法的優點,不僅可以單步更新,而且可以根據經驗進行學習。
本章同樣將強化學習問題分為prediction 和 control,分別介紹TD是如何用於求解這兩類問題的。
二、TD prediction
TD(0)演算法結合了DP 和Monte Carlo演算法的優點,不僅可以單步更新,而且可以根據經驗進行學習。根據他們的backup圖可以直觀的看出三者區別:
MC演算法需要等到一個episode 結束後才能更新value,TD和DP可以單步更新,但區別在於TD不需要知道確切的環境模型(狀態轉移概率等),可以根據下一步的估計來更新當前估計value。下面我們總結一下TD學習特點:
2.1 MC and TD
為了更好的理解TD演算法,將其和MC演算法進行進一步比較:
兩者的目標都是根據經驗估計給定策略下的value function
但:
- MC更新用的是一個episode 的從state s到 terminal的實際return ,表現為一個episode更新一次
- TD更新用的是下一個state 的估計return ,通常叫做TD target
這兩者有什麼差別呢,舉個簡單例子:開車回家例子, 下班回家估計到家所需時間,離開辦公室估計30分鐘後到家,5分鐘後找到車發現下雨了,估計下雨堵車還有35分鐘到家,下班20分鐘時下了高速發現沒有堵車,估計還有15分鐘到家,結果下班30分鐘時遇到堵車,估計還有10分鐘到家,然後下班40分鐘後到了家附近的小路上,估計還有3分鐘到家,3分鐘後到家了。
根據MC演算法和TD演算法(),作圖如下:
我們先看左圖,運用MC演算法,舉個例子,當離開高速你認為還有15分鐘就到家了,然而,實際需要23分鐘,此時,假設step size ,那麼預計時間會變成15+4 = 19,距離最終到家還有4分鐘差值。但這些更新都是離線的,不會發生在你到家的途中,只有當到家的時候才知道原來估計的時間需要修改。
但真的需要等到回家了再調整估計時間嗎?如果採用MC方法,答案是肯定的,但是採用TD就不會。可以實時對估計回家時間進行調整。
2.2 Advantages and Disadvantages of MC vs. TD
那麼兩者的方差和偏差如何呢?
由於TD target 是真實的TD target的有偏估計,所有MC是無偏差的,但TD是有偏差的。
但TD target的方差比return低,因為return依賴一系列隨機的狀態量和動作量,和reward ,但TD target 只依賴一組隨機的狀態量和動作量,和reward 。
總結一下MC和TD的演算法優缺點:
2.4 TD prediction演算法虛擬碼
三、TD control
本節針對control problem,將分別介紹on-policy TD(sarsa) 和off-policy TD (importance sample TD、QLearning、expected sarsa等)
3.1 Sarsa: On-policy TD control
和MC一樣,TD中Policy evaluation 估計的是action-value function。更新方式如下:
由於更新一次action-value function需要用到5個量,所以該演算法被稱為sarsa演算法,虛擬碼如下:
注意,第一次選擇動作使用的Policy 為-greedy policy,然後在整個episode中選擇動作使用的Policy都為-greedy policy,所以該演算法為on-policy TD。
3.2 Off-policy learning
- on-policy用於生成取樣資料的策略和用於evlauate、improve的策略是同一個策略π 。
- off-policy用於取樣的策略b (behavior policy) 和用於evlauate、improve的策略 π (target policy) 是兩個不同的策略。通常情況下target policy 是確定性策略,而behavior policy是隨機策略。
且在Off-policy中,提到了off-policy常用的一種方法,基於importance sample的off-policy方法。在這裡我們首先介紹importance sample TD,然後介紹另一種 off-policy的思路。
3.3 Off-policy TD control:importance sample TD
在強化學習系列(五):蒙特卡羅方法(Monte Carlo)中,我們以ordinary importance sampling 為例,比較importance sample 的MC和TD的區別。
importance sample MC
- 採用behavior policy b 生成的資料來估計Target policy
- 將b對應的return 乘以一個importance sample ratio 可以獲得Target policy 的return :(每個episode計算一次)
- 然後再更新value: