获取更多资讯,赶快关注上面的公众号吧!

【强化学习系列】

  • 第一章 强化学习及OpenAI Gym介绍-强化学习理论学习与代码实现(强化学习导论第二版)
  • 第二章 马尔科夫决策过程和贝尔曼等式-强化学习理论学习与代码实现(强化学习导论第二版)
  • 第三章 动态规划-基于模型的RL-强化学习理论学习与代码实现(强化学习导论第二版)
  • 第四章 蒙特卡洛方法-强化学习理论学习与代码实现(强化学习导论第二版)
  • 第五章 基于时序差分和Q学习的无模型预测与控制-强化学习理论学习与代码实现(强化学习导论第二版)
  • 第六章 函数逼近-强化学习理论学习与代码实现(强化学习导论第二版)
  • 第七章 深度强化学习-深度Q网络系列1(Deep Q-Networks,DQN)
  • 第八章 深度强化学习-Nature深度Q网络(Nature DQN)
  • 第九章 深度强化学习-Double DQN
  • 第十章 深度强化学习-Prioritized Replay DQN
  • 第十一章 策略梯度(Policy Gradient)-强化学习理论学习与代码实现(强化学习导论第二版)
  • 第十二章 演员评论家(Actor-Critic)-强化学习理论学习与代码实现(强化学习导论第二版)
  • (本文)第十三章 确定性策略梯度(Deterministic Policy Gradient Algorithms,DPG)-强化学习理论学习与代码实现(强化学习导论第二版)

    文章目录

    • 确定性策略梯度(Deterministic Policy Gradient Algorithms,DPG)
      • 1介绍
      • 2背景
        • 2.1基础
        • 2.2Stochastic Policy Gradient 理论
        • 2.3随机演员-评论家算法
        • 2.4离策略演员-评论家(Off-Policy Actor-Critic,OffPAC)
      • 3确定性策略的梯度
        • 3.1动作价值梯度
        • 3.2确定性策略梯度理论
        • 3.3随机策略梯度的极限
      • 4确定性演员-评论家算法
        • 4.1在策略确定性演员-评论家
        • 4.2离策略确定性演员-评论家(off-policy deterministic actorcritic,OPDAC)
        • 4.3兼容函数近似

确定性策略梯度(Deterministic Policy Gradient Algorithms,DPG)

1介绍

策略梯度算法广泛应用于具有连续动作空间的强化学习问题,其基本思想是通过参数化的概率分布πθ(a∣s)=P[a∣s;θ]\pi_{\theta}(a | s)=\mathbb{P}[a | s ; \theta]πθ​(a∣s)=P[a∣s;θ]来表达策略,该策略会根据参数θ\thetaθ随机地选择状态sss下的动作aaa,也就是说随机性策略梯度最终得到的是动作的概率分布,然后通过采样该随机策略,并朝着最大化累积奖励的方向优化策略参数。

而确定性策略梯度会确定性地选择一个动作a=μθ(s)a=\mu_{\theta}(s)a=μθ​(s),之前人们认为确定性策略梯度不存在,或者只能在使用模型时才能得到,然而David Silver证明了确定性策略确实存在,并且它具有简单的无模型的形式——仅仅遵循动作值函数的梯度。实际上,确定性策略梯度是随机策略梯度在策略方差趋于0时的一种极限情况。

在随机情况下,策略梯度需要收集状态空间和动作空间,而确定性情况,却仅仅收集状态空间,所以随机策略梯度可能会需要更多次的采样,特别是当动作空间维度较大时。

为了保证确定性策略梯度能够和随机策略梯度一样,探索整个状态空间和动作空间(确定性策略只输出贪婪动作,导致可能有些动作永远都无法执行),有必要引入离策略学习算法,基本思想就是根据随机行为策略(保证充分的探索)选择动作,但最终学习的是确定性策略(利用确定性策略的效率)。通过确定性策略梯度可以推导出离策略演员-评论家算法(off-policy actorcritic algorithm ),并通过一可微分值函数逼近器估计动作值函数,然后沿着近似动作值函数梯度的方向更新策略参数。还引入了确定性策略梯度的相容函数近似(compatible function approximation)的概念,以确保该近似不会对策略梯度产生偏差。

2背景

2.1基础

MDP(马尔可夫决策过程)⟨S,A,P,R,γ⟩\langle\mathcal{S}, \mathcal{A}, \mathcal{P}, \mathcal{R}, \gamma\rangle⟨S,A,P,R,γ⟩

奖励函数(reward function)r:S×A→Rr: \mathcal{S} \times \mathcal{A} \rightarrow \mathbb{R}r:S×A→R

策略(policy)πθ:S→P(A)\pi_{\theta}: \mathcal{S} \rightarrow \mathcal{P}(\mathcal{A})πθ​:S→P(A)

轨迹(trajectory)s1,a1,r1…,sT,aT,rTs_{1}, a_{1}, r_{1} \dots, s_{T}, a_{T}, r_{T}s1​,a1​,r1​…,sT​,aT​,rT​

回报(return)rtγ=∑k=t∞γk−tr(sk,ak)r_{t}^{\gamma}=\sum_{k=t}^{\infty} \gamma^{k-t} r\left(s_{k}, a_{k}\right)rtγ​=∑k=t∞​γk−tr(sk​,ak​)

状态价值函数(state-value function)Vπ(s)=E[r1γ∣S1=s;π]V^{\pi}(s)=\mathbb{E}\left[r_{1}^{\gamma} | S_{1}=s ; \pi\right]Vπ(s)=E[r1γ​∣S1​=s;π]

动作价值函数(action-value function)Qπ(s,a)=E[r1γ∣S1=s,A1=a;π]Q^{\pi}(s,a)=\mathbb{E}\left[r_{1}^{\gamma} | S_{1}=s, A_{1}=a ; \pi\right]Qπ(s,a)=E[r1γ​∣S1​=s,A1​=a;π]

转移后的概率分布(density at state s′s^{\prime}s′ after transitioning from state sss )p(s→s′,t,π)p\left(s \rightarrow s^{\prime}, t, \pi\right)p(s→s′,t,π)

初始状态分布(an initial state distribution with density) p1(s)p_{1}(s)p1​(s)

折扣状态分布(discounted state distribution)ρπ(s′):=\rho^{\pi}\left(s^{\prime}\right):=ρπ(s′):= ∫S∑t=1∞γt−1p1(s)p(s→s′,t,π)ds\int_{\mathcal{S}} \sum_{t=1}^{\infty} \gamma^{t-1} p_{1}(s) p\left(s \rightarrow s^{\prime}, t, \pi\right) \mathrm{d} s∫S​∑t=1∞​γt−1p1​(s)p(s→s′,t,π)ds

性能目标函数(performance objective)

J(πθ)=∫Sρπ(s)∫Aπθ(s,a)r(s,a)dads=Es∼ρπ,a∼πθ[r(s,a)](1)\begin{aligned} J\left(\pi_{\theta}\right) &=\int_{\mathcal{S}} \rho^{\pi}(s) \int_{\mathcal{A}} \pi_{\theta}(s, a) r(s, a) \mathrm{d} a \mathrm{d} s \\ &=\mathbb{E}_{s \sim \rho^{\pi}, a \sim \pi_{\theta}}[r(s, a)] \end{aligned}\tag{1}J(πθ​)​=∫S​ρπ(s)∫A​πθ​(s,a)r(s,a)dads=Es∼ρπ,a∼πθ​​[r(s,a)]​(1)

2.2Stochastic Policy Gradient 理论

策略梯度背后的思想是沿着目标梯度∇θJ(πθ)\nabla_{\theta} J\left(\pi_{\theta}\right)∇θ​J(πθ​)的方向调整策略参数θ\thetaθ,最基本的策略梯度理论如下:

∇θJ(πθ)=∫Sρπ(s)∫A∇θπθ(a∣s)Qπ(s,a)dads=Es∼ρπ,a∼πθ[∇θlog⁡πθ(a∣s)Qπ(s,a)](2)\begin{aligned} \nabla_{\theta} J\left(\pi_{\theta}\right) &=\int_{\mathcal{S}} \rho^{\pi}(s) \int_{\mathcal{A}} \nabla_{\theta} \pi_{\theta}(a | s) Q^{\pi}(s, a) \mathrm{d} a \mathrm{d} s \\ &=\mathbb{E}_{s \sim \rho^{\pi}, a \sim \pi_{\theta}}\left[\nabla_{\theta} \log \pi_{\theta}(a | s) Q^{\pi}(s, a)\right] \end{aligned}\tag{2}∇θ​J(πθ​)​=∫S​ρπ(s)∫A​∇θ​πθ​(a∣s)Qπ(s,a)dads=Es∼ρπ,a∼πθ​​[∇θ​logπθ​(a∣s)Qπ(s,a)]​(2)

策略梯度理论的重要价值在于,其将目标梯度的计算简化为一个期望值的计算,通过构造对该期望的基于样本的估计,可以推导出各种不同的策略梯度算法(详见 第十一章 策略梯度(Policy Gradient)-强化学习理论学习与代码实现(强化学习导论第二版))。但是这些算法必须要解决的问题是如何估计动作值函数Qπ(s,a)Q^{\pi}(s,a)Qπ(s,a),这其中最简单的形式就是使用采样回报rtγr^{\gamma}_trtγ​来估计Qπ(st,at)Q^{\pi}(s_t,a_t)Qπ(st​,at​),这就是REINFORCE算法,具体的细节在之前的文章中都有所介绍。

2.3随机演员-评论家算法

actor-critic是在策略梯度中广泛使用的架构,其包括两个组件:演员通过随机梯度下降(式2)调整随机策略πθ(s)\pi_\theta(s)πθ​(s)的参数θ\thetaθ,由于真实动作值函数Qπ(s,a)Q^{\pi}(s,a)Qπ(s,a)未知,所以使用带参数www的Qw(s,a)Q^{w}(s,a)Qw(s,a)替代;评论家则是使用适当的策略评估算法估计动作值函数Qw(s,a)≈Qπ(s,a)Q^{w}(s, a) \approx Q^{\pi}(s, a)Qw(s,a)≈Qπ(s,a),如时间差分学习。具体的关于AC算法的细节,可以看这篇文章(第十二章 演员评论家(Actor-Critic)-强化学习理论学习与代码实现(强化学习导论第二版))。

通常情况下,使用Qw(s,a)Q^{w}(s,a)Qw(s,a)代替真实的Qπ(s,a)Q^{\pi}(s,a)Qπ(s,a)可能会引入偏差,为了消除误差,Qw(s,a)Q^{w}(s,a)Qw(s,a)应满足以下两个条件:

  1. Qw(s,a)=∇θlog⁡πθ(a∣s)⊤wQ^{w}(s, a)=\nabla_{\theta} \log \pi_{\theta}(a | s)^{\top} wQw(s,a)=∇θ​logπθ​(a∣s)⊤w
  2. www需要最小化均方误差ϵ2(w)=Es∼ρπ,a∼πθ[(Qw(s,a)−Qπ(s,a))2]\epsilon^{2}(w)=\mathbb{E}_{s \sim \rho^{\pi}, a \sim \pi_{\theta}}\left[\left(Q^{w}(s, a)-Q^{\pi}(s, a)\right)^{2}\right]ϵ2(w)=Es∼ρπ,a∼πθ​​[(Qw(s,a)−Qπ(s,a))2]

条件1是说兼容函数逼近器是随机策略“特征”∇θlog⁡πθ(a∣s)\nabla_{\theta} \log \pi_{\theta}(a | s)∇θ​logπθ​(a∣s)的线性函数,条件2是说需要保证参数www为线性回归问题(根据特征估计Qπ(s,a)Q^{\pi}(s,a)Qπ(s,a))的解。在实际中,条件2通常可以放宽,以支持通过时间差分学习来更有效地估计值函数地策略评估算法。因此如果条件1和条件2都满足,那就等价于根本没有使用评论家,即更像是REINFORCE算法。

2.4离策略演员-评论家(Off-Policy Actor-Critic,OffPAC)

通常根据从另一个完全不同的行为策略β(a∣s)≠πθ(a∣s)\beta(a | s) \neq \pi_{\theta}(a | s)β(a∣s)​=πθ​(a∣s)中采样的轨迹,来离策略地估计策略梯度是非常有用的,在离策略情况下,需要将目标函数重新定义为目标策略的值函数在行为策略的状态分布上的平均值:

Jβ(πθ)=∫Sρβ(s)Vπ(s)ds=∫S∫Aρβ(s)πθ(a∣s)Qπ(s,a)dads\begin{aligned} J_{\beta}\left(\pi_{\theta}\right) &=\int_{\mathcal{S}} \rho^{\beta}(s) V^{\pi}(s) \mathrm{d} s \\ &=\int_{\mathcal{S}} \int_{\mathcal{A}} \rho^{\beta}(s) \pi_{\theta}(a | s) Q^{\pi}(s, a) \mathrm{d} a \mathrm{d} s \end{aligned}Jβ​(πθ​)​=∫S​ρβ(s)Vπ(s)ds=∫S​∫A​ρβ(s)πθ​(a∣s)Qπ(s,a)dads​

同归对其进行微分,可以得到离策略策略梯度的近似:
∇θJβ(πθ)≈∫S∫Aρβ(s)∇θπθ(a∣s)Qπ(s,a)dads(4)\begin{aligned} \nabla_{\theta} J_{\beta}\left(\pi_{\theta}\right) & \approx \int_{\mathcal{S}} \int_{\mathcal{A}} \rho^{\beta}(s) \nabla_{\theta} \pi_{\theta}(a | s) Q^{\pi}(s, a) \mathrm{d} a \mathrm{d} s \tag{4} \end{aligned}∇θ​Jβ​(πθ​)​≈∫S​∫A​ρβ(s)∇θ​πθ​(a∣s)Qπ(s,a)dads​(4)

=Es∼ρβ,a∼β[πθ(a∣s)βθ(a∣s)∇θlog⁡πθ(a∣s)Qπ(s,a)](5)\begin{aligned} =\mathbb{E}_{s \sim \rho^{\beta}, a \sim \beta}\left[\frac{\pi_{\theta}(a | s)}{\beta_{\theta}(a | s)} \nabla_{\theta} \log \pi_{\theta}(a | s) Q^{\pi}(s, a)\right]\tag{5} \end{aligned}=Es∼ρβ,a∼β​[βθ​(a∣s)πθ​(a∣s)​∇θ​logπθ​(a∣s)Qπ(s,a)]​(5)
这个近似去掉了依赖动作值函数梯度的项:∇θQπ(s,a)\nabla_{\theta} Q^{\pi}(s, a)∇θ​Qπ(s,a)。离策略演员-评论家算法使用行为策略β(a∣s)\beta(a|s)β(a∣s)生成轨迹,评论家使用梯度时间差分学习从这些轨迹中离策略地估计状态值函数Vv(s)≈Vπ(s)V^{v}(s) \approx V^{\pi}(s)Vv(s)≈Vπ(s),演员也是从这些轨迹中,根据随机梯度上升(公式5)更新策略参数θ\thetaθ。在公式5中不再使用未知的真实动作值函数Qπ(s,a)Q^{\pi}(s,a)Qπ(s,a),而是使用时间差分误差δt=rt+1+γVv(st+1)−Vv(st)\delta_{t}=r_{t+1}+\gamma V^{v}\left(s_{t+1}\right)-V^{v}\left(s_{t}\right)δt​=rt+1​+γVv(st+1​)−Vv(st​),可以证明其是真实值的近似值。演员和评论家均采用了重要度采样比率πθ(a∣s)βθ(a∣s)\frac{\pi_{\theta}(a | s)}{\beta_{\theta}(a | s)}βθ​(a∣s)πθ​(a∣s)​进行调整,因为动作是实际上是根据π\piπ而不是β\betaβ选择的。

3确定性策略的梯度

下面将讨论如何将策略梯度框架扩展到确定性策略。

3.1动作价值梯度

大部分无模型强化学习算法都是基于广义迭代策略:交叉进行策略评估和改进。但是在连续动作空间中,贪婪策略改进是有问题的,因为需要在每一步都进行全局最大化。一种简单且计算方便的方式是沿着QQQ的梯度方向移动策略,而不是全局最大化QQQ。特别地,对于每一个观察到的状态sss,策略参数θk+1\theta^{k+1}θk+1按照梯度∇θQμk(s,μθ(s))\nabla_{\theta} Q^{\mu^{k}}\left(s, \mu_{\theta}(s)\right)∇θ​Qμk(s,μθ​(s))进行比例更新,每个状态都提出一个策略改进的不同方向,这些可以通过对状态分布的期望ρμ(s)\rho^{\mu}(s)ρμ(s)求平均值:

θk+1=θk+αEs∼ρμk[∇θQμk(s,μθ(s))](6)\theta^{k+1}=\theta^{k}+\alpha \mathbb{E}_{s \sim \rho^{\mu^{k}}}\left[\nabla_{\theta} Q^{\mu^{k}}\left(s, \mu_{\theta}(s)\right)\right]\tag{6}θk+1=θk+αEs∼ρμk​[∇θ​Qμk(s,μθ​(s))](6)

通过应用链式法则,策略改进可以分解成动作价值关于动作的梯度,以及策略关于策略参数的梯度,于是有:
θk+1=θk+αEs∼ρμk[∇θμθ(s)∇aQμk(s,a)∣a=μθ(s)](7)\theta^{k+1}=\theta^{k}+\alpha \mathbb{E}_{s \sim \rho^{\mu^{k}}}\left[\left.\nabla_{\theta} \mu_{\theta}(s) \nabla_{a} Q^{\mu^{k}}(s, a)\right|_{a=\mu_{\theta}(s)}\right]\tag{7}θk+1=θk+αEs∼ρμk​[∇θ​μθ​(s)∇a​Qμk(s,a)∣∣∣​a=μθ​(s)​](7)

按照惯例,∇θμθ(s)\nabla_{\theta} \mu_{\theta}(s)∇θ​μθ​(s)为一个雅可比矩阵,其中每一列为策略的第ddd个动作维度关于策略参数θ\thetaθ的梯度∇θ[μθ(s)]d\nabla_{\theta}\left[\mu_{\theta}(s)\right]_{d}∇θ​[μθ​(s)]d​。然而,改变策略的同时,会观察到不同的状态,状态分布ρμ\rho^{\mu}ρμ也会发生变化。因此,如果不考虑分布的变化,这种方法是否保证了改进并不是很明显。但是下面的理论表明,无需计算状态分布的梯度。

3.2确定性策略梯度理论

考虑一个确定性策略 μθ:S→\mu_{\theta}: \mathcal{S} \rightarrowμθ​:S→ A,θ∈Rn\mathcal{A},\theta \in \mathbb{R}^{n}A,θ∈Rn ,定义一个目标函数J(μθ)=E[r1γ∣μ]J\left(\mu_{\theta}\right)=\mathbb{E}\left[r_{1}^{\gamma} | \mu\right]J(μθ​)=E[r1γ​∣μ],概率分布p(s→s′,t,μ)p\left(s \rightarrow s^{\prime}, t, \mu\right)p(s→s′,t,μ)和折扣状态分布ρμ(s)\rho^{\mu}(s)ρμ(s),仍然将目标函数写成期望的形式:
J(μθ)=∫Sρμ(s)r(s,μθ(s))ds=Es∼ρμ[r(s,μθ(s))](8)\begin{aligned} J\left(\mu_{\theta}\right) &=\int_{\mathcal{S}} \rho^{\mu}(s) r\left(s, \mu_{\theta}(s)\right) \mathrm{d} s \\ &=\mathbb{E}_{s \sim \rho^{\mu}}\left[r\left(s, \mu_{\theta}(s)\right)\right] \end{aligned}\tag{8}J(μθ​)​=∫S​ρμ(s)r(s,μθ​(s))ds=Es∼ρμ​[r(s,μθ​(s))]​(8)
那么可以推导出确定性策略梯度理论如下:

∇θJ(μθ)=∫Sρμ(s)∇θμθ(s)∇aQμ(s,a)∣a=μθ(s)ds=Es∼ρμ[∇θμθ(s)∇aQμ(s,a)∣a=μθ(s)](9)\begin{aligned} \nabla_{\theta} J\left(\mu_{\theta}\right) &=\left.\int_{\mathcal{S}} \rho^{\mu}(s) \nabla_{\theta} \mu_{\theta}(s) \nabla_{a} Q^{\mu}(s, a)\right|_{a=\mu_{\theta}(s)} \mathrm{d} s \\ &=\mathbb{E}_{s \sim \rho^{\mu}}\left[\left.\nabla_{\theta} \mu_{\theta}(s) \nabla_{a} Q^{\mu}(s, a)\right|_{a=\mu_{\theta}(s)}\right] \end{aligned}\tag{9}∇θ​J(μθ​)​=∫S​ρμ(s)∇θ​μθ​(s)∇a​Qμ(s,a)∣∣∣∣​a=μθ​(s)​ds=Es∼ρμ​[∇θ​μθ​(s)∇a​Qμ(s,a)∣a=μθ​(s)​]​(9)

3.3随机策略梯度的极限

乍一看,确定性策略梯度理论并不太像随机策略梯度理论(式2),然而,对于一类广泛的随机策略,包括许多凹凸函数,确定性策略梯度确实是随机策略梯度的一种特殊(极限)情况。现在通过一个确定性策略μθ:S→A\mu_{\theta}: \mathcal{S} \rightarrow \mathcal{A}μθ​:S→A和方差参数σ\sigmaσ来参数化随机策略πμθ,σ\pi_{\mu_{\theta},\sigma}πμθ​,σ​,当σ=0\sigma=0σ=0,随机策略就等价于确定性策略πμθ,0≡μθ\pi_{\mu_{\theta}, 0} \equiv \mu_{\theta}πμθ​,0​≡μθ​。

4确定性演员-评论家算法

现在根据确定性策略梯度理论来推导在策略和离策略演员-评论家算法,首先使用简单的Sarsa评论家介绍在策略更新的思想,然后借助Q学习评论家说明离策略的更新思想。

4.1在策略确定性演员-评论家

和 随机梯度下降一样,critic 评估动作价值函数,actor 根据式(9)调整μθ(s)\mu_{\theta}\left(s\right)μθ​(s)的参数θ\thetaθ ,并且用Qw(s,a)≈Qμ(s,a)Q^{w}(s, a) \approx Q^{\mu}(s, a)Qw(s,a)≈Qμ(s,a)来逼近真实值。例如,critic 使用Sarsa 更新来评估动作价值函数:
δt=rt+γQw(st+1,at+1)−Qw(st,at)(11)\delta_{t} =r_{t}+\gamma Q^{w}\left(s_{t+1}, a_{t+1}\right)-Q^{w}\left(s_{t}, a_{t}\right)\tag{11}δt​=rt​+γQw(st+1​,at+1​)−Qw(st​,at​)(11)

wt+1=wt+αwδt∇wQw(st,at)(12)w_{t+1} =w_{t}+\alpha_{w} \delta_{t} \nabla_{w} Q^{w}\left(s_{t}, a_{t}\right)\tag{12}wt+1​=wt​+αw​δt​∇w​Qw(st​,at​)(12)

θt+1=θt+αθ∇θμθ(st)∇aQw(st,at)∣a=μθ(s)(13)\theta_{t+1} =\theta_{t}+\left.\alpha_{\theta} \nabla_{\theta} \mu_{\theta}\left(s_{t}\right) \nabla_{a} Q^{w}\left(s_{t}, a_{t}\right)\right|_{a=\mu_{\theta}(s)}\tag{13}θt+1​=θt​+αθ​∇θ​μθ​(st​)∇a​Qw(st​,at​)∣a=μθ​(s)​(13)

4.2离策略确定性演员-评论家(off-policy deterministic actorcritic,OPDAC)

现在考虑使用离策略的方法,根据任意一个随机行为策略π(s,a)\pi(s,a)π(s,a)生成的轨迹学习确定性目标策略μθ(s)\mu_{\theta}\left(s\right)μθ​(s),采用和之前一样方式定义目标函数和策略梯度:
Jβ(μθ)=∫Sρβ(s)Vμ(s)ds=∫Sρβ(s)Qμ(s,μθ(s))ds(14)\begin{aligned} J_{\beta}\left(\mu_{\theta}\right) &=\int_{\mathcal{S}} \rho^{\beta}(s) V^{\mu}(s) \mathrm{d} s \\ &=\int_{\mathcal{S}} \rho^{\beta}(s) Q^{\mu}\left(s, \mu_{\theta}(s)\right) \mathrm{d} s \end{aligned}\tag{14}Jβ​(μθ​)​=∫S​ρβ(s)Vμ(s)ds=∫S​ρβ(s)Qμ(s,μθ​(s))ds​(14)

∇θJβ(μθ)≈∫Sρβ(s)∇θμθ(a∣s)Qμ(s,a)ds=Es∼ρβ[∇θμθ(s)∇aQμ(s,a)∣a=μθ(s)](15)\begin{aligned} \nabla_{\theta} J_{\beta}\left(\mu_{\theta}\right) & \approx \int_{\mathcal{S}} \rho^{\beta}(s) \nabla_{\theta} \mu_{\theta}(a | s) Q^{\mu}(s, a) \mathrm{d} s \\ &=\mathbb{E}_{s \sim \rho^{\beta}}\left[\left.\nabla_{\theta} \mu_{\theta}(s) \nabla_{a} Q^{\mu}(s, a)\right|_{a=\mu_{\theta}(s)}\right] \end{aligned}\tag{15}∇θ​Jβ​(μθ​)​≈∫S​ρβ(s)∇θ​μθ​(a∣s)Qμ(s,a)ds=Es∼ρβ​[∇θ​μθ​(s)∇a​Qμ(s,a)∣a=μθ​(s)​]​(15)
和之前一样,这个近似去掉了依赖动作值函数梯度的项:∇θQπ(s,a)\nabla_{\theta} Q^{\pi}(s, a)∇θ​Qπ(s,a)。

同样,用一个可微的动作价值函数$Q^{w}(s, a) 来代替真实的动作价值函数来代替真实的动作价值函数来代替真实的动作价值函数Q^{w}(s, a) \approx Q^{\mu}(s, a)$ ,并且让critic 通过已知策略生成的轨迹来评估它。比如使用 Q-learning:
δt=rt+γQw(st+1,μθ(st+1))−Qw(st,at)(16)\delta_{t} =r_{t}+\gamma Q^{w}\left(s_{t+1}, \mu_{\theta}\left(s_{t+1}\right)\right)-Q^{w}\left(s_{t}, a_{t}\right)\tag{16}δt​=rt​+γQw(st+1​,μθ​(st+1​))−Qw(st​,at​)(16)

wt+1=wt+αwδt∇wQw(st,at)(17)w_{t+1} =w_{t}+\alpha_{w} \delta_{t} \nabla_{w} Q^{w}\left(s_{t}, a_{t}\right)\tag{17}wt+1​=wt​+αw​δt​∇w​Qw(st​,at​)(17)

θt+1=θt+αθ∇θμθ(st)∇aQw(st,at)∣a=μθ(s)(18)\theta_{t+1} =\theta_{t}+\left.\alpha_{\theta} \nabla_{\theta} \mu_{\theta}\left(s_{t}\right) \nabla_{a} Q^{w}\left(s_{t}, a_{t}\right)\right|_{a=\mu_{\theta}(s)}\tag{18}θt+1​=θt​+αθ​∇θ​μθ​(st​)∇a​Qw(st​,at​)∣a=μθ​(s)​(18)

4.3兼容函数近似

这部分重点关于为什么可以用一个可微的函数近似器Qw(s,a)Q^{w}(s, a)Qw(s,a)来代替真实的动作价值函数Qμ(s,a)Q^{\mu}(s, a)Qμ(s,a)。和前面"Stochastic Actor-Critic算法"部分类似,如果近似器Qw(s,a)Q^{w}(s, a)Qw(s,a)与μθ(s)\mu_{\theta}\left(s\right)μθ​(s)和∇θJβ(θ)=E[∇θμθ(s)∇aQw(s,a)∣a=μθ(s)]\nabla_{\theta} J_{\beta}(\theta)=\mathbb{E}\left[\left.\nabla_{\theta} \mu_{\theta}(s) \nabla_{a} Q^{w}(s, a)\right|_{a=\mu_{\theta}(s)}\right]∇θ​Jβ​(θ)=E[∇θ​μθ​(s)∇a​Qw(s,a)∣a=μθ​(s)​]是兼容的,应满足如下两个条件:

  1. ∇aQw(s,a)∣a=μθ(s)=∇θμθ(s)⊤w\left.\nabla_{a} Q^{w}(s, a)\right|_{a=\mu_{\theta}(s)}=\nabla_{\theta} \mu_{\theta}(s)^{\top} w∇a​Qw(s,a)∣a=μθ​(s)​=∇θ​μθ​(s)⊤w
  2. www最小化均方误差MSE(θ,w)=MSE(\theta, w)=MSE(θ,w)= E[ϵ(s;θ,w)⊤ϵ(s;θ,w)]\mathbb{E}\left[\epsilon(s ; \theta, w)^{\top} \epsilon(s ; \theta, w)\right] \quadE[ϵ(s;θ,w)⊤ϵ(s;θ,w)],其中ϵ(s;θ,w)=∇aQw(s,a)∣a=μθ(s)−∇aQμ(s,a)∣a=μθ(s)\epsilon(s ; \theta, w)=\left.\nabla_{a} Q^{w}(s, a)\right|_{a=\mu_{\theta}(s)}-\left.\nabla_{a} Q^{\mu}(s, a)\right|_{a=\mu_{\theta}(s)}ϵ(s;θ,w)=∇a​Qw(s,a)∣a=μθ​(s)​−∇a​Qμ(s,a)∣a=μθ​(s)​

一个compatible off-policy deterministic actor-critic (COPDAC) 算法有两部分组成:Critic 是一个线性函数近似器,通过特征ϕ(s,a)=a⊤∇θμθ(s)\phi(s, a)=a^{\top} \nabla_{\theta} \mu_{\theta}(s)ϕ(s,a)=a⊤∇θ​μθ​(s)来评估动作价值函数。这个可以通过离线地学习已知策略的样本得到,比如用 Q-learning 或者 gradient Q-learning。Actor 则朝着 critic 的动作价值函数的梯度方向更新参数。例如,下列COPDAC-Q 算法中 critic 使用了简单 Q-learning:
δt=rt+γQw(st+1,μθ(st+1))−Qw(st,at)(19)\delta_{t} =r_{t}+\gamma Q^{w}\left(s_{t+1}, \mu_{\theta}\left(s_{t+1}\right)\right)-Q^{w}\left(s_{t}, a_{t}\right)\tag{19}δt​=rt​+γQw(st+1​,μθ​(st+1​))−Qw(st​,at​)(19)

θt+1=θt+αθ∇θμθ(st)(∇θμθ(st)⊤wt)(20)\theta_{t+1} =\theta_{t}+\alpha_{\theta} \nabla_{\theta} \mu_{\theta}\left(s_{t}\right)\left(\nabla_{\theta} \mu_{\theta}\left(s_{t}\right)^{\top} w_{t}\right)\tag{20}θt+1​=θt​+αθ​∇θ​μθ​(st​)(∇θ​μθ​(st​)⊤wt​)(20)

wt+1=wt+αwδtϕ(st,at)(21)w_{t+1} =w_{t}+\alpha_{w} \delta_{t} \phi\left(s_{t}, a_{t}\right)\tag{21}wt+1​=wt​+αw​δt​ϕ(st​,at​)(21)
vt+1=vt+αvδtϕ(st)(22)v_{t+1} =v_{t}+\alpha_{v} \delta_{t} \phi\left(s_{t}\right)\tag{22}vt+1​=vt​+αv​δt​ϕ(st​)(22)

或者 gradient Q-learning critic:
δt=rt+γQw(st+1,μθ(st+1))−Qw(st,at)(23)\delta_{t} =r_{t}+\gamma Q^{w}\left(s_{t+1}, \mu_{\theta}\left(s_{t+1}\right)\right)-Q^{w}\left(s_{t}, a_{t}\right) \tag{23}δt​=rt​+γQw(st+1​,μθ​(st+1​))−Qw(st​,at​)(23)
θt+1=θt+αθ∇θμθ(st)(∇θμθ(st)⊤wt)(24)\theta_{t+1} =\theta_{t}+\alpha_{\theta} \nabla_{\theta} \mu_{\theta}\left(s_{t}\right)\left(\nabla_{\theta} \mu_{\theta}\left(s_{t}\right)^{\top} w_{t}\right)\tag{24}θt+1​=θt​+αθ​∇θ​μθ​(st​)(∇θ​μθ​(st​)⊤wt​)(24)
wt+1=wt+αwδtϕ(st,at)−αwγϕ(st+1,μθ(st+1))(ϕ(st,at)⊤ut)(25)w_{t+1} =w_{t}+\alpha_{w} \delta_{t} \phi\left(s_{t}, a_{t}\right) \\ -\alpha_{w} \gamma \phi\left(s_{t+1}, \mu_{\theta}\left(s_{t+1}\right)\right)\left(\phi\left(s_{t}, a_{t}\right)^{\top} u_{t}\right) \tag{25}wt+1​=wt​+αw​δt​ϕ(st​,at​)−αw​γϕ(st+1​,μθ​(st+1​))(ϕ(st​,at​)⊤ut​)(25)

vt+1=vt+αvδtϕ(st)−αvγϕ(st+1)(ϕ(st,at)⊤ut)(26)v_{t+1} =v_{t}+\alpha_{v} \delta_{t} \phi\left(s_{t}\right) \\ -\alpha_{v} \gamma \phi\left(s_{t+1}\right)\left(\phi\left(s_{t}, a_{t}\right)^{\top} u_{t}\right)\tag{26}vt+1​=vt​+αv​δt​ϕ(st​)−αv​γϕ(st+1​)(ϕ(st​,at​)⊤ut​)(26)
ut+1=ut+αu(δt−ϕ(st,at)⊤ut)ϕ(st,at)(27)u_{t+1} =u_{t}+\alpha_{u}\left(\delta_{t}-\phi\left(s_{t}, a_{t}\right)^{\top} u_{t}\right) \phi\left(s_{t}, a_{t}\right)\tag{27}ut+1​=ut​+αu​(δt​−ϕ(st​,at​)⊤ut​)ϕ(st​,at​)(27)

第十三章 确定性策略梯度(Deterministic Policy Gradient Algorithms,DPG)-强化学习理论学习与代码实现(强化学习导论第二版)相关推荐

  1. 【强化学习】DDPG(Deep Deterministic Policy Gradient)算法详解

    http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html 引用莫凡老师的素材 https://morvanzhou.github.io/tut ...

  2. DDPG(Deep Deterministic Policy Gradient)

    Hi,这是第二篇算法简介呀 论文链接:"Continuous control with deep reinforcement learning." ,2016 文章概述   这篇文 ...

  3. 【强化学习】Deep Deterministic Policy Gradient(DDPG)算法详解

    1 DDPG简介 DDPG吸收了Actor-Critic让Policy Gradient 单步更新的精华,而且还吸收让计算机学会玩游戏的DQN的精华,合并成了一种新算法,叫做Deep Deterini ...

  4. 强化学习(三)—— 策略学习(Policy-Based)及策略梯度(Policy Gradient)

    强化学习(三)-- 策略学习(Policy-Based)及策略梯度(Policy Gradient) 1. 策略学习 2. 策略梯度 3. 案例 1. 策略学习 Policy Network 通过策略 ...

  5. 深度增强学习DDPG(Deep Deterministic Policy Gradient)算法源码走读

    原文链接:https://blog.csdn.net/jinzhuojun/article/details/82556127 本文是基于OpenAI推出deep reinforcement learn ...

  6. 策略梯度模型 (Policy Gradient)原理与实现

    作者:陆平 1. 智能体与环境 策略梯度(Policy Gradient)模型是强化学习中的一个经典基础模型.它用来在某种环境下训练智能体.对于一些简单场景,我们可以把智能体与环境及关系抽象为: 智能 ...

  7. 《动手学深度学习(Dive into Deeplearning)》(第二版)——第二章 _2.3 线性代数

    <动手学深度学习(Dive into Deeplearning)>(第二版)--第二章 _2.3 线性代数 第二章 预备知识 § 前情回顾 § 2.3 线性代数 2.3.1 标量 2.3. ...

  8. 【7】强化学习之策略梯度(Policy Gradient)

    [李宏毅]强化学习笔记(一) 什么是强化学习 监督学习 VS. 强化学习 AlphaGo Chat-bot Outline 1. Policy-based Approach:Learning an A ...

  9. 【强化学习笔记】策略梯度(Policy Gradient)

    文章目录 1.基本元素 2.游戏示例 3.基本概念 3.1.回合(episode) 3.2.总奖励(Total Reward) 3.3.轨迹(Trajectory) 3.4.奖励期望(Expected ...

  10. 强化学习笔记 DDPG (Deep Deterministic Policy Gradient)

    1 总述 总体来讲,和actor-critic 差不多,只不过这里用了target network 和experience relay 强化学习笔记 experience replay 经验回放_UQ ...

最新文章

  1. Knative 入门系列1:knative 概述
  2. 【错误记录】360 加固后的运行错误 ( 加固 SO 动态库时不能对第三方动态库进行加固 )
  3. 如何使用matlab中的胞元数组
  4. Centos-Server-Nginx服务(编译安装)
  5. PHP数组加表格_php数组输出html表格的操作方法
  6. 总奖池25万!百度AI Studio人工智能竞赛火热报名中
  7. python的os模块使用_Python学习笔记之os模块使用总结
  8. 团队第五次 # scrum meeting
  9. 最终章 | TensorFlow战Kaggle“手写识别达成99%准确率
  10. SpringMVC 原理及详细使用
  11. php微信浏览器清空cookie,微信内置浏览器中的cookie很诡异呀
  12. 【零基础学Java】—Java运行机制(三)
  13. matlab hog函数个参数,hog算法的matlab
  14. Tomcat架构解析之Digester
  15. C语言EasyX_2018中的putimage(x, y, w, h, img, x1, y1)函数
  16. python有哪些学习内容_python学习内容包括哪些
  17. 带农历日历的DatePicker控件!Xamarin控件开发小记
  18. 传统备份 VS 云备份?
  19. Oracle EBS DBA培训提纲
  20. 计算机应用基础数制试题及答案,计算机应用基础试题及答案1.doc

热门文章

  1. SqlServer 2008R2修改表结构提示“不允许保存更改”解决方案
  2. JS获取浏览器高度、屏幕高度、宽屏
  3. static、const、static const、const static成员的初始化问题
  4. Spring之对象依赖关系
  5. mysql 查看3306端口_如何查看端口(3306)被那个程序占用?
  6. list vue 添加数据方法_在PySpark数据框中添加新列的5种方法
  7. 阿里云服务器ECS Ubuntu18.04 首次使用配置教程(图形界面安装)
  8. 活动文档服务器,ACTIVEDOC 示例:实现活动文档服务器
  9. python判断文件或文件夹是否存在
  10. 概率论与数理统计【三】一维随机变量及其分布