Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PPO算法离散动作空间、连续动作空间

PPO算法离散动作空间、连续动作空间

原创
作者头像
喏喏心
发布于 2024-11-21 01:48:55
发布于 2024-11-21 01:48:55
1.2K0
举报
文章被收录于专栏:强化学习强化学习

好事发生

文章推荐:MFC/C++学习系列之简单记录8——消息映射

文章链接:MFC/C++学习系列之简单记录8——消息映射-腾讯云开发者社区-腾讯云

文章简介:本文介绍了MFC的消息映射类,包括DoDataExchange 函数、BEGIN_MESSAGE_MAP 和 END_MESSAGE_MAP 宏,并于WPF做对比,代码解释详细且包含代码实现后效果,适合初学者已经需要使用句柄的朋友!

前言

ppo算法通常用于离散动作的学习,但也可以实现连续动作学习。采用off-policy的更新策略,离散动作和连续动作的PPO算法网络结构分析,为使用PPO算法提供依据。

PPO介绍

PPO(Proximal Policy Optimization)强化学习算法通过限制策略更新的范围,实现了稳定且高效的策略优化,适合在复杂环境中执行连续动作的优化。

关于PPO网络actor层结构的解析

1、连续动作的actor层

代码语言:txt
AI代码解释
复制
self.actor = nn.Sequential(
nn.Linear(state_dim, 64),
nn.Tanh(),
nn.Linear(64, 32),
nn.Tanh(),
nn.Linear(32, action_dim),
nn.Tanh())

2、离散动作的actor层

代码语言:txt
AI代码解释
复制
self.action_layer = nn.Sequential(
nn.Linear(state_dim, n_latent_var),
nn.Tanh(),
nn.Linear(n_latent_var,
n_latent_var),
nn.Tanh(),
nn.Linear(n_latent_var, action_dim), nn.Softmax(dim=-1) )

为什么更改最后一层网络就能得到连续的结果?

在PPO算法中,网络结构的最后一层之所以能决定是连续动作还是离散动作,是因为最后一层的激活函数会直接影响输出的格式,以适应不同的动作空间需求。

1. 连续动作空间

对于连续动作空间(如 BipedalWalker 环境):

· 输出代表的是动作的均值,在连续动作空间中,动作不再是离散的类别,而是一个区间内的数值。网络输出后会用一个高斯分布来采样生成动作。

· 最后一层使用 Tanh 激活函数,将输出范围限制在 [-1 ,1 ]之间。通过这种方式,可以控制动作值在合理范围内。

· PPO中会使用该均值输出和一个固定的方差定义一个多元高斯分布,根据分布采样出具体动作。

2. 离散动作空间

对于离散动作空间(如 CartPole 环境):

· 输出代表每个动作的概率分布,离散动作空间中每个动作都是一个离散类别,因此需要得到每个动作的概率。

· 使用 Softmax 激活函数将输出转换成概率分布,每个输出的概率和为1。然后可以根据这些概率来采样动作。

总结

· 连续动作:使用 Tanh 限制输出范围,然后定义正态分布进行采样,得到连续值的动作。

· 离散动作:使用 Softmax 产生概率分布,然后根据该分布随机采样得到动作类别。

邀请人:升级打怪的菜鸟

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PPO算法理解
文章链接:MFC/C++学习系列之简单记录7——句柄和AFX开头的函数的使用-腾讯云开发者社区-腾讯云
喏喏心
2024/11/20
2352
PPO算法理解
【强化学习】近端策略优化算法(PPO)万字详解(附代码)
近端策略优化、PPO(Proximal Policy Optimization)是一种强化学习算法,设计的目的是在复杂任务中既保证性能提升,又让算法更稳定和高效。以下用通俗易懂的方式介绍其核心概念和流程。
不去幼儿园
2025/01/02
12.2K0
【强化学习】近端策略优化算法(PPO)万字详解(附代码)
【强化学习】深度确定性策略梯度算法(DDPG)详解(附代码)
深度确定性策略梯度(Deep Deterministic Policy Gradient、DDPG)算法是一种基于深度强化学习的算法,适用于解决连续动作空间的问题,比如机器人控制中的连续运动。它结合了确定性策略和深度神经网络,是一种模型无关的强化学习算法,属于Actor-Critic框架,并且同时利用了DQN和PG(Policy Gradient)的优点。
不去幼儿园
2025/01/02
3.9K0
【强化学习】深度确定性策略梯度算法(DDPG)详解(附代码)
【强化学习】双延迟深度确定性策略梯度算法(TD3)详解
双延迟深度确定性策略梯度算法,TD3(Twin Delayed Deep Deterministic Policy Gradient)是强化学习中专为解决连续动作空间问题设计的一种算法。TD3算法的提出是在深度确定性策略梯度(DDPG)算法的基础上改进而来,用于解决强化学习训练中存在的一些关键挑战。
不去幼儿园
2025/01/02
1.9K0
【强化学习】双延迟深度确定性策略梯度算法(TD3)详解
【强化学习】Soft Actor-Critic (SAC) 算法
Soft Actor-Critic(SAC) 是一种最先进的强化学习算法,属于 Actor-Critic 方法的变体。它特别适合处理 连续动作空间,并通过引入最大熵(Maximum Entropy)强化学习的思想,解决了许多传统算法中的稳定性和探索问题。
不去幼儿园
2025/01/08
2.1K0
【强化学习】Soft Actor-Critic (SAC) 算法
使用Actor-Critic的DDPG强化学习算法控制双关节机械臂
在本文中,我们将介绍在 Reacher 环境中训练智能代理控制双关节机械臂,这是一种使用 Unity ML-Agents 工具包开发的基于 Unity 的模拟程序。我们的目标是高精度的到达目标位置,所以这里我们可以使用专为连续状态和动作空间设计的最先进的Deep Deterministic Policy Gradient (DDPG) 算法。
deephub
2023/08/28
6210
使用Actor-Critic的DDPG强化学习算法控制双关节机械臂
强化学习算法总结(一)——从零到DQN变体
中对应价值最大的动作的Q值进行更新,注意这里只是更新,并不会真的执行这个价值最大的动作。这里的更新策略(评估策略)与我们的行为策略(
CristianoC
2021/04/16
2.8K0
强化学习算法总结(一)——从零到DQN变体
【强化学习】演员评论家Actor-Critic算法(万字长文、附代码)
Actor-Critic算法是一种强化学习中的方法,结合了“演员”(Actor)和“评论家”(Critic)两个部分。下面用一个生活中的比喻来说明它的原理:
不去幼儿园
2024/12/26
1.5K0
【强化学习】演员评论家Actor-Critic算法(万字长文、附代码)
【Hierarchical RL】隐空间分层强化学习(HRL-LS )算法
隐空间分层强化学习,Hierarchical Reinforcement Learning with Latent Space (HRL-LS) 是一种分层强化学习(Hierarchical Reinforcement Learning, HRL)算法,旨在通过在隐空间(Latent Space)中进行策略优化,来处理高维复杂任务中的长期依赖问题。该算法提出了一种新的框架,能够同时利用分层结构和潜在变量模型,来提高在复杂环境中的学习效率。
不去幼儿园
2024/12/03
1930
【Hierarchical RL】隐空间分层强化学习(HRL-LS )算法
Hands on Reinforcement Learning Frontier Chapter
虽然强化学习不需要有监督学习中的标签数据,但它十分依赖奖励函数的设置。有时在奖励函数上做一些微小的改动,训练出来的策略就会有天差地别。在很多现实场景中,奖励函数并未给定,或者奖励信号极其稀疏,此时随机设计奖励函数将无法保证强化学习训练出来的策略满足实际需要。例如,对于无人驾驶车辆智能体的规控,其观测是当前的环境感知恢复的 3D 局部环境,动作是车辆接下来数秒的具体路径规划,那么奖励是什么?如果只是规定正常行驶而不发生碰撞的奖励为+1,发生碰撞为-100,那么智能体学习的结果则很可能是找个地方停滞不前。具体能帮助无人驾驶小车规控的奖励函数往往需要专家的精心设计和调试。
一只野生彩色铅笔
2023/04/27
7770
Hands on Reinforcement Learning Frontier Chapter
【RL Latest Tech】离线强化学习:行为规范Actor Critic (BRAC) 算法
离线强化学习(Offline Reinforcement Learning)旨在从静态数据集中学习策略,而无须与环境进行交互。传统的强化学习方法依赖大量环境交互,这在某些情况下是不切实际或昂贵的。离线强化学习通过利用已有的数据,降低了这些需求。
不去幼儿园
2024/12/03
2320
【RL Latest Tech】离线强化学习:行为规范Actor Critic (BRAC) 算法
【SSL-RL】自监督强化学习:事后经验回放 (HER)算法
📢本篇文章是博主强化学习(RL)领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对相关等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅解。文章分类在👉强化学习专栏: 【强化学习】(41)---《【RL】强化学习入门:从基础到应用》
不去幼儿园
2024/12/03
4011
【SSL-RL】自监督强化学习:事后经验回放 (HER)算法
【SSL-RL】自监督强化学习:引导式潜在预测表征 (BLR)算法
引导式潜在预测表征,Bootstrap Latent-predictive Representations (BLR) 是一种创新的自监督学习方法,用于从高维观测中提取潜在的、能够进行预测的状态表示。这种方法特别适用于强化学习场景,在稀疏奖励和无奖励的环境下,BLR通过构建一种自我引导的表示学习机制,使得智能体能够从环境观测中提取有用的潜在表示。BLR主要通过自Bootstrap Latent-predictive Representations监督目标训练模型,以预测未来的潜在状态,从而使得智能体可以在没有外部奖励的情况下进行探索和学习。
不去幼儿园
2024/12/03
2170
【SSL-RL】自监督强化学习:引导式潜在预测表征 (BLR)算法
Hands on Reinforcement Learning 12 Proximal Policy Optimization
第 11 章介绍的 TRPO 算法在很多场景上的应用都很成功,但是我们也发现它的计算过程非常复杂,每一步更新的运算量非常大。于是,TRPO 算法的改进版——PPO 算法在 2017 年被提出,PPO 基于 TRPO 的思想,但是其算法实现更加简单。并且大量的实验结果表明,与 TRPO 相比,PPO 能学习得一样好(甚至更快),这使得 PPO 成为非常流行的强化学习算法。如果我们想要尝试在一个新的环境中使用强化学习算法,那么 PPO 就属于可以首先尝试的算法。
一只野生彩色铅笔
2023/04/12
6070
Hands on Reinforcement Learning 12 Proximal Policy Optimization
AI 创作日记 | 新零售订单预测改造,时序模型 + 强化学习让备货准确率实现新突破
准确的订单预测对于企业的库存管理、成本控制和客户满意度至关重要。传统的订单预测方法往往难以应对复杂的时序数据和动态变化的市场因素。
叶一一
2025/03/28
3230
AI 创作日记 | 新零售订单预测改造,时序模型 + 强化学习让备货准确率实现新突破
Hands on Reinforcement Learning Advanced Chapter
在第 5 章讲解的 Q-learning 算法中,我们以矩阵的方式建立了一张存储每个状态下所有动作值的表格。表格中的每一个动作价值Q(s,a)Q(s,a)Q(s,a)表示在状态sss下选择动作aaa然后继续遵循某一策略预期能够得到的期望回报。然而,这种用表格存储动作价值的做法只在环境的状态和动作都是离散的,并且空间都比较小的情况下适用,我们之前进行代码实战的几个环境都是如此(如悬崖漫步)。当状态或者动作数量非常大的时候,这种做法就不适用了。例如,当状态是一张 RGB 图像时,假设图像大小是210×160×3210\times 160\times 3210×160×3,此时一共有256(210×160×3)256^{(210\times 160\times 3)}256(210×160×3)种状态,在计算机中存储这个数量级的QQQ值表格是不现实的。更甚者,当状态或者动作连续的时候,就有无限个状态动作对,我们更加无法使用这种表格形式来记录各个状态动作对的QQQ值。
一只野生彩色铅笔
2023/04/24
7730
Hands on Reinforcement Learning Advanced Chapter
【SSL-RL】自监督强化学习:Plan2Explore算法
自监督强化学习(Self-Supervised Reinforcement Learning, SSRL)是一种结合了自监督学习(Self-Supervised Learning)和强化学习(Reinforcement Learning, RL)的新兴方法。强化学习通常依赖奖励信号,但这种方法在实际场景中常常面临奖励稀疏或任务探索难度高的问题。为了解决这一问题,自监督强化学习借助自监督学习来构建奖励信号或策略学习的指导信号。
不去幼儿园
2024/12/03
1340
【SSL-RL】自监督强化学习:Plan2Explore算法
DDPG强化学习的PyTorch代码实现和逐步讲解
来源:Deephub Imba本文约4300字,建议阅读10分钟本文将使用pytorch对其进行完整的实现和讲解。 深度确定性策略梯度(Deep Deterministic Policy Gradient, DDPG)是受Deep Q-Network启发的无模型、非策略深度强化算法,是基于使用策略梯度的Actor-Critic,本文将使用pytorch对其进行完整的实现和讲解。 DDPG的关键组成部分是 Replay Buffer Actor-Critic neural network Explorati
数据派THU
2023/04/05
9210
DDPG强化学习的PyTorch代码实现和逐步讲解
一文读懂强化学习:RL全面解析与Pytorch实战
强化学习(Reinforcement Learning, RL)是人工智能(AI)和机器学习(ML)领域的一个重要子领域,与监督学习和无监督学习并列。它模仿了生物体通过与环境交互来学习最优行为的过程。与传统的监督学习不同,强化学习没有事先标记好的数据集来训练模型。相反,它依靠智能体(Agent)通过不断尝试、失败、适应和优化来学习如何在给定环境中实现特定目标。
TechLead
2023/10/21
3K0
一文读懂强化学习:RL全面解析与Pytorch实战
深度强化学习算法是否需要使用批归一化(Batch Norm) 或归一化,文本带你详解。
归一化指的是深度学习的白化(whitening),这种操作可以让神经网络舒服地训练。本文讨论了 state action 这些输入值 以及 Q 值(reward)这些输出值 的归一化问题。见下方目录。
汀丶人工智能
2023/10/11
1.8K0
深度强化学习算法是否需要使用批归一化(Batch Norm) 或归一化,文本带你详解。
推荐阅读
相关推荐
PPO算法理解
更多 >
LV.0
这个人很懒,什么都没有留下~
作者相关精选
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档