MARL
文章平均质量分 68
MARL理论与实战
z樾
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
TorchRL-编写DDPG损失函数
它属于AC算法,网络结构如下;对于这种连续动作空间,单纯使用value网络难以应对,此时如果加上actor,让其先行输出一个确定性动作,之后再根据动作和状态进行value评估;根据TorchRL的封装,DDPGLoss不仅包括损失函数,实际上整个DDPG算法都被包含在内;什么是DDPG,深度确定性策略,深度指的是NN,确定性指的是策略;value的不断拟合,将会使得policy也朝着目标前进;将算法封装进了loss模块,提升了可替代性;在不断的交替更新过程中,两个网络都将收敛。本小节将基于DDPG来编写;原创 2025-11-27 10:44:18 · 173 阅读 · 0 评论 -
RL相关知识补缺
即使是 model-based 也是不断交互获得实现最大化长期累积奖励的策略,只不过交互过程中转移是去额定的,而 model-free 是依靠经验去学习的。Model-Based RL 先还原“环境逻辑”,再在这个逻辑中寻找最优行为;而 Model-Free RL 则靠大量试错直接学习出最优策略。是两种基本的策略类型,主要区分于是否显式使用环境的“模型”(model)来辅助学习。在强化学习(Reinforcement Learning, RL)中,的问题,当前主流的方法确实倾向于采用。原创 2025-07-26 12:58:46 · 470 阅读 · 0 评论 -
Python vs MATLAB:智能体开发实战对比
本文探讨了在MATLAB中实现强化学习的方法与挑战。文章指出,虽然Python更常用,但MATLAB也可实现强化学习功能。主要内容包括:(1)Simulink环境搭建的局限性;(2)MATLAB中预定义的单摆环境使用流程;(3)程序编写流程:创建环境、智能体、训练参数及智能体交互;(4)利用rlSimulinkEnv函数创建环境的参数需求;(5)MATLAB中自定义代理的可行性,包括自带Agent、自定义Agent、循环过程及策略构建方法;(6)自定义环境的实现模板,包含属性、step()和reset()三原创 2025-08-10 17:06:52 · 391 阅读 · 0 评论 -
RL知识回顾
衡量交互过程中数据的分布,如果两个策略交互展示出来的数据分布一致可以认为策略相同;从数据角度来看,就是最优化数据分布;总结监督学习认为数据独立同分布,RL认为数据分布本身都是就存在2种随机性质。因此,学习过程RL将面临更加混沌的环境,学习难度也因此增加。原创 2025-09-20 21:28:35 · 316 阅读 · 0 评论 -
强化学习-MATLAB
black box -> machine learning不需要标签,根据内在特征进行聚类等相似操作;这就是ML所擅长的,从数据中找出特征进而得到label;序列行为实现最优的回报;可以将policy使用深度神经网络这也是DRL的由来;RL算法的作用就是基于观测,奖励等去优化策略,以采取最优动作进而获得最大回报;所以,RL就是一个优化问题:与其他优化问题区分开来:关键点:评估状态价值,将能够使得智能体获得更高回报,而不是只是关注即时奖励;如果不能够评估状态价值,很有可能导致Agent陷入利用(贪婪)的状态,原创 2025-08-09 17:19:50 · 661 阅读 · 0 评论 -
AI实验管理神器:WandB全功能解析
本文介绍了基于WandB的实验跟踪与自动化调参工具的核心功能。主要包括:1)支持多账号登录和版本关联;2)交互式表格支持图像、音频等多媒体数据展示;3)自动化模型调参和并行训练能力;4)实验跟踪通过wandb.log记录指标,实现跨设备分布式训练;5)可视化Case分析功能简化大规模数据展示;6)Sweep功能实现超参数自动优化,支持多机分布式调参。系统通过sweep_id实现任务绑定,可在不同设备上继续运行,并提供完善的版本管理和指标追踪功能。原创 2025-08-22 22:36:50 · 372 阅读 · 0 评论 -
RL Course by David Silver
本文摘要介绍了强化学习的基础概念与应用。第一部分区分了基于已知/未知环境模型的强化学习与规划方法,指出模型未知时需要交互学习,已知时可直接计算优化策略。第二部分阐释了马尔可夫决策过程(MDP)作为强化学习环境建模的核心地位,并以资源调度为例展示了如何构建时序环境数据用于训练。第三部分简要提及动态规划在策略评估中的应用。全文通过理论框架与代码示例相结合的方式,呈现了强化学习从基础概念到实践应用的关键知识点。原创 2025-09-22 16:57:43 · 336 阅读 · 0 评论 -
RL实战指南:从需求到优化的全流程解析
本文探讨了强化学习(RL)应用的系统化流程和关键考量。首先需评估RL适用性,明确数据源和场景边界。在技术设计上,要重点关注动作空间的合法性和完备性、状态空间的任务相关性(区分POMDP/MDP)、以及回报函数的稀疏奖励设计。算法选择涉及策略网络优化方法,训练阶段需调参并持续优化性能。建议从热门平台快速上手,通过训练曲线分析超参数合理性,逐步增加任务目标。可借助MuJoCo等仿真环境,并对比不同算法效果。整个流程强调耐心迭代,必要时采用并行化加速训练。原创 2025-08-24 10:10:31 · 694 阅读 · 0 评论 -
强化学习在CA+SFF竞争模型的应用
本文提出基于GridWorld环境构建CA+SFF前导码竞争模型,采用强化学习框架进行优化。系统状态表示为当前周期内满足优先级需求的设备集合(布尔向量/位掩码),动作空间为选择特定优先级设备进行前导码竞争。奖励机制通过14步CA+SFF模型仿真计算得出,评估竞争策略的有效性。该模型将复杂的前导码竞争问题转化为可学习的马尔可夫决策过程,为资源分配优化提供新思路。原创 2025-08-13 20:27:24 · 322 阅读 · 0 评论 -
Energy-Efficient Satellite joint Computation and Communication
本文研究了卫星通信中考虑功率放大器的无线资源联合优化问题,提出了SHIELD和Sat2C两种算法。SHIELD算法结合Dijkstra和贪婪算法,利用次模函数约束路由选择;Sat2C算法则在路由基础上优化资源分配和任务卸载。研究重点考虑了功放子系统和数据尺寸对系统性能的影响,并指出现有CPU处理能力限制了卫星任务处理效率。未来研究方向包括部分卸载优化、网络建模改进和多目标优化,建议采用GNN建模网络拓扑,并重点解决大数据环境下卫星处理能力受限的问题。原创 2025-10-08 22:37:41 · 347 阅读 · 0 评论 -
BenchMARL-前置TorchRL2
TensorDict Module模块类似TensorDict,不过表示策略和值函数的模块也执行相同操作。核心很简单:将标准Module封装在一个类中;rollout执行上面是先创建module,然后传入policy,但是需要提供一些参数,in/out_keys但是包装器可以实现再次封装就是NN作为一个module用来构建policy,常见的是CNN和MLP;原来是从观测空间到动作空间的确定性映射现在是观测空间到参数空间的映射参数空间:假如是正态分布,那就对应均值和方差;输出两个参数然后据此形成分布;然原创 2025-11-18 19:54:42 · 1207 阅读 · 0 评论 -
BenchMARL-前置TorchRL11
依靠TensorDictModule的封装,网络能够指导自己要读取tensordict中的什么数据;已经要写入到tensordict这个字典中什么数据;done和trucated以及terminated的区别。原创 2025-11-23 20:08:35 · 186 阅读 · 0 评论 -
BenchMARL-前置TorchRL6
从代码来看,无论是环境,策略,收集器和buffer,损失函数和优化器,日志记录器,训练模块 整体都非常清晰;最后输出视频。原创 2025-11-20 15:27:35 · 788 阅读 · 0 评论 -
TorchRL-多任务环境
重点:可以如果输入数据部分相同格式,可以共享shared前面的层,后续seq上不同的输出头;形成的网络如果碰到不适配的数据会skip掉;原创 2025-11-24 22:44:34 · 324 阅读 · 0 评论 -
TorchRL-ReplyBuffer
维度数据位置内存 (作为 Python 对象)内存 (作为连续张量)磁盘/文件系统形状要求无限制(最灵活)严格一致严格一致采样效率低最高高 (但有磁盘I/O)原创 2025-11-23 21:16:00 · 154 阅读 · 0 评论 -
BenchMARL-前置TorchRL4
这一节的教程还是比较简单的,主要介绍了数据收集器和buffer;两者关系是collertor收集的数据存在buffer中,用来训练。如果是on-policy也就没有buffer了,是否还需要collector不是必要的,但是可以利用collector去收集,然后反复更新网络为什么可以反复用:如果collector收集数据,即使是跨episode的可以用来更新?因为策略并没有改变?原创 2025-11-19 20:32:43 · 340 阅读 · 0 评论 -
TorchRL-MADDPG
此外,还跟以前一样,说明ENV不仅包括了基本simulator和transforms,这些元数据描述了执行过程中可能出现的情况。为了提高效率,TorchRL 对环境规范的要求相当严格,但您可以轻松检查您的环境规范是否足够。将done和terminated扩展到group而不再是全局,因为后面的V需要能被正确识别是否是done;其实就是对环境做上层的包装。根据参数构造分布,采样动作。构造原始网络得到分布参数。就是说智能体被分组了;可以看到分组的map;这段和之前的描述无区别。add噪声,增加探索;原创 2025-11-24 22:12:36 · 437 阅读 · 0 评论 -
BenchMARL-前置TorchRL3
本文介绍了TorchRL框架中强化学习训练的实现方式。TorchRL借鉴PyTorch的传统监督学习范式,使用专门设计的损失模块来优化模型,实现策略执行与训练的分离。以DDPG算法为例,展示了如何通过Actor和ValueOperator网络构建损失模块,并利用rollout生成训练数据。该方法通过字典形式返回多个可微分损失值,支持同时优化多个网络。同时介绍了目标网络参数更新机制(SoftUpdate/HardUpdate),强调这些算法创新主要体现在新的优化策略而非网络架构上。整体训练流程与传统深度学习相原创 2025-11-19 16:56:31 · 553 阅读 · 0 评论 -
BenchMARL-前置TorchRL9
Introduction to TorchRL TORCHRL 简介整个库如下:模块化的两种形式:组件可以重用;组件之间相互独立;原创 2025-11-21 20:05:03 · 359 阅读 · 0 评论 -
TorchRL-模型导出
整个逻辑线路比较清晰,关于导入的包,像Module,seq等都属于tensordict;其他的一些包大部分数据torchrl;原创 2025-11-24 20:17:18 · 368 阅读 · 0 评论 -
BenchMARL-前置TorchRL7
为什么会用到大量CPU,其实可以看到这里的环境或者simulator是在CPU上面运行,即使你看到的这段话是在告诉你:“别指望设个cuda就能加速 Gym 的物理计算,它还是得回 CPU 跑。除非你用的是 Isaac Gym 或 Brax 这种专门的 GPU 环境库。原创 2025-11-20 17:53:42 · 462 阅读 · 0 评论 -
矩阵LU分解:定义、计算与应用
指将一个 ( n\times n ) 的矩阵 ( A ) 分解为:A = LU其中( L )(lower triangular matrix)是。原创 2025-11-18 11:23:20 · 470 阅读 · 0 评论 -
BenchMARL-前置TorchRL10
本文介绍了基于TORCHRL的多智能体强化学习(PPO)教程,重点讲解了VMAS多机器人模拟器的使用方法和MARL架构设计。教程详细说明了如何通过TensorDict处理多智能体数据,区分共享和特有参数,并阐述了MAPPO和IPPO两种方法的优缺点。文章还涵盖了环境元数据规范、策略定制三步法、价值网络设计以及训练流程中的数据收集和损失函数计算。尽管涉及多智能体场景,但整个代码框架保持了良好的封装性,使编写流程与单智能体情况基本一致。教程最后讨论了fork操作与GPU的关系,以及根目录下next目录的具体含义原创 2025-11-22 20:51:11 · 695 阅读 · 0 评论 -
BenchMARL-前置TorchRL5
logger相当于接收器,负责接收所有数据,不论是scalar还是videorecoder传的pixel数据;库提供了多种日志记录器,其中wandb和tensorboard是用的最多的,对于我个人而言;并且,库也对这些API进行了统一,也就是接口的统一;对于录制视频先对初始环境设置,可以输出视频帧。这一节的内容是关于如何记录训练的信息。原创 2025-11-20 10:10:32 · 415 阅读 · 0 评论 -
Reinforcement Learning: An Overview 之MARL部分
内容主要涉及博弈理论,MARL最优目标定义,算法;我们使用MARL求解某个问题,首先需要确定,这是一个什么类型的环境,进而选定算法去求解;不同算法针对不同的博弈环境 会引入相应的技巧解决其中又博弈理论带来的问题。原创 2025-11-26 22:17:37 · 1153 阅读 · 0 评论 -
BenchMARL-前置TorchRL1
可以理解为转成了标准的mdp形式的存储数据,可以看到文档中所说,将根目录下的next导入到下一步操作中,也就是s_t = s_t+1;也就是说,如果想要使用环境,需要将gym等环境库先装了,TorchRL只是做一个上层包装器器的作用。环境 API,以及模拟后端(例如)的中央枢纽。就是说我采样步数到了但是环境也没有终止 not done,仅仅只是后续我停止采样了;和之前的库不一样的是,该库使用的是torchDict,更加清晰,便于管理;结果并不影响,只是很多时候我们用的是r_t来理解;原创 2025-11-17 22:47:45 · 861 阅读 · 0 评论 -
PPO算法
TRPO算法通过约束策略更新的幅度(信任区域和KL散度限制)来稳定训练,但其计算过程复杂。PPO作为改进版简化了实现,通过参数裁剪(clip)直接限制新旧策略参数的变化范围,避免策略突变。相比TRPO依赖惩罚项调整,PPO的裁剪机制更直接有效,在保证训练稳定性的同时提高了计算效率。原创 2025-11-19 21:31:52 · 430 阅读 · 0 评论 -
BenchMARL-前置TorchRL8
这节涉及到了自定义环境模块,和之前的gym还是存在一定区别首先是环境状态:有状态:环境本身会记录状态,我们只需要给出动作就行无状态:相当于一个函数,给出输入和动作,给出输出区别:教程结构:这些函数还是必须存在的;有时候可能需要接受一些参数,也就是start的参数;否则,调用gen_params动作和状态空间,初始化参数生成方法:改造环境原创 2025-11-21 17:14:58 · 175 阅读 · 0 评论 -
DQN 和 DDQN
因此,常见方法就是用函数拟合,而NN具有强大的表达能力,能够拟合非线性函数,因此用NN来表示一个函数Q。利用NN来替代Q-Learning的表格法,引入了神经网络拟合表格数据,很显然这是一种近似方法,目标网络,确保了逼近目标不会一直改变,不然如果两个Q都在变,训练非常不稳定,很难拟合;因此先固定TD里面的Qw-,再去更新外面的Qw,间隔一段时间再更新Qw-;如果动作离散,可以只输入s,然后输出a - value 再max。由于状态空间连续,再用表格已经无法记录了;如果动作连续,那就输入s,a,输出标量。原创 2025-11-20 10:09:48 · 291 阅读 · 0 评论
分享