强化学习-NPG

news2025/4/6 2:05:32

NPG来源于PG算法,是TRPO算法的前身。

随机梯度策略算法的输入输出问题(不得不考虑的):

PG算法用函数表示策略,该表示方法不直接输出动作(有别于“确定性梯度策略”),那么就有两种可以采用的输入输出方式:

(1)输入状态s,输出该状态下可选动作的选择概率

(2)输入状态s与该状态下可选择的动作a,输出该状态-动作对的概率

很显然,这以上两种方式都不能满足我们对动作空间连续的需求,第二种方式还需要多次推理,显然都超级不好。

由于不直接输出动作,而是输出动作的概率,再依输出的概率选择概率最大的动作。故此,我们想到了正态分布,可以使Actor网络输出一个正态分布的“均值”“方差”代表动作的概率分布,并从这个分布中进行随机采样(分布越集中采样均值的概率越大,同时这样也使策略具备了探索性)

一、PG算法复习

随机策略梯度算法用函数表示策略,输入状态,输出选取动作的概率:

\pi_{\theta } \left ( a_{t}|s_{t} \right )

通过更新函数的参数来更新优化策略。

参数更新的目标是最大化“目标函数”,目标函数是我们对一个策略表现好坏定义的评价标准,从而可以量化一个策略的好坏。一般而言,我们最常用的目标函数是“平均V值”

\overline{v}=\displaystyle\sum_{s\in S}d\left ( s \right )v_{\pi }\left ( s \right )=\mathbb{E}\left [ v_{\pi}\left ( s \right ) \right ]

这个期望可以进一步展开成该状态下q值与a的概率乘积的和:

\overline{v}=\displaystyle\sum_{s\in S}d\left ( s \right )v_{\pi }\left ( s \right )=\displaystyle\sum_{s\in S}d\left ( s \right )\displaystyle\sum_{a}\pi_{\theta } \left ( a|s \right )q_{\pi }\left ( s,a \right )

目标是最大化这个评价指标,这个指标的计算包含策略函数的参数。

在这里补充上对策略梯度公式的推导

目标函数为:

J\left ( \theta \right )=\displaystyle\sum_{s\in S}d\left ( s \right )\displaystyle\sum_{a}\pi_{\theta } \left ( a|s \right )q_{\pi }\left ( s,a \right )=\mathbb{E}_{S\sim d,A\sim \pi }\left [ q_{\pi }\left ( S,A \right ) \right ]

目标函数对\theta求梯度(认为q与参数\theta无关):

\bigtriangledown _{\theta }J\left ( \theta \right )=\displaystyle\sum_{s\in S}d\left ( s \right )\displaystyle\sum_{a}\bigtriangledown _{\theta }\pi_{\theta } \left ( a|s \right )q_{\pi }\left ( s,a \right )

由于存在以下关系:

\bigtriangledown _{\theta }\ln \pi _{\theta }\left ( a|s \right )=\frac{1}{\pi _{\theta }\left ( a|s \right )}\bigtriangledown _{\theta }\pi _{\theta }\left ( a|s \right )

将这个关系带入梯度式子:

\bigtriangledown _{\theta }J\left ( \theta \right )=\displaystyle\sum_{s\in S}d\left ( s \right )\displaystyle\sum_{a} \pi _{\theta }\left ( a|s \right ) \bigtriangledown _{\theta }\ln \pi _{\theta }\left ( a|s \right )q_{\pi }\left ( s,a \right )

\bigtriangledown _{\theta }J\left ( \theta \right )=\mathbb{E}_{S\sim d,A\sim \pi }\left [ \bigtriangledown _{\theta }\ln \pi _{\theta }\left ( A|S \right )q_{\pi }\left ( S,A \right ) \right ]

写成期望的形式之后就可以用SGD的方法去迭地更新参数(如果不写成期望的形式就没有办法推及到GD,再到SGD),最大化J\left ( \theta \right )

\theta _{t+1}=\theta _{t}-\alpha _{\theta }\bigtriangledown _{\theta }\ln \pi _{\theta }\left ( a_{t}|s_{t} \right )q_{\pi }\left ( s_{t},a_{t} \right )

其中q_{\pi }\left ( s_{t},a_{t} \right )我们得不到,只能用MC或TD的方法近似。

二、NPG

稍微理解一下就行,没必要深究信息论的东西,只需要知道KL散度可以衡量新旧策略的差异就可以了。

2.1 欧氏空间与黎曼空间

考虑测量地球上两个点之间的距离:

(1)两点之间,线段最短(欧式几何)

(2)沿地球表面找一条路径(黎曼几何)

区别在于所处空间不同,度量的选择不同。

在欧式空间中所使用的“度量”(海森矩阵),不同于欧式空间中所使用的度量。

常规的梯度下降法中,参数的优化方向是目标函数的梯度方向,这要求目标函数的变化量与参的变化量要在同一个欧式空间进行度量,但是很多时候,虽然参数的变化量是在欧式空间中度量的,但是目标函数(包含概率分布)却不适合在欧式空间中度量,在信息几何中衡量两个分布之间的概率属性的距离采用KL散度?还是不懂,感觉很难懂

局部的流形具有欧式空间的性质(小范围变化近似的基础)

2.2 Hessian矩阵

Hessian矩阵被定义为一个多元函数的二阶导数矩阵:

f\left ( x_{1},x_{2},...,x_{n} \right )

2.3 Fisher信息矩阵

Fisher信息矩阵是用来衡量样本信息量

样本里信息量越多,估计的随机变量的分布就越准确

KL散度与Fisher信息矩阵是有一定关系的

2.4 熵

网上找公式

2.5 KL散度

2.6 自然梯度法

用自然策略梯度代替策略梯度

\bigtriangledown _{\theta }\widetilde{J\left ( \theta \right )}=F^{-1}\left ( \theta \right )\bigtriangledown _{\theta }J\left ( \theta \right )

\theta _{t+1}=\theta _{t}-\alpha _{\theta }\bigtriangledown _{\theta }\widetilde{J\left ( \theta \right )}

把KL散度的约束隐式地通过Fisher信息矩阵加入到了迭代中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2299115.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据守护者:备份文件的重要性及自动化备份实践

在信息化社会,数据已成为企业运营和个人生活的重要组成部分。无论是企业的核心业务数据,还是个人的珍贵照片、重要文档,数据的丢失或损坏都可能带来无法估量的损失。因此,备份文件的重要性愈发凸显,它不仅是数据安全的…

初阶c语言(练习题,猜随机数,关机程序)

目录 第一题,使用函数编写一个随机数,然后自己猜,猜随机数 第二道题(关机程序) 实现代码(关机程序) 实现代码(猜数字) 前言: 学习c语言,学习…

TypeScript 与后端开发Node.js

文章目录 一、搭建 TypeScript Node.js 项目 (一)初始化项目并安装相关依赖 1、创建项目目录并初始化2、安装必要的依赖包 (二)配置 TypeScript 编译选项(如模块解析方式适合后端) 二、编写服务器代码 &a…

基于SSM+uniapp的鲜花销售小程序+LW示例参考

1.项目介绍 系统角色:管理员、商户功能模块:用户管理、商户管理、鲜花分类管理、鲜花管理、订单管理、收藏管理、购物车、充值、下单等技术选型:SSM,Vue(后端管理web),uniapp等测试环境&#x…

数据开放共享和平台整合优化取得实质性突破的智慧物流开源了

智慧物流视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本可通过边缘计算技术…

2025互联网医院系统源码解析:AI陪诊问诊APP的未来发展

2025年,AI陪诊问诊APP将如何在技术上创新,如何推动互联网医院的进一步发展,成为了我们今天探讨的核心内容。在本文中,我们将通过源码解析,深入分析这一前沿技术的未来发展趋势,帮助广大从业者更好地理解这一…

【NLP 22、语言模型 language model】

有时候我也想听听,我在你心里,是什么样子 —— 25.1.12 一、什么是语言模型 语言是灵活的,也是有规律的 了解一门语言的人可以判断一句话是否“合理” 通俗来讲,语言模型用来评价一句话(句子可以看作是字的组合)是否“合理”或…

(萌新入门)如何从起步阶段开始学习STM32 —— 0.碎碎念

目录 前言与导论 碎碎念 所以,我到底需要知道哪些东西呢 从一些基础的概念入手 常见的工具和说法 ST公司 MDK5 (Keil5) CubeMX 如何使用MDK5的一些常用功能 MDK5的一些常见的设置 前言与导论 非常感谢2301_77816627-CSDN博客的提问,他非常好奇…

Eclipse:关闭多余的工具条

Eclipse默认的工具条非常多,可以通过如下方法选择关闭一些不常用的: 1.选择菜单Window -> Perspective -> Customize Perspective 2.根据需要勾选Toolbar Visbility下面的工具条项

【第3章:卷积神经网络(CNN)——3.6 CNN的高级特性与优化策略】

在2012年ImageNet竞赛的颁奖现场,当AlexNet以超出第二名10%的惊人准确率夺冠时,整个计算机视觉界都意识到:这个叫CNN的架构正在重写游戏规则。十年后的今天,当我们站在YOLOv8、Vision Transformer等新架构的肩膀上回望,会发现经典CNN的进化史就是一部浓缩的深度学习发展史…

【R语言】非参数检验

一、Mann-Whitney检验 在R语言中,Mann-Whitney U检验(也称为Wilcoxon秩和检验)用于比较两个独立样本的中位数是否存在显著差异。它是一种非参数检验,适用于数据不满足正态分布假设的情况。 1、独立样本 # 创建两个独立样本数据…

250214-java类集框架

单列集合是list和set,list的实现类有ArrayList和LinkedList,前者是数组实现,后者是链表实现。list和set,前者有序、可重复,后者无序不可重复。 1.单列集合 1.1. list java.util.List接口继承自Collection接口&#…

ROS2 话题通信

1. 基本概念 发布-订阅模型:节点间通过话题(Topic)异步通信,发布者(Publisher)发送消息,订阅者(Subscriber)接收消息。 话题(Topic):…

【学习资源】时间序列数据分析方法(1)

时间序列数据分析是一个有趣的话题,让我们多花一些时间来研究。此篇为第一篇文章。主要介绍特征提取方法、深度学习时序数据分析模型、参考资源。期望能帮助大家解决工业领域的相关问题。 1 特征提取方法:信号处理 (来源:INTELLIGENT FAULT DIAGNOSIS A…

Streamlit与Qlib:量化投资策略可视化实战

Streamlit与Qlib:量化投资策略可视化实战 1. 项目背景 在量化投资领域,数据可视化是理解和展示投资策略的关键。本文将详细介绍如何使用Streamlit和Qlib构建一个交互式的量化投资策略可视化应用。 2. 环境准备 2.1 安装依赖 # 安装必要的库 pip ins…

Ceph集群搭建2025(squid版)

squid版本维护年限 apt install -y cephadmecho >> "deb http://mirrors.163.com/ceph/debian-squid/ bookworm main" echo >> "deb-src http://mirrors.163.com/ceph/debian-squid/ bookworm main"#安装源 cephadm install #开始初始化一个最…

机器学习实战(3):线性回归——预测连续变量

第3集:线性回归——预测连续变量 在机器学习的世界中,线性回归是最基础、最直观的算法之一。它用于解决回归问题,即预测连续变量(如房价、销售额等)。尽管简单,但线性回归却是许多复杂模型的基石。今天我们…

【漫话机器学习系列】093.代价函数和损失函数(Cost and Loss Functions)

代价函数和损失函数(Cost and Loss Functions)详解 1. 引言 在机器学习和深度学习领域,代价函数(Cost Function)和损失函数(Loss Function)是核心概念,它们决定了模型的优化方向。…

LabVIEW 天然气水合物电声联合探测

天然气水合物被认为是潜在的清洁能源,其储量丰富,预计将在未来能源格局中扮演重要角色。由于其独特的物理化学特性,天然气水合物的探测面临诸多挑战,涉及温度、压力、电学信号、声学信号等多个参数。传统的人工操作方式不仅效率低…

【记忆化搜索】最长递增子序列

文章目录 300. 最长递增子序列解题思路:递归 -> 记忆化搜索 300. 最长递增子序列 300. 最长递增子序列 ​ 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 ​ 子序列 是由数组派生而来的序列,删除(或不删除&am…