强化学习6——Policy-based RL(MC policy gradient)
文章目錄
- Policy-based RL
- 思路
- 特點
- 解決噪聲問題
- use temporal causality
- include a baseline
- 方法
- MC policy gradient
Policy-based RL
思路
基于MC采樣的更新方法:
特點
無偏但是噪聲大,噪聲是因為它是隨機采樣的,好的結果和壞的結果差距較大。
解決噪聲問題
use temporal causality
在時序上處理(REINFORCE)
上式梯度更新變為下式,某時刻的獎勵只與當前時刻相關,這樣可以減少無必要的相關性:
include a baseline
再將上式變為下式,減去一個bias,這個bias可以取值為期望,這樣就可以平均一些很離譜的價值:
可以將b取為:
方法
MC policy gradient
??(采樣) 這里首先假設一個馬爾科夫過程,我們對這個馬爾科夫鏈進行采樣如下
τ=(s0,a0,r1,…sT?1,aT?1,rT,sT)~(πθ,P(st+1∣st,at))\tau=\left(s_{0}, a_{0}, r_{1}, \ldots s_{T-1}, a_{T-1}, r_{T}, s_{T}\right) \sim\left(\pi_{\theta}, P\left(s_{t+1} \mid s_{t}, a_{t}\right)\right)τ=(s0?,a0?,r1?,…sT?1?,aT?1?,rT?,sT?)~(πθ?,P(st+1?∣st?,at?))
?
??(要優化的函數)J(θ)=Eπθ[∑t=0T?1R(st,at)]=∑τP(τ;θ)R(τ)J(\theta)=\mathbb{E}_{\pi_{\theta}}\left[\sum_{t=0}^{T-1} R\left(s_{t}, a_{t}\right)\right]=\sum_{\tau} P(\tau ; \theta) R(\tau)J(θ)=Eπθ??[∑t=0T?1?R(st?,at?)]=∑τ?P(τ;θ)R(τ)
(其中R(τ)=∑t=0T?1R(st,at)R(\tau)=\sum_{t=0}^{T-1} R\left(s_{t}, a_{t}\right)R(τ)=∑t=0T?1?R(st?,at?), P(τ;θ)=μ(s0)∏t=0T?1πθ(at∣st)p(st+1∣st,at)P(\tau ; \theta)=\mu\left(s_{0}\right) \prod_{t=0}^{T-1} \pi_{\theta}\left(a_{t} \mid s_{t}\right) p\left(s_{t+1} \mid s_{t}, a_{t}\right)P(τ;θ)=μ(s0?)∏t=0T?1?πθ?(at?∣st?)p(st+1?∣st?,at?))
?
??(要優化的目標)θ?=arg?max?θJ(θ)=arg?max?θ∑τP(τ;θ)R(τ)\theta^{*}=\underset{\theta}{\arg \max } J(\theta)=\underset{\theta}{\arg \max } \sum_{\tau} P(\tau ; \theta) R(\tau)θ?=θargmax?J(θ)=θargmax?∑τ?P(τ;θ)R(τ)
?
??(用于優化的梯度)?θJ(θ)=∑τP(τ;θ)R(τ)?θlog?P(τ;θ)\nabla_{\theta} J(\theta)=\sum_{\tau} P(\tau ; \theta) R(\tau) \nabla_{\theta} \log P(\tau ; \theta)?θ?J(θ)=∑τ?P(τ;θ)R(τ)?θ?logP(τ;θ)
?
??(用MC蒙特卡洛采樣的方法近似梯度)?θJ(θ)≈1m∑i=1mR(τi)?θlog?P(τi;θ)\nabla_{\theta} J(\theta) \approx \frac{1}{m} \sum_{i=1}^{m} R\left(\tau_{i}\right) \nabla_{\theta} \log P\left(\tau_{i} ; \theta\right)?θ?J(θ)≈m1?∑i=1m?R(τi?)?θ?logP(τi?;θ)
?
?? (分解核函數)?θlog?P(τ;θ)=∑t=0T?1?θlog?πθ(at∣st)\nabla_{\theta} \log P(\tau ; \theta) =\sum_{t=0}^{T-1} \nabla_{\theta} \log \pi_{\theta}\left(a_{t} \mid s_{t}\right)?θ?logP(τ;θ)=∑t=0T?1??θ?logπθ?(at?∣st?)
?
?? (最后的近似梯度,amazing!!!)?θJ(θ)≈1m∑i=1mR(τi)∑t=0T?1?θlog?πθ(ati∣st)\nabla_{\theta} J(\theta) \approx \frac{1}{m} \sum_{i=1}^{m} R\left(\tau_{i}\right) \sum_{t=0}^{T-1} \nabla_{\theta} \log \pi_\theta\left(a_{t}^{i} \mid s_{t}\right)?θ?J(θ)≈m1?∑i=1m?R(τi?)∑t=0T?1??θ?logπθ?(ati?∣st?)
從上面MC近似的梯度來看,這里并不一定需要model-base。
總結
以上是生活随笔為你收集整理的强化学习6——Policy-based RL(MC policy gradient)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 强化学习6——Value-based R
- 下一篇: 机器人学一些概念2——四元数,D-H 参