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

news/2024/5/18 22:27:23 标签: 策略梯度算法, 强化学习

note

文章目录

一、策略梯度算法

  • 策略梯度(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.niftyadmin.cn/n/5336675.html

相关文章

蓝桥杯-最少刷题数

📑前言 本文主要是【算法】——最少刷题数的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一句&#x…

计算机网络(第六版)复习提纲5

SS2.2 有关信道的几个基本概念 2.通信模型 三个主要部分:信源、信道、信宿 3.通信方式: a)术语:消息(传递的内容)、数据(传递的形式)、信号(数据表现形式,有模拟信号和数字信号两种&…

regedit 查看注册信息

可能性一:sqlmmc注册失效 1. [开始]-->[运行] regedit 回车 2. 找到以下注册表子项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\80\Tools\ClientSetup 3. 右键单击 ClientSetup 注册表子项, [新建]-->[字串值]。…

Pytorch从零开始实战17

Pytorch从零开始实战——生成对抗网络入门 本系列来源于365天深度学习训练营 原作者K同学 文章目录 Pytorch从零开始实战——生成对抗网络入门环境准备模型定义开始训练总结 环境准备 本文基于Jupyter notebook,使用Python3.8,Pytorch1.8cpu&#xf…

活性白土数据研究:预计2029年将达到9.2亿美元

活性白土是用粘土(主要是膨润土)为原料,经无机酸化或盐或其他方法处理,再经水漂洗、干燥制成的吸附剂,外观为乳白色粉末,无臭,无味,无毒,吸附性能很强,能吸附有色物质、有机物质。广…

Baidu MapVGL点聚合 设置点权重

百度的聚合图层只能根据点数聚合,不能根据权重展示聚合结果。本次修改文件是:**mapvgl.min.js**搜索源码,找到类似的下方代码。_w为本次改动(定义和使用两处改动) function g(a, c) {let _w a.geometry.weight?a.ge…

国产AI新篇章:书生·浦语2.0带来200K超长上下文解决方案

总览:大模型技术的快速演进 自2023年7月6日“书生浦语”(InternLM)在世界人工智能大会上正式开源以来,其在社区和业界的影响力日益扩大。在过去半年中,大模型技术体系经历了快速的演进,特别是100K级别的长…

K8S--部署Nacos

原文网址:K8S--部署Nacos-CSDN博客 简介 本文介绍K8S部署Nacos的方法。Nacos版本是:2.2.3。 部署方案 本文为了简单,使用此部署方式:使用本地pvconfigmap,以embedded模式部署单机nacos。以nodePort方式暴露端口。 …