图解强化学习 |手算DDPG

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 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 是「单步采样、按批次更新」的方式。

目录
相关文章
|
9天前
|
人工智能 开发工具 iOS开发
Claude Code 新手完全上手指南:安装、国产模型配置与常用命令全解
Claude Code 是一款运行在终端环境中的 AI 编程助手,能够直接在命令行中完成代码生成、项目分析、文件修改、命令执行、Git 管理等开发全流程工作。它最大的特点是**任务驱动、终端原生、轻量高效、多模型兼容**,无需图形界面、不依赖 IDE 插件,能够深度融入开发者日常工作流。
3136 8
|
12天前
|
Shell API 开发工具
Claude Code 快速上手指南(新手友好版)
AI编程工具卷疯啦!Claude Code凭借任务驱动+终端原生的特性,成了开发者的效率搭子。本文从安装、登录、切换国产模型到常用命令,手把手带新手快速上手,全程避坑,30分钟独立用起来。
3198 20
|
5天前
|
人工智能 Linux BI
国内用 Claude Code 终于不用翻墙了:一行命令搞定,自动接 DeepSeek
JeecgBoot AI专题研究 一键脚本:Claude Code + JeecgBoot Skills + DeepSeek 全平台接入 一行命令装好 Claude Code + JeecgBoot Skills + DeepSeek 接入,无需翻墙使用 Claude Code,支持 Wind
2129 3
国内用 Claude Code 终于不用翻墙了:一行命令搞定,自动接 DeepSeek
|
24天前
|
人工智能 JSON 供应链
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
LucianaiB分享零成本畅用JVS Claw教程(学生认证享7个月使用权),并开源GeoMind项目——将JVS改造为科研与产业地理情报可视化AI助手,支持飞书文档解析、地理编码与腾讯地图可视化,助力产业关系图谱构建。
23591 15
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
|
1天前
|
人工智能 自然语言处理 文字识别
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
Qwen3.7-Max是阿里云百炼面向智能体时代推出的新一代旗舰模型,对标GPT-5.5、Claude Opus 4.7等闭源旗舰。该模型支持百万级token上下文窗口,具备顶级推理能力、多模态搜索与视觉理解增强、流式输出低延迟响应等核心优势,覆盖编程、办公、长周期自主执行等复杂场景。同时支持OpenAI接口兼容,便于系统快速迁移。用户可通过Token Plan团队版、Coding Plan或节省计划等订阅方式灵活调用,适合企业级高要求场景使用。
|
11天前
|
人工智能 JSON BI
DeepSeek V4-Pro 接入 Claude Code 完全实战:体验、测试与关键避坑指南
Claude Code 作为当前主流的 AI 编程辅助工具,凭借强大的代码理解、工程执行与自动化能力深受开发者喜爱,但原生模型的使用成本相对较高。为了在保持能力的同时进一步降低开销,不少开发者开始寻找兼容度高、价格更友好的替代模型。DeepSeek V4 系列的发布带来了新的选择,该系列包含 V4-Pro 与 V4-Flash 两款模型,并提供了与 Anthropic 完全兼容的 API 接口,理论上只需简单修改配置,即可让 Claude Code 无缝切换为 DeepSeek 引擎。
2645 3
|
3天前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全+三种模式+记忆体系+实战工作流完整手册
Claude Code 是当前最流行的终端级 AI 编程助手,能够直接在命令行中完成代码生成、项目理解、文件修改、命令执行、错误修复等全流程开发工作。它不依赖图形界面、不占用额外资源,却能深度理解项目结构,自动生成规范代码,大幅提升研发效率。
771 2
|
10天前
|
人工智能 安全 开发工具
Claude Code 官方工作原理与使用指南
Claude Code 不是传统代码补全工具,而是 Anthropic 推出的终端 AI 代理,具备代理循环、双驱动架构(模型+工具)、全局项目感知、6 种权限模式等核心能力,本文基于官方文档系统解析其工作原理与高效使用技巧。
1443 0