强化学习资料收集整理

王 茂南 2024年3月20日07:37:07
评论
2252字阅读7分30秒
摘要这里会收集一些强化学习的资料,方便在学习过程中使用。这里会分为初学强化学习的资料,和进阶的时候用到的资料。

简介

这里会介绍一些我在学习强化学习过程中,找到的一些比较好的资料。会包括一些网课,相关的代码,和论文笔记。同样的,强化学习的学习,我认为只靠看理论是不够的,一定要结合着代码一起看,才可以有更加深刻的理解。

 

强化学习资料整理

入门资料整理

这部分的资料适合初学强化学习的人,会从最基础的讲起。我个人建议,如果是初学,不建议上来就看最新的内容(比如 actor-critic 结构),还是从最基础的看起。

【网课】动手学强化学习,这是国内出的一个关于强化学习的课程,课程里面有配套的代码。这个是我后面才看到的,也是跟着看了一遍,整体质量很不错,所以放在第一个推荐。

【网课】UCL Course on RL,这个十节课是从最基础的开始讲起,讲得非常详细。我当时入门就是看得这个课程,差不多一周看一节课,然后做好笔记,里面的推导都自己推一遍。同时代码也跟着写一下;

【书籍】Suntton 经典教材。里边内容讲得很通俗,公式推导也很细致,尤其是其中基于价值的策略学习部分。我当时是一边上网课,有公式看不懂的地方会在这本书中进行查找。

上面是一些书籍和网课,但是正如我最开始说的,学习强化学习只看理论是不够的,需要实践一下,那么就需要用到一些环境和算法(虽然有一些封装的比较好的 RL 库,但是我还是推荐上来先先看一下具体的实现,去和教材上面的公式和伪代码对应起来,这样才能理解算法。等理解之后,后面可以直接使用一些封装好的库):

【代码】初学强化学习,应该是绕不开 gym 的,现在最新的是 gymnasium。我推荐可以使用里面的 lunarland 来进行实验。Reinforcement Learning(强化学习)-LunarLander-v2 环境介绍

【代码】DQN Adventure: from Zero to State of the Art,这是关于 DQN 算法介绍的仓库,从最基础的 Q Learning 开始,逐渐加入改进,一个算法一个 notebook(This is easy-to-follow step-by-step Deep Q Learning tutorial with clean readable code)。

【代码】Github-minimalRL-pytorch,这里包含一些常见的单智能体算法,有 value-based,也有 policy-based(Implementations of basic RL algorithms with minimal lines of codes),这里每个算法都是一个单独的文件,方便进行学习。

 

进阶资料整理

如果上面的资料看的差不多了,那么可以看一些进阶的资料了。其实到这一步已经知道自己具体需要看什么了。我在这里也是简单整理一下。

【网课】CS 285 at UC Berkeley & Deep Reinforcement Learning,这个课程相比上面的,会介绍一些更加前沿的强化学习的内容。这个链接,Assignments for Berkeley CS 285: Deep Reinforcement Learning, Decision Making, and Control.,是上面课程的配套作业和答案。

【教材】OpenAI Spinning Up,我认为 OpenAI Spinning Up 是一个非常好的工具书,他可以很方便的查看不同 RL 算法(This is an educational resource produced by OpenAI that makes it easier to learn about deep reinforcement learning),但是我不是很推荐用他里面的代码。

【博客】【多智能体强化学习】新手入门算法论文大总结,这个是知乎的一个作者,里面整理了非常多的关于多智能体强化学习的论文解读,如果要做多智能体相关的研究,可以去看一下。

【视频】北交INSIS强化学习组,这是北交做强化学习的组,他们会把每周的论文阅读上传到 B 站,也可以通过这个视频来快速了解一下目前 RL 的前沿发展。

这个时候,我们可以使用一些封装好的库了(可以直接接入自己定义的环境进行使用):

【单智能体库】stable-baselines3,单智能体,我无脑推荐 stable-baselines3。如果是自己的环境,先用 sb3 测试一下看看能不能收敛。stable-baselines3 是我用下来,单智能体里面最好用,最方便的库。也可以参考一下 PPO 控制单路口信号灯

【多智能体库】多智能体这篇我会推荐两个。首先第一个是 epymarl。这个库代码实现比较清楚,我感觉很适合初学多智能体的时候对着这个库的代码进行学习。也可以在上面接自己的环境,但是我感觉他的实现速度不是很快。【多智能体强化学习】EPyMARL 使用介绍。这个库我也算仔细看过,找到过一个小问题,[BUG] Duplicate agent_grad_norm in maddpg_learner.py Needs Removal #67

【多智能体库】第二个我推荐使用的就是 torch_rl。其实多智能体强化学习的库还挺多的,之前我用过一段时间 rllib,但我觉得他的使用体验一般,不是很会调试。torch_rl 算是大厂出品,应该质量能有所保证,更新什么的也能有所保证。

都看到这里了,我在推荐一下我这里自己开发的一个仿真平台,TransSimHub。这个仿真平台主要是对微观交通仿真,包括信号灯,车辆,行人和飞行器。同时这个库也适配了 stable-baselines3torch_rl,如果有做相关研究的,欢迎使用,也欢迎和我讨论。

  • 微信公众号
  • 关注微信公众号
  • weinxin
  • QQ群
  • 我们的QQ群号
  • weinxin
王 茂南
  • 本文由 发表于 2024年3月20日07:37:07
  • 转载请务必保留本文链接:https://mathpretty.com/14109.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: