首页/新闻资讯/正文详情

学习笔记(策略梯度)

发布时间:2026/11/6 7:51:32 来源:云帆数科 栏目:资讯中心
学习笔记(策略梯度)
前文所述方法都是基于value进行评估现在我们转向policy并有值近似转向策略近似。Basic idea of policy gradient在先前策略是用表格来表示的我们可以直观地取出或改变表格的值。现在策略可以用参数方程表示θ是一个向量。这个方程可以是一个神经网络输入是s输出是采取各行动的概率参数是θ。这种表示法的优势是当状态空间很大的时候表格法在存储和泛化上效率较差而函数近似有更好的性能。策略表格表示和函数表示之间存在差异第一如何来定义最优策略函数的定义是这个策略能否最大化一个确定的标量度量。第二如何获取行动的概率表格法是直接查表而函数法我们需要根据函数结构和参数计算π(a|s, θ)的值。第三如何更新策略表格法中我们可以直接改变对应位置的策略值来更新策略而函数法我们只能通过改变θ的值来更新策略。策略梯度的基本观点很简单第一步定义一个目标函数metrics来定义最优策略第二步通过梯度优化的方式来寻找最优策略。Metrics to define optimal policies有两个metrics第一个是平均状态价值average state value定义如下其中d(s)0代表state的权重且∑d(s)1我们可以认为它是一个概率分布因此平均价值可以被写为s服从d分布。向量形式为如何选择d的分布呢我们有两种方法。第一种方法是认为d是独立于策略pi的这种方法相对简单因为这样metric的梯度计算要更简单d(s)求导时被视作常数。这种方法中我们将选择d0的分布也有两种方法一种认为所有状态是同等重要的也就是d0是均匀分布d0(s) 1/|S|第二种是我们只关注一个特定状态s0例如在一些任务中episode经常从s0出发此时我们只关注从s0出发的long-term return因此有d0(s0) 1, d0(s s0) 0此时的目标函数被简化为J(w)Vpi(s0)。average value存在等价写法利用全期望公式按初始状态分布d对各个状态价值加权求和。第二种方法是认为d取决于策略pi一种通用的方法是认为d是策略pi下的stationary distribution此时d满足Pπ是状态转移矩阵。第二个metric是average one-step reward或简写为average reward平均奖励定义如下S服从d分布dπ是stationary distribution式中的rπ(s)是是从状态s出发的平均单步奖励。又有此外average reward还有一个等价的定义假设一个agent遵循一个给定策略并生成了一个轨迹获得了一系列reward那么沿着这条轨迹的平均单步reward就是s0是起始状态。固定起点s0采样无数独立轨迹把同一步奖励在不同轨迹上取平均消除随机性其中E[∑ Rtk]的含义是一个轨迹走n步求总奖励的期望值1/n是在求时间步上的平均我们不是求n步一共拿多少奖励而是在求每一步平均能拿多少奖励。以上所述的两个metrics都是π的函数因为θ是π的参数所以metrics也是θ的函数此外不同θ值会产生不同的metrics值因此我们可以通过寻找θ的值使metrics值最大化。这是梯度下降方法的基本观点。直觉上来说average reward要更加短视因为它仅仅考虑即时奖励而average value则考虑总奖励但事实上这两个值之间存在数学关系。Gradients of the metricsmetrics的计算是一个很复杂的问题我们需要分辨不同的metrics还需要分discount和undiscount的情况。我们直接给出结果一些特殊情况这种的式子我们很难运用到计算中因此我们对其做变形这种形式的好处是我们可以用采样值来近似期望于是有因为我们需要计算ln函数因此我们要确保对所有的s、a、θ有π(a|s, θ) 0我们可以通过softmax的方法来归一化数据这种方式可以被视作一个神经网络输入为s参数为θ输出为π(a|s, θ)这个网络的输出层的激活函数应为softmax因为对所有的a有π(a|s, θ) 0它已经兼具搜索的广度和深度因此可以用greedy policy来更新策略。Gradient-ascent algorithm有了metrics的导数后我们就可以得到梯度更新的算法了梯度上升算法的目的是最大化目标函数真实用利用采样代替期望又因为我们不知道qπ因此用qt来近似。估计qt又有两种方式一种是MC另一种是TD和其他方法。如何进行采样因为behavior policy和target policy相同所以是on-policy的。因为π(at|st, θt)0当β大于0时说明qt(st,at)大于零说明这个action有效会使下一次采取这个action的概率上升反之β小于0时说明action有害下次采取这个action的概率下降。同时β有助于平衡探索的广度和深度β和qt成正比如果qt大β也变大算法会给这个action更大概率。β和π(at|st, θt)成反比如果π(at|st, θt)小β变大因此算法会深入探索那些小概率的策略。REINFORCE algorithm回到基本算法中如果qt以MC的方式来估计(用一个episode中sa对后续的return作为qt的估计值)这个算法就被叫做REINFORCE。

相关推荐

诚迈科技萤火Pi AI开发套件,基于高通跃龙IQ系列,原型到量产一步到位!
诚迈科技萤火Pi AI开发套件,基于高通跃龙IQ系列,原型到量产一步到位!

边缘AI全面爆发,具身智能机器人、工业视觉质检、智能穿戴……AI正从云端快速下沉到设备终端。但算力有了,怎么快速变成能量产的产品?硬件集成、BSP适配、系统裁剪、驱动开发、成像调优、模型部署,这一整套工程链耗时耗人。诚迈科技… · 2026/11/6 7:51:32

解锁稠油高效分离新机制!难题突破:碳酸盐沥青岩稠油 - 固分离效率大幅提升
解锁稠油高效分离新机制!难题突破:碳酸盐沥青岩稠油 - 固分离效率大幅提升

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 7:51:32

字节跳动社招AI岗位占比34.6%!收藏这份大模型工程师进阶指南
字节跳动社招AI岗位占比34.6%!收藏这份大模型工程师进阶指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 7:51:32

企业元宇宙治理框架:技术实现与合规路径
企业元宇宙治理框架:技术实现与合规路径

1. 企业元宇宙治理框架的核心逻辑 企业元宇宙作为数字化转型的新阶段,其治理框架需要兼顾技术创新与合规要求。从技术架构角度看,企业元宇宙本质上是一个由数字孪生、区块链、人工智能等技术构成的复杂系统。这个系统需要解决三个核心问题:如… · 2026/11/6 14:59:51

基于CDC的MySQL实时数据同步方案实践
基于CDC的MySQL实时数据同步方案实践

1. 项目背景与核心价值 在数据驱动的业务场景中,数据库表间数据同步是个高频需求。我最近在电商订单系统中就遇到了这个问题:订单主表数据变更后,需要实时同步到统计分析表和风控表。传统的手动同步或定时任务方式存在延迟高、易出错的问题&a… · 2026/11/6 14:00:34

JSP农贸交易系统开发与智能撮合算法实践
JSP农贸交易系统开发与智能撮合算法实践

## 1. 项目概述与核心价值农贸产品交易系统是连接农产品生产端与消费端的重要数字化桥梁。这个基于JSP技术的交易平台(项目编号g3608)完整包含了程序源码、数据库设计、部署指南和开发环境配置,是一套开箱即用的农产品B2B解决方案。我在参与某… · 2026/11/6 14:00:34

2025年3D建模工具选型实战指南:按工作流断点匹配生产力
2025年3D建模工具选型实战指南:按工作流断点匹配生产力

1. 这不是选软件,是选你未来三年的“数字手”——为什么2025年建模工具选择比以往任何时候都更关键 2025年做3D建模,你面对的早已不是“用哪个软件画个模型”这么简单的事。它直接决定你能不能接单、能不能按时交付、能不能把想法一秒变现实、甚至决定你… · 2026/11/6 14:00:34

Qt飞机大战源码解析:QGraphicsView游戏循环与碰撞检测实战
Qt飞机大战源码解析:QGraphicsView游戏循环与碰撞检测实战

简介:这份资源是面向Qt初学者与游戏开发入门者的「飞机大战」完整项目源码包,围绕Qt框架在经典空战游戏中的实际应用展开,可用于课程设计、自学练手或二次开发参考。压缩包共223个文件,约6.21MB,以105个C头文件与32个c… · 2026/11/6 14:00:34

老旧CMS的XSS与getshell风险防护及应急治理
老旧CMS的XSS与getshell风险防护及应急治理

项目中遇到过不少次类似的场面:群里忽然冒出一条消息,标题写得耸人听闻,核心关键词是 XSS 、 0day 、 通杀所有版本 ,还带着一个"可 getshell"的尾巴,配图往往是半个命令行窗口。消息传得飞快&#xf… · 2026/11/6 13:56:30

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:27:59

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:03

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 10:29:23

三菱PLC数据采集到数据库的时序设计:Python+MC协议实战
三菱PLC数据采集到数据库的时序设计:Python+MC协议实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 1:02:11

ASIC主模式RTL设计:状态机与三态驱动的流片级实现
ASIC主模式RTL设计:状态机与三态驱动的流片级实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 1:02:11

STM32嵌入式C++开发:GDB调试与Renode仿真实战指南
STM32嵌入式C++开发:GDB调试与Renode仿真实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 1:02:11

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:27:59

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:03

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 10:29:23

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码