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內 ,保持不變,讓更新過程更穩定
算法流程
- Take action at according to ε-greedy policy
- Store transition (st,at,rt+1,st+1) in replay memory D
- Sample random mini-batch of transitions (s,a,r,s′) from D
- Compute Q-learning targets w.r.t. old, fixed parameters \(w^− \)
- 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]
\]
- 用SGD更新
偽算法:注意:
- Fixed Q-target \(\theta\),每C steps 更新一次
- 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