【RL】(task2)策略梯度算法

note

文章目录

  • note
  • 一、策略梯度算法
  • 二、策略梯度算法的优缺点
  • 时间安排
  • Reference

一、策略梯度算法

  • 策略梯度(Policy Gradient)算法是一类用于解决强化学习问题的算法,它通过直接对策略进行参数化,并利用梯度上升的方法来优化策略参数,从而最大化期望回报。
  • 策略梯度算法:智能体的行为策略决定了它在环境中的行动,而策略的参数化表示则决定了行为策略的具体形式。智能体的目标是找到一组最优的策略参数,使得在遵循该策略与环境交互时,能够获得最大的累积奖励。
  • 策略通常表示为一个参数化的概率分布,智能体根据这个分布来选择动作。例如,如果我们有一个离散的动作空间(如上下左右移动的动作),策略可以是动作的概率分布;如果动作空间是连续的,策略可以是动作的概率密度函数。
  • 策略梯度算法的关键公式是策略梯度定理,它表达了策略参数对策略性能的影响。策略梯度定理可以表示为:
    ∇ θ J ( θ ) = E τ ∼ p ( τ ; θ ) [ ∑ t = 0 T ∇ θ log ⁡ π θ ( a t ∣ s t ) A π ( s t , a t ) ] \nabla_\theta J(\theta)=\mathbb{E}_{\tau \sim p(\tau ; \theta)}\left[\sum_{t=0}^T \nabla_\theta \log \pi_\theta\left(a_t \mid s_t\right) A^\pi\left(s_t, a_t\right)\right] θJ(θ)=Eτp(τ;θ)[t=0Tθlogπθ(atst)Aπ(st,at)]

其中:

  • J ( θ ) J(\theta) J(θ) 是策略的期望回报, 也称为性能函数。
  • θ \theta θ 是策略的参数。
  • τ \tau τ 表示一个轨迹 (trajectory), 即一个完整的交互序列 s 0 , a 0 , r 1 , s 1 , a 1 , … , s T s_0, a_0, r_1, s_1, a_1, \ldots, s_T s0,a0,r1,s1,a1,,sT
  • p ( τ ; θ ) p(\tau ; \theta) p(τ;θ) 是在策略 π θ \pi_\theta πθ 下生成轨迹的概率。
  • π θ ( a t ∣ s t ) \pi_\theta\left(a_t \mid s_t\right) πθ(atst) 是在状态 s t s_t st 下采取动作 a t a_t at 的概率。
  • A π ( s t , a t ) A^\pi\left(s_t, a_t\right) Aπ(st,at) 是动作值函数 (Advantage Function),它衡量了在状态 s t s_t st 下采取动作 a t a_t at 相对于平均情况的优势。

在实际应用中,我们通常无法直接计算上述期望值,因为环境模型通常是未知的。因此,策略梯度算法通常需要通过采样来估计这个期望值。智能体通过与环境交互来收集经验,然后使用这些经验来估计梯度,并更新策略参数。

二、策略梯度算法的优缺点

策略梯度算法的优点是实现简单,适用于连续动作空间,并且可以处理随机环境。然而,它也存在一些缺点,比如样本效率可能较低,策略更新可能非常不稳定等。为了改进这些缺点,研究者们提出了许多策略梯度的变种算法,如自然策略梯度(Natural Policy Gradient)、信任域策略优化(Trust Region Policy Optimization, TRPO)和近端策略优化(Proximal Policy Optimization, PPO)等。

时间安排

任务天数截止时间注意事项
Task01: 马尔可夫过程、DQN算法3天1月15周一-17日周三
Task02: 策略梯度算法3天1月18日周四-20周六
Task03: A2C、A3C算法、JoyRL开源文档(关注多进程)3天1月21日周日-23日周二
Task04: DDPG、TD3算法3天1月24日周三-26日周五
Task05: PPO算法,JoyRL代码实践(选择任一算法任一环境,研究算法不同参数给实验结果带来的影响,也可以用JoyRL上没有跑过的环境尝试)6天1月27日周六-2月1号周四

Reference

[1] 开源内容https://linklearner.com/learn/detail/91
[2] https://github.com/datawhalechina/joyrl-book

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

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

相关文章

【数据库原理】(37)Web与数据库

随着网络的高速发展和网络服务的日趋完善,网络上的信息量呈几何级数增长。为了有效地组织、存储、管理和使用网上的信息,数据库技术被广泛地应用于网络领域。特别是在Internet上,已建立了数以万计的网站,其中大中型网站的后台大多…

Leetcode 3017. Count the Number of Houses at a Certain Distance II

Leetcode 3017. Count the Number of Houses at a Certain Distance II 1. 解题思路2. 代码实现 题目链接:3017. Count the Number of Houses at a Certain Distance II 1. 解题思路 这一题其实思路上还是比较简单的,显然任何一个图都可以拆分为以下三…

【数据库原理】(38)数据仓库

数据仓库(Data Warehouse, DW)是为了满足企业决策分析需求而设计的数据环境,它与传统数据库有明显的不同。 一.数据库仓库概述 定义: 数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持企业管理和…

机械设计-哈工大课程学习-螺旋传动

二、摩擦类型 1、静态摩擦:这是身体静止时所经历的摩擦。换句话说,就是身体有运动倾向时的摩擦力。 2、动态摩擦:这是身体在运动时所经历的摩擦。也称为动摩擦。动摩擦有以下两种类型: ①滑动摩擦:一个物体在另一个…

C# Socket通信从入门到精通(17)——单个异步UDP服务器监听一个客户端C#代码实现

前言: 我们在开发UDP通信程序时,除了开发UDP同步客户端程序,有时候我们也需要开发异步UDP服务器程序,所谓的异步最常见的应用就是服务器接收客户端数据以后,程序不会卡在数据接收这里,而是可以继续往下执行,这在实际项目中是经常会遇到的,所以说掌握异步UDP服务器程序…

学会这个工具,小白也可制作门窗电子画册

​随着互联网技术的发展,现在制作电子画册已经变得非常简单。如果你是一个新手,也可以通过学习一些技巧来制作门窗电子画册。 那么,如何制作门窗电子画册呢?其实,这个过程并不复杂。只需要一台电脑和一个基本的操作工具…

K8s(七)四层代理Service

Service概述 Service在Kubernetes中提供了一种抽象的方式来公开应用程序的网络访问,并提供了负载均衡和服务发现等功能,使得应用程序在集群内外都能够可靠地进行访问。 每个Service都会自动关联一个对应的Endpoint。当创建一个Service时,Ku…

Es bulk批量导入数据(1w+以上)

最近在学习es的理论知识以及实际操作,随时更新~ 概要:首先你得有1w条数据的json,然后用java读取json文件导入 一. 创建Json数据 首先我生成1.5w条数据,是为了实践分页查询,用from-size和scroll翻页去实践 生成四个字段…

检索增强(RAG)的方式---重排序re-ranking

提升RAG:选择最佳嵌入Embedding&重排序Reranker模型 检索增强生成(RAG)技术创新进展:自我检索、重排序、前瞻检索、系统2注意力、多模态RAG RAG的re-ranking指的是对初步检索出来的候选段落或者文章,通过重新排序的方式来提升检索质量。…

mac安装部署gitbook教程

mac安装部署gitbook教程 前言一、安装准备二、GitBook安装项目初始化 前言 一些自己实际操作的记录。 一、安装准备 Node.js gitbook基于Node.js,所以需要提前安装。 下载地址:https://nodejs.org/en/,可以下载比较新的版本。(但我的建议是不…

Linux指令补充和权限简单介绍

一.tar指令 形式:tar [-cxtzjvf] 文件与目录 ....
 参数:
 -c :建立一个压缩文件的参数指令(create 的意思); -x :解开一个压缩文件的参数指令! -t :查看 tarfile 里面的文件! -…

练习题 幸运数

题目 问题描述 小蓝认为如果一个数含有偶数个数位,并且前面一半的数位之和等于后面一半的数位之和,则这个数是他的幸运数字。例如 23142314 是一个幸运数字, 因为它有 44 个数位, 并且 23142314 。现在请你帮他计算从 11 至 100000000100000000 之间共…

【WinForm.NET开发】实现使用后台操作的窗体

本文内容 创建使用后台操作的窗体使用设计器创建 BackgroundWorker添加异步事件处理程序添加进度报告和取消支持Checkpoint 如果某项操作需要很长的时间才能完成,并且不希望用户界面 (UI) 停止响应或阻塞,则可以使用 BackgroundWorker 类在另一个线程上…

为什么C++17要引入std::string_view?

目录 1.引言 2.原理分析 2.1.结构 2.2.构造函数 2.3.成员函数 2.4.std::string_view字面量 3.实例 3.1.std::string_view和std::string的运算符操作 3.2.查找函数使用 3.3.std::string_view和临时字符串 4.总结 1.引言 在C/C日常编程中,我们常进行数据的…

JDK8新增的时间类

目录 内容大纲&#xff1a; 1、Zoneld时区 2、Instant时间戳 3、ZoneDateTime带时区的时间 4、DateTimeFormatter用于时间的格式化和解析 5、Calendar类&#xff1a; 6、工具类 内容大纲&#xff1a; 1、Zoneld时区 方法名说明static Set<String>getArailableZoneIds()获…

java集合(4)

1.HashSet集合 1.1HashSet集合概述和特点【应用】 底层数据结构是哈希表 存取无序 不可以存储重复元素 没有索引,不能使用普通for循环遍历 1.2HashSet集合的基本应用【应用】 存储字符串并遍历 public class HashSetDemo {public static void main(String[] args) {//创…

MCU常用外设总线

目录 前言一、时钟与中断二、GPIO三、ADC四、定时器4.1 基本定时器4.2 通用定时器4.2.1 输入捕获4.2.2 输出比较 五、UART六、IIC七、SPI 前言 本文主要讲单片机外设的功能&#xff0c;即这些外设是什么&#xff0c;可以用来干什么&#xff0c;了解了之后我们就可以通过相应的寄…

学校服务器hpc东南大学,下载国家基因组科技中心数据 gsa-human ascp chatpt建议 Linux系统中写代码

使用ascp批量下载数据 You files.csv 帮我写个批量下载的脚本&#xff0c;批量下载时候&#xff0c;把路径中最后的HRR659816批量替换成 Accession列的内容就行了。下面是示例 ascp -v -QT -l 300m -P33001 -k1 -i ~/.aspera/connect/etc/aspera01.openssh_for_gsa -d asper…

前端 解析压缩包,并且读取Shp生成GeoJson在MapBox上渲染

这里需要先安装shapefile&#xff1b;jszip;turf npm install shapefile npm install jszip npm install turf/turf <ElUploadref"upload"v-model:file-list"fileListShp":limit"1"accept".zip":show-file-list"true":au…

算法训练day18Leetcode找树左下角的值112路径总和106从中序和后续遍历构造二叉树

513 找树左下角的值 题目描述 给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底层 最左边 节点的值。假设二叉树中至少有一个节点。示例 1:输入: root [2,1,3] 输出: 1 示例 2:输入: [1,2,3,4,null,5,6,null,null,7] 输出: 7提示:二叉树的节点个数的范围是 […