強化學習筆記6:值函數估計Value function Approximation


introduction

v、q表的問題

  • 解決離散化的s,a,導致q-table存儲量、運算量大
  • 解決連續s、a的表示問題

solution

用帶權重估計函數,估計v or q
\[
\begin{aligned}
\hat{v}(s, \mathbf{w}) & \approx v_{\pi}(s) \\
\text { or } \hat{q}(s, a, \mathbf{w}) & \approx q_{\pi}(s, a)
\end{aligned}
\]

函數估計器

可謂函數逼近,需要函數式可微分的

  • 線性組合
  • 神經網絡

這些不可微

  • 決策樹 decision tree
  • 領域Nearest neighbour
  • 傅里葉/ 小波Fourier/ wavelet bases

incremental methods 遞增方法

Gradient descent 梯度下降

值函數估計:隨機梯度下降法SGD

Table lookup 是 GD的一種特例

類似於機器學習的分類問題,將狀態值寫成0、1向量

Find a target for value function approximation

把估計函數作為一個監督學習
目標是誰呢,通過MC、TD方法,設定目標

生成訓練集

For linear MC

  • 無偏目標估計
  • 局部最優

For linear TD(0)

  • 收斂趨向全局最優

For linear TD(\(\lambda\))

\(\delta\) scalar number
\(E_t\) 維度和s維度一致

  • 前后向 相等

Incremental Control Algorithms

用q函數,替代v函數

收斂性分析

  • 預測學習

    • On-policy:一般邊訓練,邊執行,(s,a)是當前policy產生的
    • off-policy:離線訓練,通過訓練其他策略或者agent產生的(s,a)訓練集


引入Gradient TD,完全滿足貝爾曼方程,無差

  • 控制學習

(√)表示在最優值函數附近振盪

batch methods

For least squares prediction

LS定義,估計誤差平方,求和

相當於經歷重現(experience replay)

  • 從history中sample一個batch
  • 用SGD更新參數w


找到使LS最小的權重\(w^\pi\)

Experience Replay in Deep Q-Networks (DQN)

Two features

  • Experience Relpay:minibatch的數據采樣自memory-D
  • Fixed Q-targets:\(w^-\) 在一個更新batch內 ,保持不變,讓更新過程更穩定

算法流程

  1. Take action at according to ε-greedy policy
  2. Store transition (st,at,rt+1,st+1) in replay memory D
  3. Sample random mini-batch of transitions (s,a,r,s′) from D
  4. Compute Q-learning targets w.r.t. old, fixed parameters \(w^− \)
  5. Optimise MSE between Q-network and Q-learning targets

\[
\mathcal{L}_{i}\left(w_{i}\right)=\mathbb{E}_{s, a, r, s^{\prime}} \sim \mathcal{D}_{i}\left[\left(r+\gamma \max _{a^{\prime}} Q\left(s^{\prime}, a^{\prime} ; w_{i}^{-}\right)-Q\left(s, a ; w_{i}\right)\right)^{2}\right]
\]

  1. 用SGD更新
    偽算法: 注意:
  2. Fixed Q-target \(\theta\),每C steps 更新一次
  3. Experience Replay: minibatch 從 memory D 采樣

Features:
- 隨機采樣,打破了狀態之間的聯系
- 凍結參數,增加了算法的穩定性,選q的網絡參數回合制更新

  • 例子
    DQN in Atari(構成)
    • input: state s (4 frames pictures)
    • output: Q(s,a)
    • CNN: mapping input(s) to output(Q)

LS 最小二乘法 總結

  • Experience replay -> LS solution
  • 迭代次數太多
  • 用線性估計\(\hat v(s,w) = x(s)^Tw\)
  • 直接求解LS

LSP 直接求解

對於線性近似函數:
\[
\hat v(s,w) = x(s)^T w
\]

最終的平衡狀態,梯度=0
求解方程,得到w值關於狀態s和v真值的函數關系

However,真值不知道
缺點是復雜度高,引入了矩陣的逆

Other algorithms




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM