图解强化学习 |手算PG算法

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: PG(Policy Gradient)策略梯度算法直接优化策略网络,输出动作概率而非价值,适用于离散/连续动作空间。需整回合采样后计算折扣回报Gₜ,以-logπ·G为损失函数更新参数,提升高回报动作概率。可引入基线(如平均回报)构建优势函数,提升训练稳定性与效率。(239字)

 PG算法的基础认识

Policy Gradient,策略梯度算法

传统价值算法(DQN)只能选离散最优动作,连续动作场景难以适配PG直接优化决策策略,离

散、连续动作空间都能适用不靠估值选动作,直接更新策略参数;需跑完完整回合汇总数据后再更

新。

image.gif


PG的网络结构

策略网络(Policy Network)

PG 只有一个网络:Actor 网络,没有 Critic,没有价值输出。

输入:当前的状态S

输出:动作的概率

输入状态 s (6维)
全连接层 1 (ReLU)
全连接层 2 (ReLU)
输出层 → Softmax → 动作概率 [p0, p1, p2]

image.gif

PG 不输出价值,只输出动作概率

image.gif


网络更新

网络更新过程

目的:让总奖励高的动作被选中的概率变大,让总奖励低的动作概率变小,直接优化决策策略。

(1)采集一整条回合数据。

从游戏开始到结束,收集所有的:状态 s、动作 a、奖励 r、是否结束 done

(PG 必须等一整局玩完才能更新)

(2)计算每一步动作的 累计折扣回报 Gₜ。

从当前步开始,到回合结束,所有未来奖励的加权总和:



Gₜ 越大 → 这个动作越好

Gₜ 越小 → 这个动作越差

(3)前向传播,计算动作的对数概率

将状态 s 输入 PG 策略网络,得到动作概率 π(a|s),再取对数

image.gif

(4)计算 PG 损失函数

image.gif

(5)反向传播更新网络参数

 最小化损失 → 等价于 最大化总奖励→ 好动作概率上升,坏动作概率下降

PG 更新 = 收集整局数据 → 算总回报 G → 用 -logπ * G 做损失 → 让好动作更容易被选中

log_prob = log( 你刚才选的那个动作的概率 )

用 log_prob,乘积求导转为加减求导,梯度计算数学上更简便,最大化动作概率等价最大化对数

概率,适配深度学习最小损失的优化范式。

作用只有一个:告诉网络,我刚才选了哪个动作。因为概率永远 < 1,所以

log_prob 永远是负数。(0.9 → -0.1;0.5 → -0.69;0.1 → -2.3)

G(累计奖励)

G 代表:你刚才做的这个动作,到底好不好

G 越大 → 动作越好

G 越小 → 动作越差

带基线的 PG

下面的流程图中,我们并没有使用回报,而是使用了优势函数:

区别在于:

之前(用 G_t):两个动作都被强化(因为 G_t 都是正的)

现在(用 Advantage):只强化“比平均好”的动作,抑制“比平均差”的动作

baseline的确定,最简单的方式比如可以使用用当前 batch 的平均回报

G = [2.8, 2.0]

b = (2.8 + 2.0) / 2 = 2.4

b0 = b1 = 2.4

image.gif


手动计算

动作空间:{左(0), 右(1)}

折扣因子:γ = 0.9

批次:先看单条轨迹(B=1),长度 T=2

策略网络:给定状态输出动作概率(softmax 后)

t = 0

输入:当前状态s    

输出 logits:z0 = [0.2, 1.0]

softmax 得到概率: πθ(a|s0) = softmax(z0)≈ [0.31, 0.69]      P(左)=0.31    P(右)=0.69

采样动作  a0 = 1(右)

环境反馈奖励 r0 = 1

进入下一状态s1

t = 1

z1 = [1.2, 0.3]

πθ(a|s1) ≈ [0.71, 0.29]

a1 = 0(左)

r1 = 2

τ = {

     s0, a0=1, r0=1,

     s1, a1=0, r1=2

}

计算 Return(回报)

image.gif

(1)PG算法叫做策略梯度算法,因为直接对策略进行梯度优化

(2)策略梯度公式:

image.gif

(3)回合制更新

image.gif 编辑


目录
相关文章
|
1月前
|
供应链 数据安全/隐私保护
1688新手零基础运营全攻略,新手快速起店实操指南
本文为1688新手商家量身打造的零基础运营指南,涵盖合规入驻、店铺装修、产品优化、免费流量获取、BSR权重提升及高频避坑技巧,全程实操、无套路、零付费,助新手快速起店、稳定出单。
19755 1
|
3月前
|
人工智能 监控 Kubernetes
LoongCollector + ACS Agent Sandbox:构建 AI Agent 生产级运行平台
文章介绍了阿里云ACSAgentSandbox与LoongCollector协同构建的AIAgent生产级运行平台,通过沙箱隔离保障运行时安全,并以高性能、全链路可观测能力解决Agent行为不可预测和执行风险难题。
1678 60
|
机器学习/深度学习 人工智能 API
大模型推理服务全景图
国内大模型推理需求激增,性能提升的主战场将从训练转移到推理。
3498 141
|
1月前
|
弹性计算 前端开发 Ubuntu
阿里云服务器ECS的租用教程和简单的前端页面部署
本文详解阿里云学生福利领取(含300元卡券)及ECS轻量服务器选购与部署全流程:涵盖学生机免费申领、配置选型建议(Ubuntu/CentOS/Windows)、安全组设置、Nginx安装、网页部署及Xshell远程连接等实操步骤,新手友好。
317 8
|
7月前
|
监控 安全 Unix
iOS 崩溃排查不再靠猜!这份分层捕获指南请收好
从 Mach 内核异常到 NSException,从堆栈遍历到僵尸对象检测,阿里云 RUM iOS SDK 基于 KSCrash 构建了一套完整、异步安全、生产可用的崩溃捕获体系,让每一个线上崩溃都能被精准定位。
2213 151
|
1月前
|
人工智能 自然语言处理 API
阿里云海外重磅发布 Qwen Cloud
Qwen Cloud,正是为AI Agent 而生的全新服务方式。
2737 70
|
1月前
|
JSON 缓存 安全
通过 CC Switch 本地路由让 Codex CLI 接入 DeepSeek 等第三方模型
CC Switch 通过本地路由(`127.0.0.1:15721`)实现协议转换:将 Codex 的 Responses API 请求自动映射为 DeepSeek 等厂商的 Chat Completions 接口,兼容流式响应与工具调用,无需修改 Codex 源码,安全隔离 API Key。(239字)
3998 7
通过 CC Switch 本地路由让 Codex CLI 接入 DeepSeek 等第三方模型
|
2月前
|
机器学习/深度学习 IDE 数据挖掘
2026最新Jupyter Notebook安装使用保姆级教程(附安装包+图文步骤)
Jupyter Notebook是基于网页的交互式编程工具,支持Python、R等数十种语言。以单元格为单位执行代码,即时显示结果,融合代码、文字与图表,适合数据分析、教学及报告编写。推荐通过Anaconda一键安装。