强化学习6——Policy-based RL(MC policy gradient)

Policy-based RL

思路

基于MC采样的更新方法:

在这里插入图片描述

特点

无偏但是噪声大,噪声是因为它是随机采样的,好的结果和坏的结果差距较大。

解决噪声问题

use temporal causality

在时序上处理(REINFORCE)

在这里插入图片描述

上式梯度更新变为下式,某时刻的奖励只与当前时刻相关,这样可以减少无必要的相关性:

在这里插入图片描述

include a baseline

在这里插入图片描述

再将上式变为下式,减去一个bias,这个bias可以取值为期望,这样就可以平均一些很离谱的价值:

在这里插入图片描述

可以将b取为:在这里插入图片描述

方法

MC policy gradient

  (采样) 这里首先假设一个马尔科夫过程,我们对这个马尔科夫链进行采样如下
τ = ( s 0 , a 0 , r 1 , … s T − 1 , a T − 1 , r T , s T ) ∼ ( π θ , P ( s t + 1 ∣ s t , a t ) ) \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,sT1,aT1,rT,sT)(πθ,P(st+1st,at))

  (要优化的函数) J ( θ ) = E π θ [ ∑ t = 0 T − 1 R ( s t , a t ) ] = ∑ τ 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=0T1R(st,at)]=τP(τ;θ)R(τ)
(其中 R ( τ ) = ∑ t = 0 T − 1 R ( s t , a t ) R(\tau)=\sum_{t=0}^{T-1} R\left(s_{t}, a_{t}\right) R(τ)=t=0T1R(st,at) P ( τ ; θ ) = μ ( s 0 ) ∏ t = 0 T − 1 π θ ( a t ∣ s t ) p ( s t + 1 ∣ s t , a t ) 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=0T1πθ(atst)p(st+1st,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) θ=θargmaxJ(θ)=θ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 ( θ ) ≈ 1 m ∑ i = 1 m R ( τ 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(θ)m1i=1mR(τi)θlogP(τi;θ)

   (分解核函数) ∇ θ log ⁡ P ( τ ; θ ) = ∑ t = 0 T − 1 ∇ θ log ⁡ π θ ( a t ∣ s t ) \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=0T1θlogπθ(atst)

   (最后的近似梯度,amazing!!!) ∇ θ J ( θ ) ≈ 1 m ∑ i = 1 m R ( τ i ) ∑ t = 0 T − 1 ∇ θ log ⁡ π θ ( a t i ∣ s t ) \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(θ)m1i=1mR(τi)t=0T1θlogπθ(atist)
从上面MC近似的梯度来看,这里并不一定需要model-base。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
强化学习中的策略梯度(policy gradient)是一种基于优化策略的方法,它直接对策略进行优化,而不是先估计值函数,再通过值函数来优化策略。策略梯度方法可以解决连续动作空间的问题,并且可以处理高维状态空间的问题。 策略梯度方法的主要思想是通过梯度上升来优化策略,即不断地调整策略参数,使得策略获得更高的奖励。这个过程可以通过计算策略在当前状态下采取各个动作的概率,然后根据奖励函数来更新策略参数。 策略梯度方法的优点是可以处理连续动作空间和高维状态空间的问题,并且可以处理非凸、非线性的问题。但是,策略梯度方法的缺点是收敛速度慢,容易陷入局部最优解。 以下是一些关于RL-Policy Gradient的资料: 1. Reinforcement Learning: An Introduction(强化学习:导论)书籍中关于Policy Gradient的章节:https://web.stanford.edu/class/psych209/Readings/SuttonBartoIPRLBook2ndEd.pdf 2. Policy Gradient Methods for Reinforcement Learning with Function Approximation论文:https://papers.nips.cc/paper/1713-policy-gradient-methods-for-reinforcement-learning-with-function-approximation.pdf 3. Deep Reinforcement Learning: Pong from Pixels论文:https://arxiv.org/pdf/1312.5602.pdf 4. Policy Gradient Methods for Robotics论文:https://arxiv.org/pdf/1709.06009.pdf 5. RL-Adventure-2:Policy Gradient Algorithms Pytorch实现的代码:https://github.com/higgsfield/RL-Adventure-2 6. Policy Gradient Algorithms笔记:https://lilianweng.github.io/lil-log/2018/04/08/policy-gradient-algorithms.html
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值