深度强化学习 | 图文详细推导深度确定性策略梯度DDPG算法

发布于:2025-07-16 ⋅ 阅读:(27) ⋅ 点赞:(0)

0 专栏介绍

本专栏以贝尔曼最优方程等数学原理为根基,结合PyTorch框架逐层拆解DRL的核心算法(如DQN、PPO、SAC)逻辑。针对机器人运动规划场景,深入探讨如何将DRL与路径规划、动态避障等任务结合,包含仿真环境搭建、状态空间设计、奖励函数工程化调优等技术细节,旨在帮助读者掌握深度强化学习技术在机器人运动规划中的实战应用

🚀详情:《运动规划实战精讲:深度强化学习篇》


1 演员-评论家架构

在强化学习的探索之路上,智能体始终面临一个核心挑战:如何在动态变化的环境中,通过与状态的交互,找到一组能最大化长期累积奖励的动作序列。早期的强化学习方法要么专注于“值函数”——通过估计状态或状态-动作的长期价值(如基于价值的强化学习DQN算法(附Pytorch实现)中的Q网络)来间接指导动作选择;要么聚焦于“策略”——直接学习状态到动作的映射(如策略梯度方法)。但这些方法各有局限:值函数方法难以处理连续动作空间(因为需要遍历所有可能动作求最大值),而纯策略梯度方法则因仅依赖采样回报的方差较大,训练稳定性不足。于是,​​演员-评论家(Actor-Critic, AC)框架​​应运而生,它像一位“导演”与“评论家”的组合——其中Actor网络负责表征策略,Critic网络负责评判策略的优劣,两者相互配合,共同提升智能体的决策能力

在这里插入图片描述

要理解Actor-Critic架构的运作逻辑,首先需要明确:

  • Actor网络表征策略,通常用神经网络表示为 π θ ( a ∣ s ) \pi_\theta(a|s) πθ(as)(随机策略,输出动作概率分布)或 μ θ ( s ) \mu_\theta(s) μθ(s)(确定性策略,直接输出动作),其参数 θ \theta θ决定了智能体在不同状态下倾向于选择哪些动作;
  • Critic网络表征策略优劣,通常用神经网络表示为 V ϕ ( s ) V_\phi(s) Vϕ(s)(状态值函数,估计状态 s s s的长期价值)或 Q ϕ ( s , a ) Q_\phi(s,a) Qϕ(s,a)(状态-动作值函数,估计状态 s s s 下执行动作 a a a 的长期价值),其参数 ϕ \phi ϕ 量化了当前策略下这个状态/动作的回报;

Actor通过与环境交互积累经验,Critic则基于这些经验更新对价值的估计,反过来为Actor的策略优化提供方向。

1.1 Critic网络优化

Critic网络的关键作用在于解决如何评估当前策略的好坏。在强化学习中,策略的优劣最终由长期累积奖励衡量,但直接计算这一期望需要遍历所有可能的未来状态转移,这在现实中不可行。因此,Critic网络需要借助贝尔曼期望方程进行递归地策略评估,具体可以参考经典强化学习 | 策略评估与贝尔曼期望方程详细推导。以状态值函数为例,其贝尔曼方程为:
V ϕ ( s ) = E a ∼ π θ ( ⋯   ) , s ′ ∼ P ( ⋅ s , a ) [ r ( s , a ) + γ V ϕ ( s ′ ) ] V_\phi(s) = \mathbb{E}_{a \sim \pi_\theta(\cdots), s' \sim P(\cdot s,a)} \left[ r(s,a) + \gamma V_\phi(s') \right] Vϕ(s)=Eaπθ(),sP(s,a)[r(s,a)+γVϕ(s)]

其中 r ( s , a ) r(s,a) r(s,a) 是状态 s s s 下执行动作 a a a 的即时奖励, P ( ⋅ ∣ s , a ) P(\cdot|s,a) P(s,a) 是环境转移概率, γ \gamma γ是折扣因子。这一方程表明,状态 s s s 的价值等于当前奖励加上未来所有可能状态价值的折扣期望。Critic的目标是通过优化网络参数 ϕ \phi ϕ使 V ϕ ( s ) V_\phi(s) Vϕ(s) 尽可能接近这一理论值。所以Critic的损失函数通常被定义为预测值与目标值的均方误差:
L critic = E { ( s , a , r , s ′ ) } ∼ D [ ( y − V ϕ ( s ) ) 2 ] \mathcal{L}_\text{critic} = \mathbb{E}_{\{(s,a,r,s')\} \sim \mathcal{D}} \left[ \left( y - V_\phi(s) \right)^2 \right] Lcritic=E{(s,a,r,s)}D[(yVϕ(s))2]

其中 D \mathcal{D} D 是经验回放池。通过最小化这个损失,Critic逐渐学会为每个状态赋予合理的价值评分。

1.2 Actor网络优化

Actor网络的优化依赖于策略梯度定理,其核心思想是:策略的改进方向应使智能体更倾向于选择能带来更高长期奖励的动作,详细推导参考:深度强化学习 | 详细推导随机/确定性策略梯度定理。对于随机策略 π θ ( a ∣ s ) \pi_\theta(a|s) πθ(as),其策略梯度满足
∇ θ V π θ ( s ) ∝ E [ Q π θ ( s , a ) ∇ θ ln ⁡ π θ ( a ∣ s ) ] \nabla _{\boldsymbol{\theta }}V^{\pi _{\boldsymbol{\theta }}}\left( \boldsymbol{s} \right) \propto \mathbb{E} \left[ Q^{\pi _{\boldsymbol{\theta }}}\left( \boldsymbol{s},\boldsymbol{a} \right) \nabla _{\boldsymbol{\theta }}\ln \pi _{\boldsymbol{\theta }}\left( \boldsymbol{a}|\boldsymbol{s} \right) \right] θVπθ(s)E[Qπθ(s,a)θlnπθ(as)]
其中状态随机变量 s ∼ D π θ \boldsymbol{s}\sim D^{\pi _{\boldsymbol{\theta }}} sDπθ,动作随机变量 a ∼ π θ ( a ∣ s ) \boldsymbol{a}\sim \pi _{\boldsymbol{\theta }}\left( \boldsymbol{a}|\boldsymbol{s} \right) aπθ(as) D π θ D^{\pi _{\boldsymbol{\theta }}} Dπθ是由 π θ \pi _{\boldsymbol{\theta }} πθ定义的归一化折扣状态分布。这一梯度的意义在于:如果某个动作 a t a_t at 在状态 s t s_t st 下的 Q π ( s t , a t ) Q^\pi(s_t,a_t) Qπ(st,at) 较大(即Critic认为该动作能带来更高的长期奖励),且策略 π θ \pi_\theta πθ a t a_t at 的选择概率较低(即 ∇ θ log ⁡ π θ ( a t , s t ) \nabla_\theta \log \pi_\theta(a_t, s_t) θlogπθ(at,st) 为负),则策略 π θ \pi_\theta πθ 应调整参数 θ \theta θ,增加在 s t s_t st 下选择 a t a_t at 的概率(对随机策略)或直接增大该动作的输出(对确定性策略)。

对于随机策略梯度算法,可以令损失函数为

J ( θ ) = − E [ Q π θ ( s , a ) ln ⁡ π θ ( s , a ) ] J\left( \boldsymbol{\theta } \right) =-\mathbb{E} \left[ Q^{\pi _{\boldsymbol{\theta }}}\left( \boldsymbol{s},\boldsymbol{a} \right) \ln \pi _{\boldsymbol{\theta }}\left( \boldsymbol{s},\boldsymbol{a} \right) \right] J(θ)=E[Qπθ(s,a)lnπθ(s,a)]

进行反向传播;对于确定性策略梯度算法,可以令损失函数为

J ( θ ) = − E [ Q μ θ ( s , μ θ ( s ) ) ] J\left( \boldsymbol{\theta } \right) =-\mathbb{E} \left[ Q^{\mu _{\boldsymbol{\theta }}}\left( \boldsymbol{s},\mu _{\boldsymbol{\theta }}\left( \boldsymbol{s} \right) \right) \right] J(θ)=E[Qμθ(s,μθ(s))]

进行反向传播

2 深度确定性策略梯度算法

深度确定性策略梯度(Deep Deterministic Policy Gradient, DDPG)可视为用演员-评论家框架对DQN和确定性梯度模型进行结合,弥补了DQN无法应用于连续动作空间的缺陷。事实上,DQN通过

π ∗ = a r g max ⁡ a ∈ A Q π ( s , a ) \pi ^*=\mathrm{arg}\max _{a\in A}Q^{\pi}\left( s,a \right) π=argaAmaxQπ(s,a)

从最优价值获得最优的确定性策略,而传统的 a r g max ⁡ \mathrm{arg}\max argmax操作只适合于离散空间,DDPG算法正是通过Actor网络对 a r g max ⁡ \mathrm{arg}\max argmax操作建模,整体架构如图所示

在这里插入图片描述

值得注意的是,DDPG中的Actor网络对确定性策略而非随机策略建模,体现DPG的功能;Critic网络对动作-价值函数而非价值函数建模,体现DQN的功能。同时DDPG中沿用DQN的经验回放池及目标网络结构,属于离线策略方法。核心算法流程如下所示

在这里插入图片描述


🔥 更多精彩专栏


👇源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系👇

网站公告

今日签到

点亮在社区的每一天
去签到