深度增強學習David Silver(四)——Model-Free Prediction
本節課主要介紹:
- Monte-Carlo Learning
- Temporal-Difference Learning
TD(λ) TD(\lambda)
Lecture03講到了已知環境的MDP,也就是做出行動之後知道到達哪個狀態及獎勵,但是現實中大部分情況下狀態和獎勵是未知的,這種情況稱為model-free,即環境模型未知。本節課探討prediction,估計未知環境的MDP的價值函式,下節課講control。
Monte-Carlo Learning
Monte-Carlo是不知道MDP的轉移函式及獎勵,直接從過去的episode中進行學習的方法。一個episode指從開始到結束:
S_1,A_1,R_1,...,S_k
。
- MC學習完整的過程,沒有bootstrap,也就是要等一個episode完成了,MC才開始學習。
- 之前講到return
Gt=Rt+1+γRt+2+...+γT−1RT G_t=R_{t+1}+\gamma R_{t+2}+...+\gamma^{T-1}R_T,並且價值函式等於return的期望:vπ(s)=Eπ[Gt|St=s] v_\pi(s)=\sf{E}_\pi[G_t|S_t=s]。MC估計的價值等於return的平均值。平均值和期望的差別在於:平均值是一個統計學概念,是實驗後根據實際結果統計得到的樣本的平均值;期望是一個概率論概率,是實驗前根據概率分佈“預測”的樣本的平均值。
MC的狀態s的價值評估過程如下:
for state
s
in an episode: for time-step t:
N(s) \leftarrow N(s)+1
S(s) \leftarrow S(s)+G_t
V(s) = S(s)/N(s)
V(S_t)
還可以用以下方式進行更新: V(S_t) \leftarrow V(S_t)+\frac{1}{N(S_t)}(G_t-V(S_t))
在某些不穩定的問題中,可以用
\alpha
更新: V(S_t) \leftarrow V(S_t)+\alpha(G_t-V(S_t))
當經過足夠的迴圈,
N(s) \rightarrow \infty
,V(s) \rightarrow v_\pi(s)
Temporal-Difference Learning
Temporal-Difference也不知道MDP的轉移函式及獎勵,但是它不需要等episode結束就可以學習。
TD的目標是
R_{t+1}+\gamma V(S_{t+1})
,是v_\pi(S_t)
的無偏差估計,G_t
也是v_\pi(S_t)
的無偏差估計,其中R_{t+1}+\gamma V(S_{t+1})
的方差比G_t
低:R_{t+1}+\gamma V(S_{t+1})
依賴於多次隨機的動作、轉移、獎勵,而G_t
只依賴於一次隨機的動作、轉移、獎勵。TD的誤差(error)是\delta_t= R_{t+1}+\gamma V(S_{t+1})-V(S_t)
。
比較
比較專案 | Monte-Carlo | Temporal-Difference |
---|---|---|
相同點 | 從經驗池中學習;model-free; | 從經驗池中學習;model-free; |
不同點 | 從完整的episode中學習,沒有bootstrap; 價值=return的均值; 根據真實的return G_t 更新V(S_t) |
從不完整的episode,使用bootstrap; 基於估計的值更新另一個值; 根據估計的返回值 R_{t+1}+\gamma V(S_{t+1}) 更新V(S_t) |
優缺點 | 高方差,零誤差(因為根據真實值來計算的); 具有很好的收斂效果; 對初始值不敏感; 在non-Markov環境中比較高效 |
低方差,有誤差; 比MC高效; TD(0)收斂到 v_\pi(s) ;對初始值更敏感; 充分利用了Markov性質,在Markov環境中比較高效 |
以下是MC、TD和DP的對比:
比較 | MC | TD | DP |
---|---|---|---|
bootstrap:update involves an estimate | no | yes | yes |
sample:update samples an expectation | yes | yes | no |
TD(λ \lambda)
定義經過n步之後的return和價值函式:
G_t^{(n)}=R_{t+1}+\gamma R_{t+2}+...+\gamma^{n-1}R_{t+n}+\gamma^nV(S_{t+n})
V(S_t)\leftarrow V(S_t)+\alpha (G_t^{(n)}-V(S_t))
\lambda
-return G_t^\lambda
使用幾何權值(1-\lambda)\lambda^{n-1}
將所有的n-step return加起來: G_t^\lambda=(1-\lambda)\sum_{n=1}^{\infty}\lambda^{n-1}G_t^{(n)}
其中權值相加等於1:
(1-\lambda)+(1-\lambda)\lambda+(1-\lambda)\lambda^2+…+(1-\lambda)\lambda^n
=1+\lambda^n\approx1
V(S_t)\leftarrow V(S_t)+\alpha (G_t^{\lambda}-V(S_t))
TD(\lambda)
分為forward-view和backward-view。Forward-view TD(\lambda)
向前看,往未來的方向更新資訊,前面講的就是forward-view。而Backward-view TD(\lambda)
根據已發生的事情更新資訊,和TD-error \delta_t
和eligibility trace E_t(s)
成比例。 \delta_t=R_{t+1}+\gamma V(S_{t+1})-V(S_t)
V(s)\leftarrow V(s)+\alpha \delta_t E_t(s)
當
\lambda=0
時,只更新當前狀態: E_t(s)=1(S_t=s)
假設在一個episode中,在時間k,經過狀態s,則:
\begin{align}E_t(s) & =\gamma E_{t-1}(s)+1(S_t=s)\\ & =\begin{cases}0&\text{if t $\lt$ k }\\ (\gamma \lambda)^{t-k}&\text{if t $\ge$ k }\end{cases}
\end{align}
此時online的更新累加的error為:
\sum_{t=1}^{T}\alpha \delta_t E_t(s)=\alpha \sum_{t=k}^{T}(\gamma \lambda)^{t-k}\delta_t=\alpha (G_k^\lambda-V(S_k))
TD(1)
近似於Monte-Carlo,如果價值函式更新是offline,那麼TD(1)
就是MC。
updates分為offline和online:
Offline的更新在一個episode裡面累加,但是隻在episode結束後應用;對於offline更新的和,forward-view和backward-view
TD(λ) TD(\lambda)相等:
∑Tt=1αδtEt(s)=∑Tt=1α(Gλt−V(St))1(St=s) \sum_{t=1}^T \alpha \delta_t E_t(s)=\sum_{t=1}^T \alpha (G_t^\lambda-V(S_t))1(S_t=s)Online的更新在一個episode的每一步應用。forward-view和backward-view
TD(λ) TD(\lambda)略有不同。- Exact online
TD(λ) TD(\lambda)achieves perfect equivalence.
最後總結一下forward
TD(\lambda)
和backward TD(\lambda)
(其中相等是指在episode結束之後的更新之和相等): 相關文章
- 深度增強學習David Silver(五)——Model-Free Control
- 深度學習領域的資料增強深度學習
- 深度學習煉丹-資料處理和增強深度學習
- Deep Reinforcement Learning 深度增強學習資源
- 「AlphaGo 之父」David Silver最新演講,傳授強化學習的十大原則Go強化學習
- 深度學習及深度強化學習研修深度學習強化學習
- 深度學習煉丹-資料預處理和增強深度學習
- 基於深度學習的單通道語音增強深度學習
- 深度學習+深度強化學習+遷移學習【研修】深度學習強化學習遷移學習
- 深度學習及深度強化學習應用深度學習強化學習
- 演算法金 | 深度學習影像增強方法總結演算法深度學習
- 【強化學習】強化學習/增強學習/再勵學習介紹強化學習
- 深度強化學習揭秘強化學習
- 深度強化學習day01初探強化學習強化學習
- 學習Java:1.5:增強的forJava
- 在深度學習訓練過程中如何設定資料增強?深度學習
- ML.NET 3.0 增強了深度學習和資料處理能力深度學習
- 《深度強化學習》手稿開放了!強化學習
- 增強學習和OpeAI Gym的介紹:基礎增強學習問題的演示AI
- 深度學習、強化學習核心技術實戰深度學習強化學習
- 關於強化學習、深度學習deeplearning研修強化學習深度學習
- 楊強:深度學習、強化學習、遷移學習的結合及應用進展深度學習強化學習遷移學習
- 李巨集毅深度學習 筆記(四)深度學習筆記
- 機器學習、深度學習、強化學習課程超級大列表!機器學習深度學習強化學習
- 深度強化學習核心技術實戰強化學習
- 深度學習(一)深度學習學習資料深度學習
- 強化學習(十六) 深度確定性策略梯度(DDPG)強化學習梯度
- 語音增強和DSP演算法學習演算法
- 深度學習(四)之電影評論分類深度學習
- SilverLigth學習筆記--筆記
- 微軟Silverlight學習地址微軟
- 備戰世界盃!先用深度學習與強化學習踢場 FIFA 18深度學習強化學習
- 深度強化學習技術開發與應用強化學習
- 深度強化學習的 18 個關鍵問題強化學習
- 深度學習學習框架深度學習框架
- 帶你讀論文:基於深度學習的影像分類中資料增強的有效性深度學習
- 深度學習四從迴圈神經網路入手學習LSTM及GRU深度學習神經網路
- 深度學習深度學習