策略梯度方法
策略梯度方法
数学背景
给定一个标量函数 J ( θ ) J\left(\theta\right) J(θ),利用梯度上升法,使其最大化,此时的 π θ \pi_\theta πθ就是最优策略。
θ t + 1 = θ t + α ∇ θ J ( θ t ) \theta_{t+1}=\theta_t+\alpha \nabla_\theta J(\theta_t) θt+1=θt+α∇θJ(θt)
标量函数 J ( θ ) J(\theta) J(θ)
就是上面提到的最优指标 J J J,一般有以下几种定义:
-
平均状态价值
v ˉ π = ∑ s ∈ S d π ( s ) v π ( s ) = E [ v π ( S ) ] \bar v_\pi =\sum_{s\in\mathcal{S}}d_\pi(s)v_\pi(s) =\mathbb{E}\left[ v_\pi(S) \right] vˉπ=s∈S∑dπ(s)vπ(s)=E[vπ(S)]
如果 d d d与 π \pi π无关,那么记 d π = d 0 d_\pi=d_0 dπ=d0,就Grid World问题,由于状态价值 v v v是回报的期望,考虑两种具体情况:- 起始在随机位置,均匀考虑每个状态价值: d 0 = 1 / ∣ S ∣ d_0=1/|\mathcal{S}| d0=1/∣S∣
- 起始在固定位置,只考虑 s 0 s_0 s0状态价值即可: d 0 ( s 0 ) = 1 , d 0 ( s ≠ s 0 ) d_0(s_0)=1,\ d_0(s\neq s_0) d0(s0)=1, d0(s=s0)
如果 d d d与 π \pi π有关,求解 d π T P π = d π T d_\pi^TP_\pi=d_\pi^T dπTPπ=dπT得到 d π d_\pi dπ,其中 P π P_\pi Pπ是在策略 π \pi π下的状态转移矩阵。此时,如果一个状态经常出现,对应的 d ( s ) d(s) d(s)就会变大。
-
平均瞬时奖励
r ˉ π = ∑ s ∈ S d π ( s ) r π ( s ) = E [ r π ( S ) ] \bar r_\pi=\sum_{s\in \mathcal{S}}d_\pi(s)r_\pi(s)=\mathbb{E}\left[r_\pi(S)\right] rˉπ=s∈S∑dπ(s)rπ(s)=E[rπ(S)]其中 r π ( s ) r_\pi(s) rπ(s)是agent在某状态按策略 π \pi π在动作空间中采取动作的瞬时奖励
r π ( s ) = ∑ a ∈ A π ( s ∣ a ) r ( s , a ) r_\pi(s)=\sum_{a\in \mathcal{A}}\pi(s\mid a)r(s,a) rπ(s)=a∈A∑π(s∣a)r(s,a)此定义与episode reward等价,即当episode长度无限大时, s s s按 d π d_\pi dπ分布,即
lim n → ∞ 1 n E [ ∑ k = 1 n R t + k ] ⟺ r ˉ π \lim_{n\to\infty}\frac{1}{n}\mathbb{E}[\sum_{k=1}^{n}R_{t+k}] \iff \bar r_\pi n→∞limn1E[k=1∑nRt+k]⟺rˉπ
J ( θ ) J(\theta) J(θ)的梯度
上面两类指标函数的梯度都可以写成:
∇ θ J ( θ ) = ∑ s ∈ S η ( s ) ∑ a ∈ A ∇ θ π ( a ∣ s , θ ) q π ( s , a ) = ∑ s ∈ S η ( s ) ∑ a ∈ A π ( a ∣ s , θ ) ∇ θ log π ( a ∣ s , θ ) q π ( s , a ) = E [ ∇ θ log π ( A ∣ S , θ ) q π ( S , A ) ] \begin{aligned} \nabla_\theta J(\theta) &=\sum_{s\in \mathcal{S}}\eta(s)\sum_{a\in \mathcal{A}} \nabla_\theta \pi(a|s,\theta)q_\pi(s,a)\\ &=\sum_{s\in \mathcal{S}}\eta(s)\sum_{a\in \mathcal{A}} \pi(a|s,\theta)\nabla_\theta \log\pi(a|s,\theta)q_\pi(s,a)\\ &=\mathbb{E}[\nabla_\theta \log\pi(A|S,\theta)q_\pi(S,A)] \end{aligned} ∇θJ(θ)=s∈S∑η(s)a∈A∑∇θπ(a∣s,θ)qπ(s,a)=s∈S∑η(s)a∈A∑π(a∣s,θ)∇θlogπ(a∣s,θ)qπ(s,a)=E[∇θlogπ(A∣S,θ)qπ(S,A)]
其中, S ∼ η S\sim \eta S∼η, A ∼ π ( a ∣ s , θ ) A\sim \pi(a|s,\theta) A∼π(a∣s,θ)
训练时,使用随机近似的梯度:
∇ θ J ≈ ∇ θ log π ( a ∣ s , θ ) q π ( s , a ) \nabla_\theta J\approx\nabla_\theta \log\pi(a|s,\theta)q_\pi(s,a) ∇θJ≈∇θlogπ(a∣s,θ)qπ(s,a)
REINFORCE伪代码

相关文章:
策略梯度方法
策略梯度方法 数学背景 给定一个标量函数 J ( θ ) J\left(\theta\right) J(θ),利用梯度上升法,使其最大化,此时的 π θ \pi_\theta πθ就是最优策略。 θ t 1 θ t α ∇ θ J ( θ t ) \theta_{t1}\theta_t\alpha \nabla_\theta…...
博客系统之单元测试
对博客系统进行单元测试 1、测试查找已存在的用户 测试名称 selectByUsernameTest01 测试源码 //查找用户,存在 Test public void selectByUsernameTest01 () { UserDao userDao new UserDao(); String ret1 userDao.selectByUsername("张三").toStr…...
【ARM v8】如何在ARM上实现x86的rdtsc()函数
博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…...
redis--事务
redis事务 在Redis中,事务是一组原子性操作的集合,它们被一起执行,要么全部执行成功,要么全部回滚。虽然Redis的事务并不遵循传统数据库的ACID特性,但它仍然提供了一种将多个命令打包成一组执行的机制,适用…...
111. 二叉树的最小深度
111. 二叉树的最小深度 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeN…...
SpringMVC归纳与总结
前言 Spring的核心是IOC,一种依赖反转的解耦思想。MVC是一种处理Web请求的架构模式,当两者的作用结合,就形成了SpringMVC。 组成及运行原理 1. 两次映射 2. 为什么用适配器模式 过滤器与拦截器 1. 范围 静态资源与动态资源2. 生命周期…...
Python学习笔记_进阶篇(三)_django知识(二)
本章内容 Django model Model 基础配置 django默认支持sqlite,mysql, oracle,postgresql数据库。 <1> sqlite django默认使用sqlite的数据库,默认自带sqlite的数据库驱动 引擎名称:django.db.backends.sqlite3 <2>mysql …...
RISC-V 整型通用寄存器介绍
简介 RISC-V64位/32位提供了32个整型通用寄存器,编号是x0~x31,这些整型通用寄存器的宽度与架构位数一致。 浮点数寄存器与整形寄存器一样也提供了32个:f0~f31,位数与架构位数一致。 通用寄存器介绍 零寄存器 x0/zero x0寄存…...
学习Vue:【性能优化】异步组件和懒加载
在Vue.js应用开发中,性能优化是一个至关重要的主题,而异步组件和懒加载是提升性能的有效方法之一。本文将介绍什么是异步组件和懒加载,以及如何在Vue.js中应用这些技术来提升应用性能。 异步组件和懒加载 异步组件 异步组件是指在需要的时候…...
pdf格式文件下载不预览,云存储的跨域解决
需求背景 后端接口中返回的是pdf文件路径比如: pdf文件路径 (https://wangzhendongsky.oss-cn-beijing.aliyuncs.com/wzd-test.pdf) 前端适配是这样的 <ahref"https://wangzhendongsky.oss-cn-beijing.aliyuncs.com/wzd-test.pdf&…...
httplib + nlohmann::json上传数据时中文乱码解决
1、nlohmann::json 1.1 编码格式使用UTF-8 参考 nlohmann::json 中文乱码解决方案 (1)将数据先转为UTF-8格式 2、httplib 2.1 上传数据前 (1)调用httplib::Response对象的set_header()方法来设置编码格式 httplib::Response res…...
JavaScript中的设计模式之一--单例模式和模块
虽然有一种疯狂天才的感觉可能很诱人,但重新发明轮子通常不是设计软件的最佳方法。很有可能有人已经遇到了和你一样的问题,并以一种聪明的方式解决了它。这样的最佳实践在形式化后被称为设计模式。今天我们来看看它们的概念,并检查单例模式和…...
回归预测 | MATLAB实现GAM广义加性模型多输入单输出回归预测(多指标,多图)
回归预测 | MATLAB实现GAM广义加性模型多输入单输出回归预测(多指标,多图) 目录 回归预测 | MATLAB实现GAM广义加性模型多输入单输出回归预测(多指标,多图)效果一览基本介绍程序设计参考资料 效果一览 基本…...
css学习4(背景)
1、CSS中,颜色值通常以以下方式定义: 十六进制 - 如:"#ff0000"RGB - 如:"rgb(255,0,0)"颜色名称 - 如:"red" 2、background-image 属性描述了元素的背景图像. 默认情况下,背景图像进…...
二、SQL,如何实现表的创建和查询
1、新建表格(在当前数据库中新建一个表格): (1)基础语法: create table [表名]( [字段:列标签] [该列数据类型] comment [字段注释], [字段:列标签] [该列数据类型] comment [字段注释], ……,…...
大数据及软件教学与实验专业实训室建设方案
一 、系统概述 大数据及软件教学与实验大数据及软件教学与实验在现代教育中扮演重要角色,这方面的教学内容涵盖了大数据处理、数据分析、数据可视化和大数据应用等多个方面。以下是大数据及软件教学与实验的一般内容:1. 数据基础知识:教授学生…...
信创办公–基于WPS的EXCEL最佳实践系列 (公式和函数)
信创办公–基于WPS的EXCEL最佳实践系列 (公式和函数) 目录 应用背景相关知识操作步骤1、认识基本的初级函数2、相对引用,绝对引用,混合引用3、统计函数4、文本函数 应用背景 熟练掌握Excel的函数工具能让我们在日常的使用中更加方…...
【Apollo】自动驾驶感知——毫米波雷达
作者简介: 辭七七,目前大一,正在学习C/C,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: 七七的闲谈 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖…...
SpringBoot部署到腾讯云
SpringBoot部署到腾讯云 此处默认已经申请到腾讯云服务器,因为本人还没有申请域名,所以就直接使用的ip地址 XShell连接到腾讯云 主机中填写腾讯云的公网ip地址 公网ip地址在下图中找到 接下来填写服务器的用户名与密码 一般centOS用户名为rootÿ…...
Git 设置代理
Git 传输分两种协议,SSH和 http(s),设置代理也需要分两种。 http(s) 代理 Command Line 使用 命令行 模式,可以在Powershell中使用以下命令设置代理: $env:http_proxy"http://127.0.0.1:7890" $env:https_proxy&quo…...
3dmax动画期末作业全流程分享(附技术细节+避坑指南)
前言:期末将至,相信很多学习3dmax的小伙伴都在为动画期末作业发愁——从创意构思到建模、动画制作,再到渲染输出,每一步都可能遇到各种问题。本次就结合我的期末作业实践,详细分享从前期准备到成品交付的完整流程&…...
“找档难、找档慢”困扰工作?档案宝智能检索功能,让档案查询秒响应
目录 档案之痛:效率与风险并存 破局之道:智能检索成关键 写在最后 在日常办公中,你是否遇到过这样的场景:需要调取一份重要合同档案,翻遍整个文件柜却找不到;领导紧急要一份历史数据,手动搜索了…...
从手机闪光灯到汽车大灯:聊聊‘发光强度’(坎德拉)在硬件选型中的实际应用
从手机闪光灯到汽车大灯:发光强度(坎德拉)的硬件实战指南 当你在昏暗的停车场用手机闪光灯寻找钥匙时,是否想过为什么有些手机的补光能照亮整个车位,而有些却只能勉强看清手掌?这个差异背后,隐藏…...
微软创新者窘境:从J的离开看大公司如何留住颠覆性人才
1. 从“J”的离去看微软的“创新者窘境”2010年5月,当微软宣布其娱乐与设备事业部(E&D)的重组,以及J Allard和Robbie Bach两位核心人物的离开时,科技圈的反应是复杂的。表面上看,这是一次常规的高层人事…...
独立开发者如何借助taotoken模型广场低成本验证产品创意
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 独立开发者如何借助Taotoken模型广场低成本验证产品创意 对于资源有限的独立开发者或小型工作室而言,验证一个需要AI功…...
WarcraftHelper魔兽争霸III优化工具:让你的经典游戏重获新生
WarcraftHelper魔兽争霸III优化工具:让你的经典游戏重获新生 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 你是否还在为《魔兽争霸III》…...
Cartographer闭环优化里的‘分支定界’:一个机器人SLAM工程师的实战笔记与避坑心得
Cartographer闭环优化中的分支定界算法:工程实践与性能调优指南 在SLAM(即时定位与地图构建)领域,闭环检测的准确性直接决定了系统长期运行的稳定性。作为Cartographer算法的核心组件之一,分支定界(Branch …...
从零到精通:AI大模型学习路线图,手把手带你入门!
本文提供了一条从基础到高级的AI大模型学习路线图,涵盖数学与编程基础、机器学习入门、深度学习实践、大模型探索以及进阶应用等方面。文章推荐了丰富的学习资源,包括经典书籍、在线课程、实践项目和开源平台,旨在帮助新手小白系统学习AI大模…...
深度学习草图到全栈代码生成:技术原理、实现挑战与工程实践
1. 项目概述:从草图到全栈应用的智能跃迁在软件开发领域,从产品原型到最终上线的代码实现,中间横亘着一条巨大的“实现鸿沟”。产品经理或设计师用Sketch、Figma等工具绘制出精美的界面草图,而工程师则需要将这些静态的视觉稿&…...
长期使用taotoken token plan套餐的成本节约感受
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 长期使用 Taotoken Token Plan 套餐的成本节约感受 对于需要稳定调用大模型 API 的个人开发者或团队而言,成本控制是一…...
