强化学习—— 经验回放(Experience Replay)
生活随笔
收集整理的這篇文章主要介紹了
强化学习—— 经验回放(Experience Replay)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
強(qiáng)化學(xué)習(xí)—— 經(jīng)驗回放(Experience Replay)
- 1、DQN的缺點
- 1.1 DQN
- 1.2 DQN的不足
- 1.2.1 經(jīng)驗浪費(fèi)
- 1.2.2 相關(guān)更新(correlated update)
- 2 經(jīng)驗回放
- 2.1 簡介
- 2.2 計算步驟
- 2.3 經(jīng)驗回放的優(yōu)點
- 3. 改進(jìn)的經(jīng)驗回放(Prioritized experience replay)
- 3.1 基本思想
- 3.2 重要性抽樣(importance sampling)
- 3.2.1 抽樣方式
- 3.2.2 學(xué)習(xí)率變換(scaling learning rate)
- 3.2.3 訓(xùn)練過程
- 3.3 總結(jié)
1、DQN的缺點
1.1 DQN
- 近似最優(yōu)動作價值函數(shù):Q(s,a;W)~Q?(s,a)Q(s,a;W)\sim Q^\star (s,a)Q(s,a;W)~Q?(s,a)
- TD error:δt=qt?yt\delta_t=q_t-y_tδt?=qt??yt?
- TD Learning:L(W)=1T∑t=1Tδt22L(W)=\frac{1}{T}\sum_{t=1}^{T} \frac{\delta_t^2}{2}L(W)=T1?t=1∑T?2δt2??
1.2 DQN的不足
1.2.1 經(jīng)驗浪費(fèi)
- 一個 transition為:(st,at,rt,st+1)(s_t,a_t,r_t,s_{t+1})(st?,at?,rt?,st+1?)
- 經(jīng)驗(所有的transition)為:{(s1,a1,r1,s2,),...(st,at,rt,st+1),...,sT,aT,rT,sT+1}\{(s1,a1,r1,s2,),...(s_t,a_t,r_t,s_{t+1}),...,s_T,a_T,r_T,s_{T+1}\}{(s1,a1,r1,s2,),...(st?,at?,rt?,st+1?),...,sT?,aT?,rT?,sT+1?}
1.2.2 相關(guān)更新(correlated update)
通常t時刻的狀態(tài)和t+1時刻的狀態(tài)是強(qiáng)相關(guān)的。
r(st,st+1)r(s_t,s_{t+1})r(st?,st+1?)
2 經(jīng)驗回放
2.1 簡介
2.2 計算步驟
- 從buffer中隨機(jī)抽樣:(si,ai,ri,si+1)(s_i,a_i,r_i,s_{i+1})(si?,ai?,ri?,si+1?)
- 計算TD Error:δi\delta_iδi?
- 隨機(jī)梯度為:gi=?δi22?W=δi??Q(si,ai;W)?Wg_i=\frac{\partial \frac{\delta_i^2}{2}}{\partial W}= \delta_i \cdot \frac{\partial Q(s_i,a_i;W)}{\partial W}gi?=?W?2δi2???=δi???W?Q(si?,ai?;W)?
- 梯度更新:W←W?αgiW\gets W-\alpha g_iW←W?αgi?
2.3 經(jīng)驗回放的優(yōu)點
3. 改進(jìn)的經(jīng)驗回放(Prioritized experience replay)
3.1 基本思想
3.2 重要性抽樣(importance sampling)
用非均勻抽樣替代均勻抽樣
3.2.1 抽樣方式
總而言之,TD error越大,被抽樣的概率越大,通常按Mini-batch進(jìn)行抽樣。
3.2.2 學(xué)習(xí)率變換(scaling learning rate)
為了抵消不同抽樣概率造成的學(xué)習(xí)偏差,需要對學(xué)習(xí)率進(jìn)行變換
- SGD:W←W?α?gW\gets W-\alpha \cdot gW←W?α?g
- 均勻抽樣:學(xué)習(xí)率對于所有transition都一樣(轉(zhuǎn)換因子為1):p1=p2=...=pnp_1=p_2=...=p_np1?=p2?=...=pn?
- 非均勻抽樣:高概率對應(yīng)低學(xué)習(xí)率:(n?pt)?ββ∈[0,1](n\cdot p_t)^{-\beta}\\ \beta \in [0,1](n?pt?)?ββ∈[0,1]網(wǎng)絡(luò)剛開始訓(xùn)練時,β設(shè)置較小,隨著網(wǎng)絡(luò)訓(xùn)練,逐漸增加β至1。
3.2.3 訓(xùn)練過程
3.3 總結(jié)
| (st,at,rt,st+1)(s_t,a_t,r_t,s_{t+1})(st?,at?,rt?,st+1?) | pt∝∣δt∣+?p_t \propto |\delta_t|+\epsilonpt?∝∣δt?∣+? | α?n?(pt)?β\alpha \cdot n\cdot (p_t)^{-\beta}α?n?(pt?)?β |
| (st+1,at+1,rt+1,st+2)(s_{t+1},a_{t+1},r_{t+1},s_{t+2})(st+1?,at+1?,rt+1?,st+2?) | pt+1∝∣δt+1∣+?p_{t+1}\propto |\delta_{t+1}|+\epsilonpt+1?∝∣δt+1?∣+? | α?n?(pt+1)?β\alpha \cdot n\cdot (p_{t+1})^{-\beta}α?n?(pt+1?)?β |
| (st+2,at+2,rt+2,st+3)(s_{t+2},a_{t+2},r_{t+2},s_{t+3})(st+2?,at+2?,rt+2?,st+3?) | pt+2∝∣δt+2∣+?p_{t+2}\propto |\delta_{t+2}|+\epsilonpt+2?∝∣δt+2?∣+? | α?n?(pt+2)?β\alpha \cdot n\cdot (p_{t+2})^{-\beta}α?n?(pt+2?)?β |
本文內(nèi)容為參考B站學(xué)習(xí)視頻書寫的筆記!
by CyrusMay 2022 04 10
我們在小孩和大人的轉(zhuǎn)角
蓋一座城堡
——————五月天(好好)——————
總結(jié)
以上是生活随笔為你收集整理的强化学习—— 经验回放(Experience Replay)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 强化学习—— TD算法(Sarsa算法+
- 下一篇: 可视化篇(二)———使用matplotl