VPG算法

news/2024/5/19 1:39:41 标签: 强化学习, Policy Gradient, Actor-Critic

VPG算法

前言

首先来看经典的策略梯度REINFORCE算法:

在这里插入图片描述

在REINFORCE中,每次采集一个episode的轨迹,计算每一步动作的回报 G t G_t Gt,与动作概率对数相乘,作为误差反向传播,有以下几个特点:

  • 每个时间步更新一次参数
  • 只有策略网络,没有价值网络
  • 计算 G G G时,仅仅采样了一条轨迹
  • 一般来说,计算 G G G时,从最后的时间步开始往前计算,这是为了节省计算量
  • G G G实际上类似于 Q Q Q函数,因为 Q Q Q函数就是动作价值回报的期望

VPG算法

全称:Vanilla Policy Gradient,但是属于Actor-Critic算法,因为它既有策略网络,又有价值网络

  • 每个episode更新一次参数
  • 上述伪代码中,计算 G G G时,采样了多个轨迹
  • 一般来说,计算 G G G时,从最后的时间步开始往前计算,这是为了节省计算量
  • Reward-to-go:即折扣因子 γ = 1 \gamma=1 γ=1 G t = R ^ t = r t + r t + 1 + … + r T G_t=\hat{R}_t=r_t+r_{t+1}+\ldots+r_T Gt=R^t=rt+rt+1++rT T T T为episode的长度
  • 通常为 A ^ t \hat{A}_t A^t引入baseline,以减小方差,提升训练稳定性

A ^ t = R ^ t − V ϕ k \hat{A}_t=\hat{R}_t-V_{\phi_k} A^t=R^tVϕk

比较

/REINFORCEVPG
价值网络
参数更新每个时间步每个episode
回报有折扣无折扣
采样轨迹一条多条
baseline

http://www.niftyadmin.cn/n/4997861.html

相关文章

友元(个人学习笔记黑马学习)

1、全局函数做友元 #include <iostream> using namespace std; #include <string>//建筑物类 class Building {//goodGay全局函数是 Building好朋友 可以访问Building中私有成员friend void goodGay(Building* building);public:Building() {m_SittingRoom "…

高教社杯数模竞赛特辑论文篇-2013年B题:碎纸片的拼接复原(附获奖论文及MATLAB代码实现)

目录 摘 要 一、问题重述 二、问题分析 三、模型假设 四、符号说明与名称解释

ISO/IEC标准之Mpeg-1到Mpeg21对应哪些ISO/IEC标准(三十八)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android…

语言基础篇9——Python流程控制

流程控制 顺序结构、条件结构、循环结构&#xff0c;顺序结构由自上而下的语句构成&#xff0c;条件结构由if、match-case构成&#xff0c;循环结构由for、while构成。 if语句 flag 1 if flag 1:print("A") elif flag 2:print("B") else:print("…

【rust/egui】(八)使用panels给你的应用划分功能区块

说在前面 rust新手&#xff0c;egui没啥找到啥教程&#xff0c;这里自己记录下学习过程环境&#xff1a;windows11 22H2rust版本&#xff1a;rustc 1.71.1egui版本&#xff1a;0.22.0eframe版本&#xff1a;0.22.0上一篇&#xff1a;这里 panel是啥 panel是ui上的一块区域&…

pytest自动化测试两种执行环境切换的解决方案

目录 一、痛点分析 方法一&#xff1a;Hook方法pytest_addoption注册命令行参数 1、Hook方法注解 2、使用方法 方法二&#xff1a;使用插件pytest-base-url进行命令行传参 一、痛点分析 在实际企业的项目中&#xff0c;自动化测试的代码往往需要在不同的环境中进行切换&am…

MIME类型(Multipurpose Internet Mail Extensions,多用途互联网邮件扩展类型)MultipartFile 多媒体文件上传

目录 MIME媒体类型介绍MediaTypes 有哪些MultipartFile 类介绍MultipartFile 类 接收的文件是二进制嘛代码举例 上传的文件 实现接口 MultipartFile 类有哪些最终调用接口的方法时&#xff0c;会有哪个类实现 如何决定哪个类去实现呢 Spring 会根据运行环境自动选择合适的实现类…

Socket交互的基本流程?

TCP socket通信过程图 什么是网络编程&#xff0c;网络编程就是编写程序使两台连联网的计算机相互交换数据。怎么交换数据呢&#xff1f;操作系统提供了“套接字”&#xff08;socket&#xff09;的组件我们基于这个组件进行网络通信开发。tcp套接字工作流程都以“打电话”来生…