
强化学习入门
文章平均质量分 95
SI_Gamer
做我所想,爱我所爱。逐心所向,快意人生。
痛快地学习,认真地记录。
展开
-
【动手学强化学习】番外5-MPE(Multi-agent Particle-World Environment)多智能体仿真环境介绍
该篇介绍了MPE多智能体仿真环境的概况,并以两个典型的合作型子环境进行了代码复现;从MPE环境了解可得,MARL算法对应用场景的建模大多数都是基于POMDP的,因此后续自建环境时需考虑到以下关键因素:(1) 环境对象(agents、 landmarks)(2) 通信(全局广播、局部共享)(3) 全局状态空间(4) Agent观察空间(5) 联合动作空间(离散、连续)(6) 终止条件(7) 奖励规则从环境自建的角度还是离不开重要的4步,确定算法框架部分可观测马尔可夫建模。原创 2025-03-24 11:00:10 · 871 阅读 · 0 评论 -
【动手学强化学习】part8-PPO(Proximal Policy Optimization)近端策略优化算法
PPO算法是基于TRPO算法的改进,TRPO算法的数学原理比较复杂,以后有机会深入学习。原创 2025-03-15 18:59:31 · 718 阅读 · 0 评论 -
【动手学强化学习】番外4-MAPPO benchmark+wandb算法训练结果记录
以后有必要的话就安装本地版本的,后续会更新。原创 2025-03-06 17:24:24 · 623 阅读 · 0 评论 -
【动手学强化学习】番外3-MARLlib之MAPPO+MPE算法示例结果可视化(经验总结)
MARLlib无法直接采用最新版本ray,源码中太多库引入import需要更新了。希望作者能够早日更新版本吧!原创 2025-03-04 22:35:19 · 980 阅读 · 0 评论 -
【动手学强化学习】番外2-多智能体强化学习算法框架之“MARLlib”学习
多智能体强化学习库(MARLlib)是一个利用 Ray 及其工具包之一 RLlib 的 MARL 库。它为在各种任务和环境中开发、训练和测试 MARL 算法提供了一个综合平台。❓什么是“Ray 及其工具包之一 RLlib”?✅Ray是一个用于构建和运行分布式应用程序的开源框架,它通过提供简单的编程模型和高效的资源调度,使得开发者能够轻松地将单机程序扩展到分布式环境。原创 2025-03-03 17:49:43 · 1069 阅读 · 0 评论 -
【动手学强化学习】番外1-CartPole_v1环境源码详解及自建环境建议
Cart Pole即车杆游戏,游戏模型如下图所示。游戏里面有一个小车,上有竖着一根杆子,每次重置后的初始状态会有所不同。小车需要左右移动来保持杆子竖直,为了保证游戏继续进行需要满足以下两个条件:杆子倾斜的角度必须保持在[-12°,12°]之间;小车移动的位置需保持在一定范围,[-2.4,2.4]单位长度之间。确定算法框架:先从网上示例程序出发,以简单的交互环境(如CartPole)跑通算法(如A2C、PPO等),然后以该算法为基础确定与环境交互的部分有哪些。原创 2024-12-12 17:45:54 · 1488 阅读 · 0 评论 -
【动手学强化学习】part7-Actor-Critic算法
Actor-Critic算法算是DQN与REINFORCE算法的结合,集成了值函数近似和策略梯度下降方法。ActorCritic 是囊括一系列算法的整体架构,目前很多高效的前沿算法都属于 Actor-Critic 算法。原创 2024-10-29 16:20:30 · 1370 阅读 · 0 评论 -
【动手学强化学习】part6-策略梯度算法
REINFORCE算法采用policy_net网络去显示地表征policy,采用蒙特卡洛的方法去估计q(s,a),智能体根据当前策略直接和环境交互,通过采样得到的轨迹数据直接计算出策略参数的梯度,进而更新当前策略,使其向最大化策略期望回报的目标靠近。原创 2024-10-28 21:42:24 · 945 阅读 · 0 评论 -
【动手学强化学习】part5-值函数近似算法
给定“黑盒”环境,求解最优policy前序章节中以MC或TD方法构建model-free算法,以求解“黑盒”模型下的最优policy,但在action value(q(s,a))估计以Q_table的表格形式存储记录,在状态、动作空间较小时能够很好适应,但状态、动作空间扩大以后,算法运行时将承载巨大的存储压力。更甚者,当状态或者动作连续的时候,就有无限个状态动作对,我们更加无法使用这种表格形式来记录各个状态动作对的q(s,a)值。本节算法需要通过值函数近似的方法进行Q(s,a)的估计,相对于线性函数拟合,深原创 2024-10-24 22:38:17 · 820 阅读 · 0 评论 -
【动手学强化学习】part2-动态规划算法
*动态规划(dynamic programming)**是程序设计算法中非常重要的内容,能够高效解决一些经典问题,例如背包问题和最短路径规划。动态规划的基本思想是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到目标问题的解。动态规划会保存已解决的子问题的答案,在求解目标问题的过程中,需要这些子问题答案时就可以直接利用,避免重复计算。基于动态规划的强化学习算法主要有两种:一是策略迭代(policy iteration),二是价值迭代(value iteration)。(1)创建环境。原创 2024-10-23 16:05:25 · 1108 阅读 · 0 评论 -
【动手学强化学习】part3-蒙特卡洛算法
Monte Carlo法是首个model-free的方法,后续问题之中多数都是“黑盒”模型,需要通过不断与环境交互产生的episode进行*v(s) q(s,a)*值估计。原创 2024-10-23 21:33:43 · 861 阅读 · 0 评论 -
【动手学强化学习】part4-时序差分算法
MC和TD算法都是“黑盒”模型下的model-free算法,但TD算法应用了incremental(“增量式”)的思想去估计action value,等待成本更低,边更新q(s,a)估计值边更新policy。强化学习中,“模型”和“数据”必有其一,不然无法求解。off policy相对于on policy的优势在于,采样数据可以充分利用,具有更小的样本复杂度,target policy是Q-laerning算法相对于SARSA算法在解的最优性和收敛速度上有明显优势。原创 2024-10-24 11:12:28 · 875 阅读 · 0 评论 -
【动手学强化学习】part1-初探强化学习
初次接触强化学习的内容,主要学习参考以下两大部分:(1)【动手学强化学习】——上海交大,张伟楠教授团队①教学视频②教材内容(2)【强化学习的数学原理】——西湖大学,赵世钰教授团队①教学视频②B站大佬代码实现此专栏只为记录个人学习情况,若有不对之处,欢迎评论区交流讨论。理解一个新型的事物、技术,个人习惯性地采用“5W1H”的方式建立知识体系框架,下面以个人理解的方式去进行强化学习这项技术内涵的阐述。阐述①:广泛地讲,强化学习是机器通过与环境交互来实现目标的一种计算方法。原创 2024-10-22 12:51:46 · 1177 阅读 · 0 评论