尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

3.4 深度确定性策略梯度(Deep Deterministic Policy Gradient, DDPG)

3.4 深度确定性策略梯度(Deep Deterministic Policy Gradient, DDPG)
📅 发布时间:2026/6/19 19:37:55

深度确定性策略梯度(Deep Deterministic Policy Gradient, DDPG)


背景与动机

在前面的策略梯度方法中,演员(Actor)产生的是随机策略 \(\pi_\theta(s)\),即输出动作的概率分布(离散动作)或分布参数(连续动作)。
其优点在于能保证探索:几乎所有动作都有非零概率被采样,避免遗漏潜在高回报动作。
但也带来两个主要缺点:

  1. 只能同策略(on-policy)训练:评论者提供的 Q 值必须基于当前演员生成的样本,否则会产生高偏差,无法使用经验回放(Replay Buffer)。
  2. 方差大:即使是同一最优策略,两个回合的回报可能差别很大,导致样本效率低。

相比之下,DQN 这类基于值函数的算法学习的是确定性策略:

\[a_t^* = \arg\max_a Q_\theta(s_t, a) \]

行为策略用于探索(如 \(\epsilon\)-greedy),但学习的策略本身是确定性的。
这种方式是 off-policy 的,因此可以使用经验回放并提高样本效率。

DDPG(Deep Deterministic Policy Gradient) 结合了两者的优点:

  • 策略梯度(Actor–Critic 架构、可处理连续动作);
  • 值函数方法(样本高效、可离策略训练)。

确定性策略梯度定理(Deterministic Policy Gradient Theorem)

定义确定性策略 \(\mu_\theta(s)\),目标函数为:

\[J(\theta) = \mathbb{E}_{s \sim \rho_\mu}[R(s, \mu_\theta(s))] \]

@Silver2014 推导得其梯度形式为:

\[\nabla_\theta J(\theta) = \mathbb{E}_{s \sim \rho_\mu}[\nabla_\theta \mu_\theta(s) \nabla_a Q_\varphi(s,a) |_{a=\mu_\theta(s)}] \]

这与链式法则一致:

\[\frac{\partial Q(s,a)}{\partial \theta} = \frac{\partial Q(s,a)}{\partial a} \frac{\partial a}{\partial \theta} \]

其中:

  • \(\nabla_a Q(s,a)\):评论者提供的“方向”,告诉演员如何调整动作;
  • \(\nabla_\theta \mu_\theta(s)\):演员内部梯度,指示如何更新参数以产生该动作。

dpg-chainrule

由此自然形成 Actor–Critic 架构:

  • Actor:输出确定性动作 \(\mu_\theta(s)\);
  • Critic:估计 \(Q_\varphi(s,a)\),并提供 \(\nabla_a Q_\varphi(s,a)\)。

线性逼近器下的 DPG 已验证有效,但非线性函数(深度网络)下最初不稳定。


深度确定性策略梯度(DDPG)

@Lillicrap2015 将 DPG 与 DQN 的思想结合,形成了能在连续动作空间上高效学习的 DDPG 算法。

核心改进

  1. 经验回放(Replay Buffer):实现离策略训练;
  2. 目标网络(Target Networks):稳定训练;
  3. 软更新(Soft Update):缓慢追踪训练网络,减少非平稳性:

\[\theta' = \tau \theta + (1-\tau)\theta' \quad (\tau \ll 1) \]


网络更新

评论者(Critic)使用 Q-learning 形式的目标:

\[J(\varphi) = \mathbb{E}[(r + \gamma Q_{\varphi'}(s', \mu_{\theta'}(s')) - Q_\varphi(s,a))^2] \]

演员(Actor)使用确定性策略梯度:

\[\nabla_\theta J(\theta) = \mathbb{E}[\nabla_\theta \mu_\theta(s) \nabla_a Q_\varphi(s,a)|_{a=\mu_\theta(s)}] \]


探索机制:Ornstein–Uhlenbeck 噪声

由于策略确定性强,探索可能迅速收敛至局部最优。
因此 DDPG 使用加性噪声:

\[a_t = \mu_\theta(s_t) + \xi \]

噪声 \(\xi\) 由 Ornstein–Uhlenbeck 过程 生成,具有时间相关性和零均值:

\[dx_t = \theta(\mu - x_t)dt + \sigma dW_t, \quad dW_t \sim \mathcal{N}(0,dt) \]

OU


算法流程

DDPG 算法:

  1. 初始化 Actor \(\mu_\theta\) 与 Critic \(Q_\varphi\);
  2. 建立对应的目标网络 \(\mu_{\theta'}\)、\(Q_{\varphi'}\);
  3. 建立经验回放池 \(\mathcal{D}\);
  4. 对每个 episode:
    • 重置噪声过程;
    • 对每步 \(t\):
      • 执行动作 \(a_t = \mu_\theta(s_t) + \xi\);
      • 存储转移 \((s_t,a_t,r_{t+1},s_{t+1})\);
      • 随机采样小批量;
      • 计算目标值:

        \[y_k = r_k + \gamma Q_{\varphi'}(s'_k, \mu_{\theta'}(s'_k)) \]

      • 更新评论者:

        \[\mathcal{L} = \frac{1}{N}\sum_k (y_k - Q_\varphi(s_k,a_k))^2 \]

      • 更新演员:

        \[\nabla_\theta J(\theta) = \frac{1}{N}\sum_k \nabla_\theta \mu_\theta(s_k)\nabla_a Q_\varphi(s_k,a)|_{a=\mu_\theta(s_k)} \]

      • 软更新目标网络:

        \[\theta' \leftarrow \tau\theta + (1-\tau)\theta' \\ \varphi' \leftarrow \tau\varphi + (1-\tau)\varphi' \]

ddpg


特点与局限

  • DDPG 为 off-policy 算法:使用旧策略样本更新当前策略;
  • 不需要重要性采样(importance sampling);
  • 能高效解决连续控制任务;
  • 局限:高样本复杂度、对超参数敏感。

分布式版本(如 @Barth-Maron2018 D4PG)显著提升了训练效率。


应用示例:自动驾驶

Wayve(2018)展示了基于 DDPG 的“一天学会驾驶”实验。
演员与评论者共享卷积特征层,并采用优先经验回放(PER)。
模型先在仿真环境中调参,再直接在实车(NVIDIA Drive PX2)上训练。

ddpg-drive


TD3(Twin Delayed Deep Deterministic Policy Gradient)

@Fujimoto2018 提出 TD3,针对 DDPG 的三个主要问题进行改进:

1. Q 值过估计(Clipped Double Q-learning)

DDPG 中的 Bellman 目标:

\[t = r + \gamma Q_{\varphi'}(s', \mu_{\theta'}(s')) \]

易因 \(\max\) 操作而过估计。

TD3 使用双评论者:

\[t = r + \gamma \min(Q_{\varphi'_1}(s', \mu_{\theta'}(s')), Q_{\varphi'_2}(s', \mu_{\theta'}(s'))) \]

两者取最小值,减少过估计偏差。

td3-overestimation


2. 延迟更新演员(Delayed Policy Updates)

Critic 的偏差会污染 Actor 更新。
TD3 每 \(d\) 步才更新一次 Actor,让 Critic 先收敛:

  • 每步训练 Critic;
  • 每 \(d\) 步训练 Actor 一次。

3. Bellman 目标噪声(Target Policy Smoothing)

为防止过拟合固定动作,TD3 在目标动作中也加噪声:

\[t = r + \gamma Q_{\varphi'}(s', \mu_{\theta'}(s') + \xi), \quad \xi \sim \mathcal{N}(0,1) \]

该技巧保持目标无偏,同时提高泛化。

td3-results

TD3 在连续控制任务上显著优于 DDPG、PPO、SAC 等算法。


D4PG(Distributed Distributional DDPG)

@Barth-Maron2018 提出 D4PG,融合多种先进特性:

特性 来源
确定性策略梯度 DDPG
分布式评论者 \(\mathcal{Z}_\varphi(s,a)\) Categorical DQN
n-step 回报 A3C
并行执行者(32–64个) 分布式训练
优先经验回放(PER) DQN+PER

D4PG 能在 CPU 环境下快速收敛并实现高性能,是连续控制中的里程碑算法。

d4pg-results

相关新闻

  • MINIX 3 值得仔细研究 from Tanenbaum A., Bos H. Modern Operating Systems 5ed 2023
  • 实验1 现代c++初体验
  • presto配置

最新新闻

  • 2026厦门品牌首饰回收市场价格走势,何时变现更划算 - 奢品小当家
  • 合肥买猫买狗别盲选,萌宠宠园实景体验 - 园友3800037
  • 怎样高效使用ITK-SNAP:医学影像分割的专业实战手册
  • 深度拆解:2026成都黄金回收压秤、扣纯度、收杂费三大行业乱象 - 奢侈品回收评测
  • 武汉买猫买狗怎么选?梦宠山庄等5家门店实地参考 - 园友3800037
  • 终极指南:3步快速配置HS2汉化补丁,解锁完整中文游戏体验

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号