【CS285】高斯策略对数概率公式的学习笔记
公式介绍
在【CS285】中提到了高斯策略对数概率公式的公式如下:
log π θ ( a t ∣ s t ) = − 1 2 ∥ f ( s t ) − a t ∥ Σ 2 + const \log \pi_{\theta}(\mathbf{a}_t | \mathbf{s}_t) = -\frac{1}{2} \left\| f(\mathbf{s}_t) - \mathbf{a}_t \right\|_{\Sigma}^2 + \text{const} logπθ(at∣st)=−21∥f(st)−at∥Σ2+const
符号说明
PDF:Probability Density Function,概率密度函数
推导说明(from DeepSeek-R1-web)
1. 多元高斯分布的概率密度函数
设策略 π θ ( a t ∣ s t ) \pi_{\theta}(\mathbf{a}_t | \mathbf{s}_t) πθ(at∣st)服从均值为 μ = f ( s t ) \mu= f(\mathbf{s}_t) μ=f(st)、协方差矩阵为 Σ \Sigma Σ的多元高斯分布,其PDF为:
π θ ( a t ∣ s t ) = 1 ( 2 π ) d ∣ Σ ∣ exp ( − 1 2 ( a t − f ( s t ) ) T Σ − 1 ( a t − f ( s t ) ) ) \pi_{\theta}(\mathbf{a}_t | \mathbf{s}_t) = \frac{1}{\sqrt{(2\pi)^{d} |\Sigma|}} \exp\left( -\frac{1}{2} (\mathbf{a}_t - f(\mathbf{s}_t))^T \Sigma^{-1} (\mathbf{a}_t - f(\mathbf{s}_t)) \right) πθ(at∣st)=(2π)d∣Σ∣1exp(−21(at−f(st))TΣ−1(at−f(st)))
其中 d d d是动作 a t \mathbf{a}_t at的维度。
2. 对PDF取对数
对上述公式取自然对数,得到对数概率:
log π θ ( a t ∣ s t ) = − 1 2 ( a t − f ( s t ) ) T Σ − 1 ( a t − f ( s t ) ) − d 2 log ( 2 π ) − 1 2 log ∣ Σ ∣ \log \pi_{\theta}(\mathbf{a}_t | \mathbf{s}_t) = -\frac{1}{2} (\mathbf{a}_t - f(\mathbf{s}_t))^T \Sigma^{-1} (\mathbf{a}_t - f(\mathbf{s}_t)) - \frac{d}{2} \log(2\pi) - \frac{1}{2} \log|\Sigma| logπθ(at∣st)=−21(at−f(st))TΣ−1(at−f(st))−2dlog(2π)−21log∣Σ∣
3. 简化与假设
在强化学习中,通常假设:
- 协方差矩阵 Σ \Sigma Σ 是固定的(例如,设为对角矩阵或常数矩阵),或者与参数 θ \theta θ 无关。
- 常数项对梯度更新无影响:在对策略梯度进行优化时,与 θ \theta θ 无关的项在求导后会消失,因此可以合并为常数。
基于上述假设,将对数概率中的常数项合并:
const = − d 2 log ( 2 π ) − 1 2 log ∣ Σ ∣ \text{const} = -\frac{d}{2} \log(2\pi) - \frac{1}{2} \log|\Sigma| const=−2dlog(2π)−21log∣Σ∣
4. 引入马氏距离符号
定义马氏距离(Mahalanobis distance)为:
∥ a t − f ( s t ) ∥ Σ 2 = ( a t − f ( s t ) ) T Σ − 1 ( a t − f ( s t ) ) \left\| \mathbf{a}_t - f(\mathbf{s}_t) \right\|_{\Sigma}^2 = (\mathbf{a}_t - f(\mathbf{s}_t))^T \Sigma^{-1} (\mathbf{a}_t - f(\mathbf{s}_t)) ∥at−f(st)∥Σ2=(at−f(st))TΣ−1(at−f(st))
代入对数概率公式,得到:
log π θ ( a t ∣ s t ) = − 1 2 ∥ f ( s t ) − a t ∥ Σ 2 + const \log \pi_{\theta}(\mathbf{a}_t | \mathbf{s}_t) = -\frac{1}{2} \left\| f(\mathbf{s}_t) - \mathbf{a}_t \right\|_{\Sigma}^2 + \text{const} logπθ(at∣st)=−21∥f(st)−at∥Σ2+const
最终公式
课程中给出的公式正是上述结果,其中:
- f ( s t ) f(\mathbf{s}_t) f(st) 是由参数 θ \theta θ 确定的均值函数(例如神经网络)。
- Σ \Sigma Σ 是固定的协方差矩阵,与 θ \theta θ 无关。
- const \text{const} const 包含所有与 θ \theta θ 无关的常数项。
补充说明
- 协方差矩阵的简化:如果 Σ \Sigma Σ 是对角矩阵或各向同性( Σ = σ 2 I \Sigma = \sigma^2 I Σ=σ2I),则计算马氏距离时只需对每个维度单独计算平方误差。
- 策略梯度的应用:在计算策略梯度 ∇ θ log π θ \nabla_\theta \log \pi_{\theta} ∇θlogπθ 时,常数项 const \text{const} const 的导数为零,因此可以安全忽略。
结论:通过假设协方差矩阵 Σ \Sigma Σ 固定且与参数 θ \theta θ 无关,课程中的公式从多元高斯分布的对数概率密度函数中合理推导得出。
相关文章:
【CS285】高斯策略对数概率公式的学习笔记
公式介绍 在【CS285】中提到了高斯策略对数概率公式的公式如下: log π θ ( a t ∣ s t ) − 1 2 ∥ f ( s t ) − a t ∥ Σ 2 const \log \pi_{\theta}(\mathbf{a}_t | \mathbf{s}_t) -\frac{1}{2} \left\| f(\mathbf{s}_t) - \mathbf{a}_t \right\|_{\S…...
R与RStudio简介及安装
目录 一、R与RStudio关系 二、R简介 2.1. 发展历史 2.2. R语言特点 三、安装指南 3.1 R安装指南 3.2 R studio安装指南 一、R与RStudio关系 R是统计领域广泛使用的工具,属于GNU系统的一个自由、免费、源代码开放的软件,是 用于统计计算和统计绘图…...
TTL和CMOS的区别【数电速通】
CMOS电平:电压范围在3~15V;常见电压在12V。 TTL电平:电压范围在0~5V,常见都是5V CMOS的特点:电平由电源VDD 决定,而不是外部电源电平。 COMS电路的使用注意事项 我们在使用CMOS…...
Linux红帽:RHCSA认证知识讲解(二)配置网络与登录本地远程Linux主机
Linux红帽:RHCSA认证知识讲解(二)配置网络与登录本地远程Linux主机 前言一、使用命令行(nmcli 命令)配置网络,配置主机名第一步第二步修改主机名称 二、使用图形化界面(nmtui 命令)配…...
Threejs教程一【三要素】
场景 场景是一个容器,用于容纳所有的物体、光源、相机等元素。 // 创建场景 const scene new THREE.Scene(); //修改背景颜色,颜色支持十六进制、rgb、hsl、贴图等 scene.background new THREE.Color(0x000000);相机 相机决定了渲染的结果ÿ…...
3-1 WPS JS宏工作簿的新建与保存(批量新建工作簿)学习笔记
************************************************************************************************************** 点击进入 -我要自学网-国内领先的专业视频教程学习网站 *******************************************************************************************…...
明日方舟一键端+单机+联网+安装教程+客户端apk
为了学习和研究软件内含的设计思想和原理,本人花心血和汗水带来了搭建教程!!! 教程不适于服架设,严禁服架设!!!请牢记!!! 教程仅限学习使用&…...
Redis基操
redis 存储在内存中 key-value存储 主要存储热点数据(短时间大量的访客去访问) 启动命令 redis-server.exe redis.windows.conf 客户端链接redis服务器 redis-cli.exe redis-cli.exe -h localhost -p 6379 redis-cli.exe -h localhost -p 6379 -a 123456 退出 exit 命令不区分…...
学习笔记03——《深入理解Java虚拟机(第三版)》类加载机制知识总结与面试核心要点
《深入理解Java虚拟机(第三版)》类加载机制知识总结与面试核心要点 一、章节核心脉络 核心命题:JVM如何将.class文件加载到内存并转换为运行时数据结构? 核心流程:加载 → 验证 → 准备 → 解析 → 初始化 → 使用 →…...
w227springboot旅游管理系统设计与实现
🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹赠送计算机毕业设计600个选题excel文…...
漏洞文字版表述一句话版本(漏洞危害以及修复建议),通常用于漏洞通报中简洁干练【持续更新中】
漏洞文字版表述一句话版本(漏洞危害以及修复建议) SQL注入漏洞 危害描述: SQL注入漏洞允许攻击者通过构造恶意的SQL语句,绕过应用程序的安全检查,直接访问或操作数据库。这可能导致数据泄露、数据篡改、甚至数据库被删除等严重后果…...
项目——仿RabbitMQ实现消息队列
1.项目介绍 曾经在学习Linux的过程中,我们学习过阻塞队列 (BlockingQueue) 。 当时我们说阻塞队列最大的用途, 就是用来实现生产者消费者模型。 生产者消费者模型是后端开发的常用编程方式, 它存在诸多好处: 解耦合支持并发支持忙闲不均削峰…...
嵌入式硬件篇---滤波器
文章目录 前言一、模拟电子技术中的滤波器1. 基本概念功能实现方式 2. 分类按频率响应低通滤波器高通滤波器带通滤波器带阻滤波器 按实现方式无源滤波器有源滤波器 3. 设计方法巴特沃斯滤波器(Butterworth)切比雪夫滤波器(Chebyshevÿ…...
JAVA最新版本详细安装教程(附安装包)
目录 文章自述 一、JAVA下载 二、JAVA安装 1.首先在D盘创建【java/jdk-23】文件夹 2.把下载的压缩包移动到【jdk-23】文件夹内,右键点击【解压到当前文件夹】 3.如图解压会有【jdk-23.0.1】文件 4.右键桌面此电脑,点击【属性】 5.下滑滚动条&…...
《筑牢元宇宙根基:AI与区块链的安全信任密码》
在科技浪潮汹涌澎湃的当下,元宇宙已不再是科幻作品中的遥远构想,而是逐渐步入现实,成为人们热议与探索的前沿领域。从沉浸式的虚拟社交,到创新的数字经济模式,元宇宙的发展前景广阔,潜力无限。但要让元宇宙…...
云原生周刊:云原生和 AI
开源项目推荐 FlashMLA DeepSeek 于北京时间 2025 年 2 月 24 日上午 9 点正式开源了 FlashMLA 项目。FlashMLA 是专为 NVIDIA Hopper 架构 GPU(如 H100、H800)优化的高效多头潜在注意力(MLA)解码内核,旨在提升大模型…...
rust笔记9-引用与原始指针
Rust 中的指针类型和引用类型是理解其内存管理机制的关键部分。& 引用和 * 原始指针在底层原理上确实都可以认为是指针,它们都存储了某个内存地址,并指向该地址处的数据。然而,它们在安全性、使用方式和编译器支持上有显著的区别。下面我会详细解释它们的异同点,帮助你…...
信而泰CCL仿真:解锁AI算力极限,智算中心网络性能跃升之道
引言 随着AI大模型训练和推理需求的爆发式增长,智算中心网络的高效性与稳定性成为决定AI产业发展的核心要素。信而泰凭借自主研发的CCL(集合通信库)评估工具与DarYu-X系列测试仪,为智算中心RoCE网络提供精准评估方案,…...
本地部署AI模型 --- DeepSeek(二)---更新中
目录 FAQ 1.Failed to load the model Exit code: 18446744072635812000 FAQ 1.Failed to load the model Exit code: 18446744072635812000 问题描述: 🥲 Failed to load the model Error loading model. (Exit code: 18446744072635812000). Unkn…...
c++类知识点复习与总结
类 c 是一种人机交互的面向对象的编程语言,面向对象思想主要体现在 类 上。 类是具有相同属性和相同行为的对象的集合, 具有封装,继承,多态的特性。 类的定义 class 类名 { }; 封装 例如:人就是一种类…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
elementUI点击浏览table所选行数据查看文档
项目场景: table按照要求特定的数据变成按钮可以点击 解决方案: <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...
