强化学习笔记:Q-learning :temporal difference 方法
強化學習筆記:馬爾可夫過程 &馬爾可夫獎勵過程_UQI-LIUWJ的博客-CSDN博客??????
??和MC方法(強化學習筆記:Q-learning_UQI-LIUWJ的博客-CSDN博客)類似,時分TD方法也是 model-free 的,不需要 MDP 的轉移矩陣和獎勵函數。
????????TD 可以從不完整的?episode 中學習,同時也結合了Policy evaluation?中bootstrapping 的思想。
1 TD(0)算法
????????最簡單的算法是?TD(0),每往前走一步,就做一步 bootstrapping,用得到的估計回報(estimated return)來更新上一時刻的值。
????????估計回報被稱為?TD target,TD target 是帶衰減的未來收益的總和。
????????TD error(誤差)?。
????????可以類比于 Incremental Monte-Carlo 的方法,寫出如下的更新方法:
????????
1.1 TD(0)和MC的比較?
?????????在 MC 里面Gi,t??是實際得到的值(可以看成 target),因為它已經把一條軌跡跑完了,可以算每個狀態(tài)實際的 return。
????????TD(0)?沒有等軌跡結束,往前走了一步,就可以更新價值函數。
例如,你想獲得開車去公司的時間,每天上班開車的經歷就是一次采樣。假設今天在路口 A 遇到了堵車,
- TD 會在路口 A 就開始更新預計到達路口 B、路口 C ??,以及到達公司的時間;
- 而 MC 并不會立即更新時間,而是在到達公司后,再修改到達每個路口和公司的時間。
TD 能夠在知道結果之前就開始學習,相比 MC,其更快速、靈活。
1.2 TD(0)相比于MC的優(yōu)勢
| TD 可以在線學習(online learning),每走一步就可以更新,效率高 | MC 必須等游戲結束才可以學習 |
| TD 可以從不完整序列上進行學習 | MC 只能從完整的序列上進行學習 |
| TD 可以在連續(xù)的環(huán)境下(沒有終止)進行學習 | MC 只能在有終止的情況下學習 |
| TD 利用了馬爾可夫性質,在馬爾可夫環(huán)境下有更高的學習效率 | MC 沒有假設環(huán)境具有馬爾可夫性質,利用采樣的價值來估計某一個狀態(tài)的價值,在不是馬爾可夫的環(huán)境下更加有效。 |
2 N-step TD
-
我們可以把 TD 進行進一步的推廣。之前是只往前走一步,即 one-step TD,TD(0)。
-
我們可以調整步數,變成?n-step TD。比如?TD(2),即往前走兩步,然后利用兩步得到的 return,使用 bootstrapping 來更新狀態(tài)的價值。
-
這樣就可以通過 step 來調整這個算法需要多少的實際獎勵和 bootstrapping。
3 DP (Policy evaluation) ,MC 和TD的異同
| MC? | DP | TD | |
| Bootstrapping:更新時使用了估計 | MC 沒用 bootstrapping,因為它是根據實際的 return 來更新。 | DP 用了 bootstrapping。 | TD 用了 bootstrapping。 |
| Sampling:更新時通過采樣得到一個期望 | MC 是純 sampling 的方法。 | DP 沒有用 sampling,它是直接用 Bellman expectation equation 來更新狀態(tài)價值的。 | TD 用了 sampling。 |
| 是否有偏估計 | 無偏估計 | 有偏估計 |
?
- 如果 TD 需要更廣度的 update,就變成了 DP(因為 DP 是把所有狀態(tài)都考慮進去來進行更新)。
- 如果 TD 需要更深度的 update,就變成了 MC。
- 右下角是窮舉的方法(exhaustive search),窮舉的方法既需要很深度的信息,又需要很廣度的信息。
總結
以上是生活随笔為你收集整理的强化学习笔记:Q-learning :temporal difference 方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文笔记:Temporal Regula
- 下一篇: 强化学习笔记: generalized