深度增強學習David Silver(五)——Model-Free Control

本節課主要內容:

  • On-Policy Monte-Carlo Control
  • On-Policy Temporal-Difference Learning
  • Off-Policy Learning

On-Policy Monte-Carlo Control

上節課講了model-free的預測,這節課講優化控制。
回憶一下之前的內容,lecture03講到對於給定模型的MDP,通過V(s)改進策略:

π(s)=argmaxaARas+PassV(s)

如果我們想知道v(s)的值,那我們總是需要求出環境的模型。而行動價值函數Q(s,a) 能夠讓我們在不知道環境模型的情況下進行控制,Q評估各個狀態的各個行爲有多好。因此對於model-free的MDP,我們通過Q(s,a) 改進策略:
π(s)=argmaxaAQ(s,a)

但是每次總是選擇最好的Q保證了exploitation,不能滿足exploration,也就是沒有遍歷足夠多的情況。因此用ϵ -Greedy來保證優化。一開始所有的m個行動以非零概率初始化,以1ϵ 的概率選擇最好的情況,以ϵ 的概率隨機選擇行動。
π(a|s)=ϵ/m+1ϵϵ/mif a*=argmaxaAQ(s,a)otherwise
以下證明ϵ -Greedy的策略π 總是能得到改進
qπ(s,π(s))=aAπ(a|s)qπ(s,a)=ϵ/maAqπ(s,a)+(1ϵ)maxaAqπ(s,a)ϵ/maAqπ(s,a)+(1ϵ)aAπ(a|s)ϵ/m1ϵqπ(s,a)=aAπ(a|s)qπ(s,a)=vπ(s)

因此,我們是使用lecture04 講到的Monte-Carlo進行policy evaluation,用ϵ -greedy進行policy improvement。要找到最優值,就要對exploration和exploitation進行平衡,使用Greedy in the Limit with Infinite Exploration (GLIE),即在有限狀態下進行無限探索的貪婪算法,使用GLIE需要兩個條件:

  1. 所有的狀態-行動對被無限地探索很多次。
    limkNk(s,a)=
  2. 策略最終收斂到一個貪心算法。
    limkπk(a|s)=1(a=argmaxaAQk(s,a))

舉個例子,若ϵk=1k ,當ϵ 接近於0的時候,ϵ -greedy是GLIE。

現在我們有了一個完整的未知環境MDP的解決方案:GLIE Monte-Carlo Control。

  1. 使用策略π 採樣一個episode:S1,A1,R2,...,STπ
  2. 更新episode中的每個狀態和行動:
    N(St,At)N(St,At)+1
    Q(St,At)Q(St,At)+1N(St,At)(GtQ(St,At))
  3. 基於新的行動-價值函數改進策略
    ϵ1/k
    πϵgreedy(Q)

On-Policy Temporal-Difference Learning

TD相對於MC有很多優點,比如低方差、online、不完整的序列,因此考慮在控制優化使用TD而不是MC:將TD應用到Q(S,A)

Q(S,A)Q(S,A)+α(R+γQ(S,A)Q(S,A))

這稱之爲Sarsa方法,算法如下:
這裏寫圖片描述
這是經過1步的Sarsa算法,和之前的TD算法類似,Sarsa也有經過n步。設經過n步的Q-return爲:
q(n)t=Rt+1+γRt+2+...+γn1Rt+n+γnQ(St+n)
Q(St,At)Q(St,At)+α(q(n)Q(St,At))

Sarsa(λ) 分爲forward-view和backward-view。
1. forward-view中的qλ 使用權值將所有n步的Q-return q(n)t 結合起來。
Q(St,At)Q(St,At)+α(qλQ(St,At))

2. backward-view在online的算法中使用eligibility trace:

E0(s,a)=0
E0(s,a)=γλEt1(s,a)+1(St=s,At=a)
δt=Rt+1+γQ(St+1,At+1)V(St,At)
Q(s,a)Q(s,a)+αδtEt(s,a)

這裏寫圖片描述

Off-Policy Learning

前面討論的都是建立在已知策略的基礎上的,所用的策略就是正在學習的策略,但是有一些情況,我們想學習別的策略,比如我們想學習行爲策略μ(a|s) ,從環境中選擇我們的行動。
爲什麼要關心未知策略的學習呢?

  1. 通過觀察周圍的環境和周圍人的行爲來學習。
  2. 二次使用舊的策略。
  3. 在exporation的時候能夠學習到最優策略。
  4. 在exploitation的時候能夠學習到多個策略。

那怎麼選擇策略呢?使用importance sampling。採用兩個策略πμ ,importance weight爲π/μ

對於off-policy Monte-Carlo使用importance sampling:

  • 使用面向Monte-Carlo的策略μ 產生的return來估計策略π
  • Gπ/μt=π(At|St)μ(At+1|St+1)π(At+1|St+1)μ(At+1|St+1)...π(AT|ST)μ(AT|ST)Gt
  • 更新價值:V(St)V(St)+α(Gπ/μtV(St))

對於off-policy TD使用importance sampling:

  • 使用面向TD的策略μ 產生的return來估計策略π
  • 給TD的目標R+γV(S) 加權
  • 更新價值:V(St)V(St)+α(π(At|St)μ(At|St)(Rt+1+γV(St+1))V(St))
  • 比Monte-Carlo importance sampling的方差小
  • 不需要每一步的策略都相同

針對off-policy的解決方案是Q-learning。off-policy的行動-價值函數Q(s,a) ,它不需要importance sampling。使用行爲策略At+1μ(|St) 選擇下一步動作。Aπ(|St) 是每個狀態可選擇的後繼行動。
這裏寫圖片描述

最後貼上DP和TD的關係:
這裏寫圖片描述

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章