Giter VIP home page Giter VIP logo

joyrl-book's Introduction

GitHub issues GitHub stars GitHub forks GitHub license

JoyRL Book

《蘑菇书EasyRL》之后,我们对于想要更多地深入了解强化学习实践的读者准备了一套全新的教程,帮助读者快速入门强化学习的代码实践,并辅以一套开源代码框架JoyRL,便于读者适应业界应用研究风格的代码。

与《蘑菇书》的区别:

  1. 《蘑菇书》知识体系更加详细丰富,适合零基础的读者,而本教程侧重对强化学习核心理论的凝练和串联,注重简明内容,适合有一定基础的读者。
  2. 《蘑菇书》偏向理论讲解,适合做研究工作的读者,而本教程侧重服务于代码时间,会包含一些实际应用中的技巧和经验,适合做工程应用的读者。
  3. 《蘑菇书》代码主要是一些经典算法在一些简单环境下的实现,注重对理论的阐释,而本教程则会包含更多的算法和环境,例如SoftQRainbowDQN等,代码内容更偏向业界风格。除此之外,本教程还开发一套开源框架joyrl,便于读者应用到更复杂以及自定义的环境中,适合做交叉应用的读者。

关于JoyRL

JoyRL旨在建立一套帮助初学者或交叉学科研究者快速入门强化学习的代码生态。它以PiP包的形式开发开源框架,英文注释,会比离线版更加集成,更加高效,并且会去掉一些实际并不常用的基础算法,例如Q-learning等等,适合需要大规模环境应用的读者进阶使用。

此外,本书中的演示代码会在以Jupyter Notebook的形式呈现,具体在notebooks文件夹中。

在线阅读(内容实时更新)

地址:https://datawhalechina.github.io/joyrl-book/

内容导航

章节 关键内容
第一章 绪论
第二章 马尔可夫决策过程 马尔可夫决策过程、状态转移矩阵
第三章 动态规划 贝尔曼方程、策略迭代、价值迭代
第四章 免模型预测 蒙特卡洛、时序差分
第五章 免模型控制 Q-learning 算法、Sarsa 算法
第六章 深度学习基础 神经网络、梯度下降
第七章 DQN算法 DQN 算法、目标网络、经验回放
第八章 DQN算法进阶 Double DQN、Dueling DQN、PER DQN
第九章 策略梯度 随机性策略、REINFORCE
第十章 Actor-Critic算法 A2C、A3C
第十一章 DDPG算法 DDPG、TD3
第十二章 PPO算法 重要性采样、PPO
第十三章 SAC算法 最大熵强化学习、Soft Q、SAC
JoyRL 中文文档
练习题解答

主要贡献者

pic
John Jim

教程设计与算法实战
北京大学硕士

pic
Qi Wang

教程设计
上海交通大学博士生
**科学院大学硕士

pic
Yiyuan Yang

教程设计
牛津大学博士生
清华大学硕士

特别感谢

关注我们

扫描下方二维码关注公众号:Datawhale,回复关键词“强化学习”,即可加入“EasyRL & JoyRL 读者交流群”

Datawhale是一个专注AI领域的开源组织,以“for the learner,和学习者一起成长”为愿景,构建对学习者最有价值的开源学习社区。关注我们,一起学习成长。

joyrl-book's People

Contributors

clorisqiu1 avatar gyyer avatar johnjim0816 avatar misaki-wang avatar sm1les avatar wangzhongren-code avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

joyrl-book's Issues

大佬问个问题

关于一个Episode中的所有Reward,计算了Return以后是不是既可以估计为V又可以估计为Q?不是的话是为什么啊,是的话什么时候是Q什么时候是V?

关于估计的问题

请问AC算法中计算的Return为啥估计的是Q,为啥我感觉也可以是V?

代码

第八章Dueling DQN代码运行的时候会报错,是不是需要修改一下

优先经验重放中的采样问题

在joyrl-book第8章的优先经验重放中,实现带有优先级的缓存区时,Buffer内的函数__len__(self)返回的是SumTree中存储的经验数量self.tree.count,而在notebook的代码实现中,len(self)函数返回的是SumTree中优先权重的总和self.tree.total()。请问这两种设置有什么不同吗?实际代码测试时,使用self.tree.count的方式,采样时会超出经验缓冲区,抽取到初始化(空或者0)的数据,代码报错

折扣因子参数范围歧义问题

在我第一次阅读的时候,官方的写法是在0到1之间,我理解成了0~1的开区间(可能只有我这样)。后面观看 sutton 的书籍发现是闭区间。希望可以显示修改为闭区间形式(0<=dr<=1),或者使用括号补充说明。

HER的有关

计算奖励为啥不是和next_state计算,而是和state就算

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.