强化学习的数学原理(十-1)Actor-Critic初步

news2025/1/18 5:14:51

Actor-Critic的方法是PG方法的一种,它把PG方法与value function结合起来了。

一、基本介绍

Actor:代表 policy update。算法中采用Actor来产生动作。

Critic:代表 policy evaluation 或者 value estimation。算法中采用Critic来评价policy,或者做一些值的估计。

二、QAC

之前介绍的REINFORCE算法是PG+MC。而PG+TD(实际是值函数近似的Sarsa)就是QAC算法,同样也是On-policy的算法。

且其本身就具有探索能力(也是被逼无奈)。


对于每个step:

        通过\pi \left ( a|s_{t},\theta_{t} \right )选取动作a_{t},获取到r_{t+1},状态转移到s_{t+1}

        通过\pi \left ( a|s_{t+1},\theta_{t} \right )选取动作a_{t+1}

        Critic-更新q函数:

w_{t+1}=w_{t}+\alpha _{w}\left [ r_{t+1}+\gamma q\left ( s_{t+1},a_{t+1},w_{t} \right )-q\left ( s_{t},a_{t},w_{t} \right ) \right ]\triangledown q\left ( s_{t},a_{t},w_{t} \right )

        Actor-更新policy函数:

\theta _{t+1}=\theta _{t}+\alpha _{\theta }\triangledown _{\theta }\ln\pi \left ( a|s_{t},\theta _{t} \right )q\left ( s_{t}, a_{t},w_{t+1}\right )


三、A2C

A2C主要是在QAC的基础上引入偏置量,达到“在采样梯度的时候,随机变量的方差很小”的效果


梯度表达式的性质介绍:

\mathbb{E}\left [ \bigtriangledown_{\theta }\ln\pi \left ( A|S,\theta \right )q_{\pi }\left ( S,A \right )\right ]=\mathbb{E}\left [ \bigtriangledown_{\theta }\ln\pi \left ( A|S,\theta \right )\left ( q_{\pi }\left ( S,A \right )-b\left ( S \right ) \right )\right ]

在式子中引入b\left ( s \right )不影响梯度的平均值,但会影响梯度的估计方差。

性质证明

...

定义一个新的随机变量X,满足:

X\left ( S,A \right )=\bigtriangledown_{\theta }\ln\pi \left ( A|S,\theta \right )\left ( q_{\pi }\left ( S,A \right )-b\left ( S \right ) \right )

即:

\bigtriangledown _{\theta }J_{\theta }=\mathbb{E}\left [ X \right ]

证明X的方差受引入的偏置b\left ( S \right )影响

...book

对于梯度估计来说,X的方差当然越小越好

 证明最好的b\left ( S \right )形式是

...book

最优的b\left ( S \right )太复杂了,实际应用的时候会去掉表达式中的权重:

b\left ( s \right )=\mathbb{E}_{A\sim \pi }\left [ q\left ( s,A \right ) \right ]=v_{\pi }\left ( s \right )

最后发现这个b\left ( s \right )就是v_{\pi }\left ( s \right )


把上面介绍的“梯度表达式的性质”引入QAC算法,就得到了A2C算法。

A2C的梯度上升公式:

\theta _{t+1}=\theta _{t}+\alpha \mathbb{E}\left [ \bigtriangledown_{\theta }\ln\pi \left ( A|S,\theta \right )\left ( q_{\pi }\left ( S,A \right )-v_{\pi }\left ( S \right ) \right )\right ]

\theta _{t+1}=\theta _{t}+\alpha \mathbb{E}\left [ \bigtriangledown_{\theta }\ln\pi \left ( A|S,\theta \right ) \delta _{\pi }\left ( S,A \right ) \right ]

其中:

\delta _{\pi }\left ( S,A \right )=q_{\pi }\left ( S,A \right )-v_{\pi }\left ( S \right )

称为优势函数(advantage function):描述的是q_{\pi }v_{\pi }之间的差值,v_{\pi }在意义上是q_{\pi }的期望,也就是说,如果一个a的q大于均值,说明他是好的,有一定优势的。(有点抽象)

在应用之前,还可以把\delta拆开,这里还是近似替换:

\delta_{t}=q_{t}\left ( s_{t},a_{t} \right )-v_{t}\left ( s_{t} \right )\rightarrow \delta_{t}=r_{r+1}+\gamma v_{t}\left ( s_{t+1} \right )-v_{t}\left ( s_{t} \right )

之所以可以近似替换是由于:

...

替换之后就不需要给两个网络分别估计q_{t}v_{t},只需要一个网络估计v_{t}

A2C算法的完整流程,仍然是On-policy的算法


对于每个step:

        计算优势函数

\delta_{t}=r_{r+1}+\gamma v_{t}\left ( s_{t+1} \right )-v_{t}\left ( s_{t} \right )

        critic-更新v函数参数

w_{t+1}=w_{t}+\alpha _{w}\delta_{t}\triangledown v\left ( s_{t},w_{t} \right )

        actor-更新policy函数参数

\theta _{t+1}=\theta _{t}+\alpha _{\theta }\triangledown _{\theta }\delta _{t}\ln\pi \left ( a|s_{t},\theta _{t} \right )


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

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

相关文章

工具推荐:PDFgear——免费且强大的PDF编辑工具 v2.1.12

PDFgear——免费且强大的PDF编辑工具 v2.1.12 软件简介 PDFgear 是一款 完全免费的 PDF 软件,支持 阅读、编辑、转换、合并 以及 跨设备签署 PDF 文件,无需注册即可使用。它提供了丰富的 PDF 处理功能,极大提升了 PDF 文件管理的便捷性和效…

IIO(Industrial I/O)驱动介绍

文章目录 IIO(Industrial I/O)驱动是Linux内核中用于工业I/O设备的子系统,主要用于处理传感器数据采集和转换。以下是其关键点: 功能 数据采集:从传感器读取数据。数据处理:对原始数据进行滤波、校准等操作…

Realsense相机驱动安装及其ROS通讯配置——机器人抓取系统基础系列(四)

文章目录 概要1 Realsense相机驱动安装Method1: 使用Intel服务器预编译包Method2: 使用ROS服务器预编译包Method3: 使用SDK源代码方法对比总结 2 Realsense-ROS通讯配置与使用2.1 Realsense-ROS包安装2.2 ROS节点启动 小结Reference 概要 本文首先阐述了Realsense相机驱动安装…

vscode配置opencv4.8环境

1 安装cmake 下载链接如下https://github.com/Kitware/CMake/releases/download/v3.27.7/cmake-3.27.7-windows-x86_64.zip 解压后放到指定目录后,添加bin目录到环境变量即可。 2 mingw安装 下载链接如下(下图的x86_64-posix-sjlj): Download x86_6…

软件测试 —— Selenium(等待)

软件测试 —— Selenium(等待) 一个例子强制等待使用示例:为什么不推荐使用强制等待?更好的选择 隐式等待 implicitly_wait()隐式等待和强制等待的区别隐式等待(Implicit Wait)强制等…

自动化之Ansible

一、Ansible介绍 Ansible是一个同时管理多个远程主机的软件(任何可以通过SSH协议登录的机器),因此Ansible可以管理 运程虚拟机、物理机,也可以是本地主机(linux、windows)。 Ansible通过SSH协议实现 管理节点、远程节点的通信。 只要是能够SSH登录的主机…

算法(蓝桥杯)贪心算法4——拦截导弹的系统数量求解

题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。 假设某天雷达捕捉到敌国的导弹来袭。由于该系统还在试用…

一些常见的Java面试题及其答案

Java基础 1. Java中的基本数据类型有哪些? 答案:Java中的基本数据类型包括整数类型(byte、short、int、long)、浮点类型(float、double)、字符类型(char)和布尔类型(boo…

初学stm32 --- CAN

目录 CAN介绍 CAN总线拓扑图 CAN总线特点 CAN应用场景 CAN物理层 CAN收发器芯片介绍 CAN协议层 数据帧介绍 CAN位时序介绍 数据同步过程 硬件同步 再同步 CAN总线仲裁 STM32 CAN控制器介绍 CAN控制器模式 CAN控制器模式 CAN控制器框图 发送处理 接收处理 接收过…

Golang笔记——协程同步

大家好,这里是Good Note,关注 公主号:Goodnote,专栏文章私信限时Free。本文详细介绍Golang的协程同步的实现和应用场景。 文章目录 协程同步是什么?为什么需要协程同步?常见的协程同步机制互斥锁&#xff0…

Visual Studio Community 2022(VS2022)安装方法

废话不多说直接上图: 直接上步骤: 1,首先可以下载安装一个Visual Studio安装器,叫做Visual Studio installer。这个安装文件很小,很快就安装完成了。 2,打开Visual Studio installer 小软件 3&#xff0c…

目标检测新视野 | YOLO、SSD与Faster R-CNN三大目标检测模型深度对比分析

目录 引言 YOLO系列 网络结构 多尺度检测 损失函数 关键特性 SSD 锚框设计 损失函数 关键特性 Faster R-CNN 区域建议网络(RPN) 两阶段检测器 损失函数 差异分析 共同特点 基于深度学习 目标框预测 损失函数优化 支持多类别检测 应…

mac intel芯片下载安卓模拟器

一、调研 目前主流两个模拟器: 雷神模拟器 不支持macosmumu模拟器pro版 不支持macos intel芯片 搜索到mumu的Q&A中有 “Intel芯片Mac如何安装MuMu?” q&a🔗:https://mumu.163.com/mac/faq/install-on-intel-mac.html 提…

发送dubbo接口

史上最强,Jmeter接口测试-dubbo接口实战(超级详细)_jmeter调用dubbo接口-CSDN博客 干货分享:Dubbo接口及测试总结~ 谁说dubbo接口只能Java调用,我用Python也能轻松搞定 telnet xxx.xxx.xxx.xxx 端口号 再回车显示dub…

Leetcode 91. 解码方法 动态规划

原题链接&#xff1a;Leetcode 91. 解码方法 自己写的代码&#xff1a; class Solution { public:int numDecodings(string s) {int ns.size();vector<int> dp(n,1);if(s[n-1]0) dp[n-1]0;for(int in-2;i>0;i--){if(s[i]!0){string ts.substr(i,2);int tmpatoi(t.c…

SpringBoot源码解析(七):应用上下文结构体系

SpringBoot源码系列文章 SpringBoot源码解析(一)&#xff1a;SpringApplication构造方法 SpringBoot源码解析(二)&#xff1a;引导上下文DefaultBootstrapContext SpringBoot源码解析(三)&#xff1a;启动开始阶段 SpringBoot源码解析(四)&#xff1a;解析应用参数args Sp…

SCSSA-BiLSTM基于改进麻雀搜索算法优化双向长短期记忆网络多特征分类预测Matlab实现

SCSSA-BiLSTM基于改进麻雀搜索算法优化双向长短期记忆网络多特征分类预测Matlab实现 目录 SCSSA-BiLSTM基于改进麻雀搜索算法优化双向长短期记忆网络多特征分类预测Matlab实现分类效果基本描述程序设计参考资料 分类效果 基本描述 SCSSA-BiLSTM基于改进麻雀搜索算法优化双向长…

XML在线格式化 - 加菲工具

XML在线格式化 打开网站 加菲工具 选择“XML 在线格式化” 输入XML&#xff0c;点击左上角的“格式化”按钮 得到格式化后的结果

树莓派5--系统问题汇总

前言&#xff1a; 该文章是我在使用树莓派5时所遇到的问题以及解决方案&#xff0c;希望对遇到相同问题的能够有所帮助。我的树莓派系统版本为&#xff1a;Pi-OS-ROS_2024_09_29 注意&#xff1a;如果没有什么需求千万不要更新树莓派中任何软件或者系统&#xff0c;除非你真的…

C#学习笔记 --- 基础补充

1.operator 运算符重载&#xff1a;使自定义类可以当做操作数一样进行使用。规则自己定。 2.partial 分部类&#xff1a; 同名方法写在不同位置&#xff0c;可以当成一个类使用。 3.索引器&#xff1a;使自定义类可以像数组一样通过索引值 访问到对应的数据。 4.params 数…