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