图解强化学习 |手算DDPG

简介: DDPG(深度确定性策略梯度)是一种面向连续动作空间的Actor-Critic强化学习算法。它采用4网络结构(Actor/Critic及其对应目标网络),结合经验回放与软更新,通过确定性策略梯度优化策略,广泛应用于机器人控制、自动驾驶等场景。(239字)

 DDPG算法的基础认识

DDPG 全称:Deep Deterministic Policy Gradient

深度确定性策略梯度,专门解决连续动作空间强化学习问题。

image.gif


DDPG的网络结构

Actor 网络(策略网络):  

输入:状态 s               输出:确定性动作 a

Target Actor 网络(目标策略网络):

输入:下一个状态 s'    输出:下一个确定性动作 a'

Critic 网络(Q 网络):

输入:状态 s + 动作 a        输出:Q 值 Q (s,a)

Target Critic 网络(目标 Q 网络):  

输入:下一个状态 s' + 下一个动作 a'          输出:目标 Q 值 Q_target (s',a')

image.gif


网络更新

Critic的更新

目的:让在线 Critic预测的 Q 值,尽可能贴合真实长期收益。

(1)使用经验回放缓冲区(Experience Replay)从中采样一批经验 (s, a, r, s'),即:当前状态、

动作、奖励、下一个状态。

(2)计算目标 Q 值(y_i):使用 Target Actor 网络 根据下一个状态 s' 生成下一个动作 a',

再使用 Target Critic 网络 估计 Q_target(s', a'),最终结合折扣因子计算目标 Q 值:

    y_i = r + γ * Q_target(s', a')

(3)使用均方误差损失函数(MSELoss)更新 在线 Critic 网络 的参数,使得 Critic 网络预测的

Q (s,a) 尽可能逼近 目标 Q 值 y_i。

image.gif


image.gif 编辑

Actor的更新:

目的:让在线 Actor 输出的策略动作,尽可能最大化在线 Critic 评估的 Q 值,持续优化决策策

略。

(1)从经验回放缓冲区中采样一批状态样本 s。

(2)将当前状态 s 输入在线 Actor 网络,得到网络输出的策略动作 (a=(s))。

(3)将状态 s 与 Actor 输出动作 a 输入在线 Critic 网络,得到当前策略对应的评估 Q 值

(Q(s,a))

(4)依据确定性策略梯度原理更新在线 Actor 网络参数,通过最大化 Critic 输出的 Q 值,不断优

化策略,使智能体在当前状态下输出更优的连续动作。

目标Actor和目标Critic

软更新(Polyak Averaging),每训练一步,把当前网络的参数缓慢 “挪一点点” 到目标网络,目

标网络参数始终更稳定、更平滑。目标网络保留 99.5% 自己原来的参数,只吸收 0.5% 来自当前

网络的新参数。

image.gif

完整的结构:

image.gif


手算DDPG

演员网络(策略网络)

输入:

state = [
    0.12,   # x 横坐标
    1.45,   # y 高度
   -0.05,   # vx 水平速度
   -0.30,   # vy 垂直速度
    0.08,   # 角度
   -0.02,   # 角速度
    0.00,   # 左腿未触地
    0.00    # 右腿未触地
]

image.gif

输出:

action = tanh(0.73) ≈ 0.62

image.gif

image.gif

评论家网络(价值网络)

输入 1:状态 state(8 个数字,飞船状态)

state = [
    0.12,  # x 坐标
    1.45,  # y 高度
   -0.05,  # vx 水平速度
   -0.30,  # vy 垂直速度
    0.08,  # 角度
   -0.02,  # 角速度
    0.00,  # 左腿未触地
    0.00   #右腿未触地
]

image.gif

输入 2:动作 action(1 个数字,来自 Actor)

action = [0.62]  # 范围一定在 [-1, 1]

image.gif

最终输出

q_value = 12.73

image.gif

输入:8 个状态数字 + 1 个动作数字

输出:1 个 Q 值分数(评价这个动作好不好)

image.gif 编辑

动作选择(choose_action)

image.gif

观测(状态):随便给一组 8 维数字   observation = [0.1, 0.2, 0.05, -0.3, 0.02, -0.01, 0, 0]

Actor 输出(前向传播后):假设算出 0.4

噪声标准差:action_noise = 0.1

随机噪声:假设抽到 0.07(正态分布)

如果在测试阶段:a=0.4

如果在训练阶段:a=0.4+0.07=0.47

                            a=clip(0.47, −1, 1)=0.47

    为了在训练时通过加噪声来探索环境、找到更好策略,同时在测试时直接使用确定性动作,保

证策略稳定可靠,所以设计了训练/测试两种模式。

网络更新

image.gif

1️⃣ 计算目标 Q 值(target)

next_actions = target_actor(s') → 0.38

q_ = target_critic(s', next_actions) → 10.0

target = r + gamma * q_

target = 2.5 + 0.99 * 10.0

target = 2.5 + 9.9

target = 12.4

2️⃣ 计算当前 Q 值

q = critic(s, a) → 10.0

3️⃣ 计算 Critic 损失(均方误差)

critic_loss = MSE(q, target) = (q - target)²

critic_loss = (10.0 - 12.4)²

critic_loss = (-2.4)²

critic_loss = 5.76

反向传播:更新 Critic,让 q 逼近 12.4

4️⃣ 计算 Actor 损失

new_actions = actor(s) → 0.4

q = critic(s, new_actions) → 10.0

actor_loss = -q

actor_loss = -10.0

反向传播:更新 Actor,让 q 越大越好!

5️⃣ 软更新目标网络

target_actor = 0.005 * actor + 0.995 * target_actor

target_critic = 0.005 * critic + 0.995 * target_critic

目标Q值 target = 12.4

Critic 损失 = 5.76

Actor 损失 = -10.0

                         DDPG 是「单步采样、按批次更新」的方式。

目录
相关文章
|
2月前
|
机器学习/深度学习 算法 机器人
图解强化学习 |手算SAC算法
SAC(Soft Actor-Critic)是最稳定、强大的连续动作强化学习算法,广泛应用于机器人控制与决策任务。其核心是最大熵强化学习:通过双Q网络抑制过估计,柔性策略网络增强探索,自适应温度系数α动态平衡利用与探索,兼顾最优性与鲁棒性。(239字)
476 1
|
2月前
|
机器学习/深度学习 人工智能 分布式计算
基于NSGA-III进化算法的多目标电路优化器
基于NSGA-III进化算法的多目标电路优化器
381 122
|
2月前
|
人工智能 自然语言处理 安全
医疗AI智能体:从数据到关怀人文设计:告别冰冷精准,构建有温度的诊疗交互.131
本文阐述医疗AI智能体的人文设计体系:以大模型为引擎,融合情绪识别、风险分级与伦理审核,构建“共情→分级→指引”三要素话术框架,破解技术冰冷难题。实践表明,人文优化使用户满意度从30%跃升至95%,实现精准医学与温暖交互的统一。
285 7
|
2月前
|
人工智能 Oracle 机器人
推理 → 行动 → 观察:用 LangChain + Python 实现一个智能体循环
智能体循环(Agentic Loop)突破单次问答局限,通过“推理→行动→观察”迭代闭环,让AI能自主分解任务、调用工具、持续优化直至目标完成,是构建真正自动化智能体的核心架构。
405 9
推理 → 行动 → 观察:用 LangChain + Python 实现一个智能体循环
|
2月前
|
API
阿里云微服务引擎 MSE 及 API 网关 2026 年 5 月产品动态
阿里云微服务引擎 MSE 及 API 网关 2026 年 5 月产品动态。
235 30
|
2月前
|
机器学习/深度学习 数据采集 人工智能
田间杂草检测数据集分享(适用于YOLO系列深度学习分类检测任务)
本数据集含4000张真实农田图像(小麦/玉米/水稻田),YOLO格式标注杂草目标,覆盖多天气、光照与视角,适用于YOLO系列等目标检测模型训练,助力智能除草与精准农业研究。(239字)
414 16
|
2月前
|
机器学习/深度学习 人工智能 算法
图解强化学习 |手算近端策略优化算法(PPO)
PPO(近端策略优化)是当前最主流的强化学习算法,以训练稳定、上手简单、泛化性强著称。它通过Actor-Critic双网络架构,结合PPO-Clip损失函数限制策略更新幅度,并利用GAE优势估计提升样本效率,广泛应用于游戏AI、机器人控制、大模型对齐等领域。
614 3
|
2月前
|
机器学习/深度学习 编解码 算法
PyTorch深度学习实战 |手算​​U-net
本文详细解析了U-Net网络架构及其在医学图像分割中的应用。重点对比了U-Net与FCN的核心区别:U-Net采用特征拼接(Concat)保留所有层级信息,而FCN使用特征相加(Add)进行融合。文章深入剖析了U-Net的编码器-瓶颈-解码器结构,解释了其独特的裁剪拼接机制和Overlap-tile策略,并提供了完整的PyTorch实现代码。现代U-Net通过SamePadding实现了输入输出尺寸一致,显著提升了分割精度。文章还探讨了弹性形变数据增强和带空间权重的损失函数设计,为医学图像分析提供了实用解决
238 2
|
2月前
|
人工智能 缓存 运维
CC Switch路由代理技术解析:Codex CLI无缝对接DeepSeek模型实操指南
在现代AI开发与命令行智能编程场景中,Codex CLI是开发者常用的命令行智能辅助工具,能够实现代码生成、问题排查、脚本编写、项目调试等自动化能力。但原生Codex CLI存在明显的适配局限,其底层仅兼容OpenAI Responses API协议,无法直接对接DeepSeek等主流第三方大模型。市面上绝大多数第三方开源、商用大模型均采用Chat Completions API协议,两种协议在请求结构、参数格式、流式返回规则、响应字段定义上完全不互通,直接填写第三方模型接口地址会出现接口404报错、参数解析失败、流式内容中断、模型列表加载异常等各类问题,极大限制了Codex CLI的模型拓展
793 1
|
2月前
|
监控 API Windows
WGCLOUD v3.6.8 正式更新
WGCLOUD v3.6.8发布:修复CPU/内存等指标偶现为0、大屏离线数据不显示等Bug;新增Windows系统服务列表及开放API;优化告警脚本执行与SNMP设备运行时间兼容性。升级方式详见官方图示。