【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…...
C++双指针:算法优化的“左右互搏术”与高效问题破解全指南
C双指针:算法优化的“左右互搏术”与高效问题破解全指南 开篇故事:迷宫中的“双人探路策略” 想象两名探险者在迷宫中寻找出口: 快慢指针:一人快速探索死路,另一人稳步记录正确路径。左右指针:两人从两端…...
高级SQL技术在Python项目中的应用:ORM与深度性能优化
引言 在现代Python项目开发中,数据库交互远不止是数据的简单存取,它已成为构建高性能、可维护应用的核心瓶颈和关键能力所在。 仅仅依赖基础SQL查询,虽然入门简单,却难以应对日益增长的应用挑战。这些挑战主要体现在以下几个方面: 性能瓶颈: 数据量剧增: 从百万到数十亿乃…...
Pytorch实现论文:基于多尺度融合生成对抗网络的水下图像增强
简介 简介:提出了一种新型的水下图像增强算法,基于多尺度融合生成对抗网络,名为UMSGAN,以解决低对比度和颜色失真的问题。首先经过亮度的处理,将处理后的图像输入设计的MFFEM模块和RM模块生成图像。该算法旨在适应各种水下场景,提供颜色校正和细节增强。 论文题目:Und…...
从单片机的启动说起一个单片机到点灯发生了什么下——使用GPIO点一个灯
目录 前言 HAL库对GPIO的抽象 核心分析:HAL_GPIO_Init 前言 我们终于到达了熟悉的地方,对GPIO的初始化。经过漫长的铺垫,我们终于历经千辛万苦,来到了这里。关于GPIO的八种模式等更加详细的细节,由于只是点个灯&am…...
基于大语言模型的推荐系统(1)
推荐系统(recommendation system)非常重要。事实上,搜索引擎,电子商务,视频,音乐平台,社交网络等等,几乎所有互联网应用的核心就是向用户推荐内容,商品,电影&…...
Docker基础实践与应用举例
Docker 是一个轻量级容器化平台,通过将应用及其依赖打包到容器中,实现快速部署和环境一致性。以下是 Docker 的实践与应用场景举例,结合具体操作步骤: 一、基础实践 1. 快速启动一个容器 # 运行一个Nginx容器,映射宿…...
计算机毕业设计SpringBoot+Vue.js新闻推荐系统(源码+文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
Android 布局系列(一):LinearLayout 使用指南
引言 在 Android 开发中,布局是每个应用的基础,而 LinearLayout 无疑是最常见、最简单的布局之一。它允许我们将多个视图按顺序排列,可以选择水平方向(horizontal)或垂直方向(vertical)。 Line…...
蓝桥杯备赛-精卫填海-DP
精卫终于快把东海填平了!只剩下了最后的一小片区域了。同时,西山上的木石也已经不多了。精卫能把东海填平吗? 事实上,东海未填平的区域还需要至少体积为 v 的木石才可以填平,而西山上的木石还剩下 n 块,每块…...
git中,如何查看具体单个文件的log
在 Git 中,可以使用多种方式查看单个文件的提交日志(Log),以下详细介绍不同场景下的查看方法: 目录 一、基本命令查看文件的完整提交日志 二、查看文件提交日志并显示差异内容 三、限制显示的提交日志数量 四、按…...
Winform工具箱、属性、事件
工具箱 Button------按钮:用户可以点击的按钮控件。 CheckBox------复选框:允许用户选择或取消选择选项的复选框。 CheckedListBox:结合了ListBox和CheckBox的功能,允许多项选择。 ColorDialog------颜色选择对话框:用…...
科普:HTTP端口80和HTTPS端口443
你会发现,有的网址不带端口号,怎么回事? HTTP协议默认端口:HTTP协议的默认端口是80。当用户在浏览器中输入一个没有指定端口的以http://开头的网址时,浏览器会自动使用80端口与服务器建立连接,进行超文本数…...
数据分析和数据挖掘的工作内容
基本的数据分析工作通常包含以下几个方面的内容: 确定目标(输入):理解业务,确定指标口径。获取数据:数据仓库(SQL提数)、电子表格、三方接口、网络爬虫、开放数据集等。清洗数据&am…...
Android级联选择器,下拉菜单
近期android开发,遇到的需求,分享二个android可能用到的小组件 下拉选择器:它的实现,主要是需要监听它依附的组件当前距离屏幕顶端的位置。 在显示下拉菜单中,如果需要点击上面有响应。可通过activity拿到decorview(ac…...
【每日八股】MySQL篇(一):概述
关系的三个范式是什么? 第一范式(1NF):用来确保每列的原子性,要求每列都是不可再分的最小数据单元。 概括:表中的每一列都是不可分割的最小原子值,且每一行都是唯一的。 第二范式(…...
大白话Vue2和Vue3双向数据绑定的原理
大白话Vue2和Vue3双向数据绑定的原理 下面用大白话来给你详细介绍一下Vue2和Vue3双向数据绑定的原理: Vue2双向数据绑定原理 Vue2的双向数据绑定主要是通过Object.defineProperty()这个方法来实现的,就好像有一个小管家在帮你看着数据和页面。 数据劫…...
Remainder Problem CF1207F
题目:题目链接 题目大意 题目描述 给你一个长度为 500000 的序列,初值为 0 ,你要完成 q 次操作,操作有如下两种: 1 x y : 将下标为 x 的位置的值加上 y2 x y : 询问所有下标模 x 的结果为 y 的位置的值之和 输入格…...
SpringBoot之自定义简单的注解和AOP
1.引入依赖 <!-- AOP依赖--> <dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.8</version> </dependency>2.自定义一个注解 package com.example.springbootdemo3.an…...
2.2 添加注释
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 注释是为了方便理解代码含义而添加的简短的解释性说明。在编译时,编辑器不会将注释加入最终生成的文件中,不…...
自由学习记录(38)
python语法 def def print_receipt (store_name, items, total_price, cashier"Self-Checkout", payment_method"Credit Card"): Python 的 函数定义 语法 def print_receipt(...) → 定义了一个名为 print_receipt 的函数。store_name, items, total_…...
【SQL实验】触发器
下载素材文件”tsgl”、“成绩管理”,将tsgl.bak和成绩管理.bak数据库还原到库中【导入操作在之前的文章中详细讲过】 触发器 1、为图书表设置更新触发器,根据总编号来更新书名、作者、出版社、分类号和单价(根据总编号找到相应记录,然后更新书名、作者…...
C语言:二维数组在内存中是怎么存储的
目录 1. 二维数组的定义: 2. 行主序存储: 具体内存排列: 3. 如何通过指针访问数据: 4. 总结: 在 C 语言中,二维数组是按 行主序(row-major order) 存储的。也就是说,…...
CPU多级缓存机制
目录 一、前置知识 ---- CPU的核心 1.1. 单核与多核CPU 二、CPU多级缓存机制 三. 缓存的基本结构/缓存的存储结构 四、CPU缓存的运作流程/工作原理 五、CPU多级缓存机制的工作原理【简化版】 5.1. 缓存访问的过程 (5.1.1) L1缓存(一级缓存)访问 …...
Ansible剧本-playbook
Ansible剧本-playbook 1 playbook基础1.1 简介1.2 playbook的组成结构Task 任务列表任务报错,如何继续执行响应事件Handler 1.3 常用选项执行playbookplaybook查询帮助信息校验playbook语法测试playbook能否正常运行 2 变量 的定义方式2.1 定义规则2.2 vars 变量2.3…...
神经网络八股(3)
1.什么是梯度消失和梯度爆炸 梯度消失是指梯度在反向传播的过程中逐渐变小,最终趋近于零,这会导致靠前层的神经网络层权重参数更新缓慢,甚至不更新,学习不到有用的特征。 梯度爆炸是指梯度在方向传播过程中逐渐变大,…...
SmartMediakit之音视频直播技术的极致体验与广泛应用
引言 在数字化时代,音视频直播技术已经深入到各个行业和领域,成为信息传递和交流的重要手段。视沃科技自2015年成立以来,一直致力于为传统行业提供极致体验的音视频直播技术解决方案,其旗下的大牛直播SDK凭借强大的功能和卓越的性…...
【R包】tidyplots----取代ggplot2的科研绘图利器
文章目录 介绍安装Usage文档参考 介绍 tidyplots----取代ggplot2的科研绘图利器。tidyplots的目标是简化为科学论文准备出版的情节的创建。它允许使用一致和直观的语法逐渐添加,删除和调整情节组件。 安装 You can install the released version of tidyplots fro…...
DeepSeek 15天指导手册——从入门到精通 PDF(附下载)
DeepSeek使用教程系列--DeepSeek 15天指导手册——从入门到精通pdf下载: https://pan.baidu.com/s/1PrIo0Xo0h5s6Plcc_smS8w?pwd1234 提取码: 1234 或 https://pan.quark.cn/s/2e8de75027d3 《DeepSeek 15天指导手册——从入门到精通》以系统化学习路径为核心&…...
C++知识点总结与复习
c中常见的关键字(面试题中经常出现) const 总结常见用法: const int a; //定义了常量整形的变量 a; 常量表示不可修改,定义的时候必须初始化。除此之外,和 int a;使用一样。 const int * p;//定义了指向常量整形变量的指针。…...
