[Reinforcement Learning] Value Function Approximation

爲何須要值函數近似?

以前咱們提到過各類計算值函數的方法,好比對於 MDP 已知的問題可使用 Bellman 指望方程求得值函數;對於 MDP 未知的狀況,能夠經過 MC 以及 TD 方法來得到值函數,爲何須要再進行值函數近似呢?html

其實到目前爲止,咱們介紹的值函數計算方法都是經過查表的方式獲取的:web

  • 表中每個狀態 \(s\) 均對應一個 \(V(s)\)
  • 或者每個狀態-動做 <\(s, a\)>

可是對於大型 MDP 問題,上述方法會遇到瓶頸:算法

  • 太多的 MDP 狀態、動做須要存儲
  • 單獨計算每個狀態的價值都很是的耗時

所以咱們須要有一種可以適用於解決大型 MDP 問題的通用方法,這就是本文介紹的值函數近似方法。即:
\[ \hat{v}(s, \mathbf{w}) \approx v_{\pi}(s) \\ \text{or } \hat{q}(s, a, \mathbf{w}) \approx q_{\pi}(s, a) \]網絡

那麼爲何值函數近似的方法能夠求解大型 MDP 問題?app

對於大型 MDP 問題而言,咱們能夠近似認爲其全部的狀態和動做都被採樣和計算是不現實的,那麼咱們一旦獲取了近似的值函數,咱們就能夠對於那些在歷史經驗或者採樣中沒有出現過的狀態和動做進行泛化(generalize)。函數

進行值函數近似的訓練方法有不少,好比:學習

  • 線性迴歸
  • 神經網絡
  • 決策樹
  • ...

此外,針對 MDP 問題的特色,訓練函數必須能夠適用於非靜態、非獨立同分布(non-i.i.d)的數據。優化

增量方法

梯度降低

梯度降低再也不贅述,感興趣的能夠參考以前的博文《梯度降低法的三種形式BGD、SGD以及MBGD》google

經過隨機梯度降低進行值函數近似

咱們優化的目標函數是找到一組參數 \(\mathbf{w}\) 來最小化最小平方偏差(MSE),即:
\[J(\mathbf{w}) = E_{\pi}[(v_{\pi}(S) - \hat{v}(S, \mathbf{w}))^2]\]spa

經過梯度降低方法來尋優:
\[ \begin{align} \Delta\mathbf{w} &=-\frac{1}{2}\alpha\triangledown_{\mathbf{w}}J(\mathbf{w})\\ &=\alpha E_{\pi}\Bigl[\Bigl(v_{\pi}(S) - \hat{v}(S, \mathbf{w})\Bigr)\triangledown_{\mathbf{w}}J(\mathbf{w})\Bigr] \end{align} \]

對於隨機梯度降低(Stochastic Gradient Descent,SGD),對應的梯度:
\[\Delta\mathbf{w} = \alpha\underbrace{\Bigl(v_{\pi}(S) - \hat{v}(S, \mathbf{w})\Bigr)}_{\text{error}}\underbrace{\triangledown_{\mathbf{w}}\hat{v}(S, \mathbf{w})}_{\text{gradient}}\]

值函數近似

上述公式中須要真實的策略價值函數 \(v_{\pi}(S)\) 做爲學習的目標(supervisor),可是在RL中沒有真實的策略價值函數,只有rewards。在實際應用中,咱們用target來代替 \(v_{\pi}(S)\)

  • 對於MC,target 爲 return \(G_t\)
    \[\Delta\mathbf{w}=\alpha\Bigl(G_t - \hat{v}(S_t, \mathbf{w})\Bigr)\triangledown_{\mathbf{w}}\hat{v}(S_t, \mathbf{w})\]
  • 對於TD(0),target 爲TD target \(R_{t+1}+\gamma\hat{v}(S_{t+1}, \mathbf{w})\)
    \[\Delta\mathbf{w}=\alpha\Bigl(R_{t+1} + \gamma\hat{v}(S_{t+1}, \mathbf{w})- \hat{v}(S_t, \mathbf{w})\Bigr)\triangledown_{\mathbf{w}}\hat{v}(S_t, \mathbf{w})\]
  • 對於TD(λ),target 爲 TD λ-return \(G_t^{\lambda}\)
    \[\Delta\mathbf{w}=\alpha\Bigl(G_t^{\lambda}- \hat{v}(S_t, \mathbf{w})\Bigr)\triangledown_{\mathbf{w}}\hat{v}(S_t, \mathbf{w})\]

在獲取了值函數近似後就能夠進行控制了,具體示意圖以下:



動做價值函數近似

動做價值函數近似:
\[\hat{q}(S, A, \mathbf{w})\approx q_{\pi}(S, A)\]

優化目標:最小化MSE
\[J(\mathbf{w}) = E_{\pi}[(q_{\pi}(S, A) - \hat{q}(S, A, \mathbf{w}))^2]\]

使用SGD尋優:
\[\begin{align} \Delta\mathbf{w} &=-\frac{1}{2}\alpha\triangledown_{\mathbf{w}}J(\mathbf{w})\\ &=\alpha\Bigl(q_{\pi}(S, A)-\hat{q}_{\pi}(S, A, \mathbf{w})\Bigr) \triangledown_{\mathbf{w}}\hat{q}_{\pi}(S, A, \mathbf{w}) \end{align}\]

收斂性分析

略,感興趣的能夠參考David的課件。

批量方法

隨機梯度降低SGD簡單,可是批量的方法能夠根據agent的經驗來更好的擬合價值函數。

值函數近似

優化目標:批量方法解決的問題一樣是 \(\hat{v}(s, \mathbf{w})\approx v_{\pi}(s)\)

經驗集合 \(D\) 包含了一系列的 <state, value> pair:
\[D=\{<s_1, v_1^{\pi}>, <s_2, v_2^{\pi}>, ..., <s_T, v_T^{\pi}>\}\]

根據最小化平方偏差之和來擬合 \(\hat{v}(s, \mathbf{w})\)\(v_{\pi}(s)\),即:
\[ \begin{align} LS(w) &= \sum_{t=1}^{T}(v_{t}^{\pi}-\hat{v}(s_t, \mathbf{w}))^2\\ &= E_{D}[(v^{\pi}-\hat{v}(s, \mathbf{w}))^2] \end{align} \]

經驗回放(Experience Replay):

給定經驗集合:
\[D=\{<s_1, v_1^{\pi}>, <s_2, v_2^{\pi}>, ..., <s_T, v_T^{\pi}>\}\]
Repeat:

  1. 從經驗集合中採樣狀態和價值:\(<s, v^{\pi}>\sim D\)
  2. 使用SGD進行更新:\(\Delta\mathbf{w}=\alpha\Bigl(v^{\pi}-\hat{v}(s, \mathbf{w})\Bigr)\triangledown_{\mathbf{w}}\hat{v}(s, \mathbf{w})\)
    經過上述經驗回放,得到最小化平方偏差的參數值:
    \[\mathbf{w}^{\pi}=\arg\min_{\mathbf{w}}LS(\mathbf{w})\]

咱們常常聽到的 DQN 算法就使用了經驗回放的手段,這個後續會在《深度強化學習》中整理。

經過上述經驗回放和不斷的迭代能夠獲取最小平方偏差的參數值,而後就能夠經過 greedy 的策略進行策略提高,具體以下圖所示:



動做價值函數近似

一樣的套路:

  • 優化目標:\(\hat{q}(s, a, \mathbf{w})\approx q_{\pi}(s, a)\)
  • 採起包含 <state, action, value> 的經驗集合 \(D\)
  • 經過最小化平方偏差來擬合

對於控制環節,咱們採起與Q-Learning同樣的思路:

  • 利用以前策略的經驗
  • 可是考慮另外一個後繼動做 \(A'=\pi_{\text{new}}(S_{t+1})\)
  • 朝着另外一個後繼動做的方向去更新 \(\hat{q}(S_t, A_t, \mathbf{w})\),即
    \[\delta = R_{t+1} + \gamma\hat{q}(S_{t+1}, \pi{S_{t+1}, \mathbf{\pi}}) - \hat{q}(S_t, A_t, \mathbf{w})\]
  • 梯度:線性擬合狀況,\(\Delta\mathbf{w}=\alpha\delta\mathbf{x}(S_t, A_t)\)

收斂性分析

略,感興趣的能夠參考David的課件。

Reference

[1] Reinforcement Learning: An Introduction, Richard S. Sutton and Andrew G. Barto, 2018
[2] David Silver's Homepage

相關文章
相關標籤/搜索