GithubHelp home page GithubHelp logo

datawhalechina / easy-rl Goto Github PK

View Code? Open in Web Editor NEW
8.2K 77.0 1.7K 527.43 MB

强化学习中文教程(蘑菇书🍄),在线阅读地址:https://datawhalechina.github.io/easy-rl/

License: Other

Jupyter Notebook 99.32% Python 0.68%
deep-reinforcement-learning reinforcement-learning dqn ppo a3c q-learning sarsa imitation-learning policy-gradient ddpg

easy-rl's Introduction

GitHub issues GitHub stars GitHub forks Hits 知识共享许可协议

蘑菇书EasyRL

李宏毅老师的《深度强化学习》是强化学习领域经典的中文视频之一。李老师幽默风趣的上课风格让晦涩难懂的强化学习理论变得轻松易懂,他会通过很多有趣的例子来讲解强化学习理论。比如老师经常会用玩 Atari 游戏的例子来讲解强化学习算法。此外,为了教程的完整性,我们整理了周博磊老师的《强化学习纲要》、李科浇老师的《世界冠军带你从零实践强化学习》以及多个强化学习的经典资料作为补充。对于想入门强化学习又想看中文讲解的人来说绝对是非常推荐的。

本教程也称为“蘑菇书”,寓意是希望此书能够为读者注入活力,让读者“吃”下这本蘑菇之后,能够饶有兴致地探索强化学习,像马里奥那样愈加强大,继而在人工智能领域觅得意外的收获。

使用说明

纸质版

购买链接:京东 | 当当

pic

京东扫码购买

pic

当当扫码购买

豆瓣评分:https://book.douban.com/subject/35781275/

ℹ️ 勘误修订表https://datawhalechina.github.io/easy-rl/#/errata

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

地址:https://datawhalechina.github.io/easy-rl/

最新版PDF下载

地址:https://github.com/datawhalechina/easy-rl/releases

国内地址(推荐国内读者使用):链接: https://pan.baidu.com/s/1isqQnpVRWbb3yh83Vs0kbw 提取码: us6a

压缩版(推荐网速较差的读者使用,文件小,图片分辨率较低):链接: https://pan.baidu.com/s/1mUECyMKDZp-z4-CGjFhdAw 提取码: tzds

纸质版和PDF版的区别

PDF版本是全书初稿,人民邮电出版社的编辑老师们对初稿进行了反复修缮,最终诞生了纸质书籍,在此向人民邮电出版社的编辑老师的认真严谨表示衷心的感谢!(附:校对样稿)

相关视频内容

内容导航

章节 习题 相关项目 配套代码
第一章 强化学习基础 第一章 习题
第二章 马尔可夫决策过程 (MDP) 第二章 习题 值迭代算法
第三章 表格型方法 第三章 习题 Q-learning算法实战 Q-learningSarsa蒙特卡洛
第四章 策略梯度 第四章 习题 策略梯度
第五章 近端策略优化 (PPO) 算法 第五章 习题 PPO
第六章 DQN (基本概念) 第六章 习题 DQN
第七章 DQN (进阶技巧) 第七章 习题 DQN算法实战 Double DQNDueling DQNPER DQNNoisy DQN
第八章 DQN (连续动作) 第八章 习题
第九章 演员-评论员算法 第九章 习题 A2C
第十章 稀疏奖励 第十章 习题
第十一章 模仿学习 第十一章 习题
第十二章 深度确定性策略梯度 (DDPG) 算法 第十二章 习题 DDPG算法实战 DDPG
第十三章 AlphaStar 论文解读

算法实战

算法实战部分包括附书代码和JoyRL代码:

经典强化学习论文解读

点击或者网页点击papers文件夹进入经典强化学习论文解读

扩展资源

深度学习感兴趣的读者,可阅读李宏毅深度学习教程LeeDL-Tutorial

贡献者

pic
Qi Wang

教程设计(第1~12章)
上海交通大学博士生
**科学院大学硕士

pic
Yiyuan Yang

习题设计&第13章
牛津大学博士生
清华大学硕士

pic
John Jim

算法实战
北京大学硕士

引用信息

王琦,杨毅远,江季,Easy RL:强化学习教程,人民邮电出版社,https://github.com/datawhalechina/easy-rl, 2022.
Qi Wang, Yiyuan Yang, Ji Jiang,Easy RL: Reinforcement Learning Tutorial,Posts & Telecom Press,https://github.com/datawhalechina/easy-rl, 2022.
@book{wang2022easyrl,
title = {Easy RL:强化学习教程},
publisher = {人民邮电出版社},
year = {2022},
author = {王琦,杨毅远,江季},
address = {北京},
isbn = {9787115584700},
url = {https://github.com/datawhalechina/easy-rl}
}
@book{wang2022easyrl,
title = {Easy RL: Reinforcement Learning Tutorial},
publisher = {Posts & Telecom Press},
year = {2022},
author = {Qi Wang, Yiyuan Yang, Ji Jiang},
address = {Beijing},
isbn = {9787115584700},
url = {https://github.com/datawhalechina/easy-rl}
}

如果您需要转载该教程的内容,请注明出处:https://github.com/datawhalechina/easy-rl

致谢

特别感谢 @Sm1les@LSGOMYP 对本项目的帮助与支持。

另外,十分感谢大家对于Easy-RL的关注。 Stargazers repo roster for @datawhalechina/easy-rl Forkers repo roster for @datawhalechina/easy-rl

关注我们

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

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

LICENSE

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

Star History

Star History

easy-rl's People

Contributors

bebravebecurious avatar johnjim0816 avatar olianate avatar qiwang067 avatar sm1les avatar ssccinng avatar taojunhui avatar xyw5vplus1 avatar ynjxsjmh avatar yyysjz1997 avatar zh4men9 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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

easy-rl's Issues

Error when running A2C

Thanks for this project.

An error is reported when running main.py in the A2C folder:

Start to train ! 
tensor([ 0.0307,  0.0015, -0.0309, -0.0313], device='cuda:0')
Traceback (most recent call last):
  File "G:/My First Paper/Code/easy-rl/codes/A2C/main.py", line 105, in <module>
    train(cfg,env,agent)
  File "G:/My First Paper/Code/easy-rl/codes/A2C/main.py", line 64, in train
    dist, value = agent.model(state)
  File "D:\2019Download\Anaconda\Anaconda\envs\IL\lib\site-packages\torch\nn\modules\module.py", line 889, in _call_impl
    result = self.forward(*input, **kwargs)
  File "G:/My First Paper/Code/easy-rl/codes\A2C\model.py", line 34, in forward
    probs = self.actor(x)
  File "D:\2019Download\Anaconda\Anaconda\envs\IL\lib\site-packages\torch\nn\modules\module.py", line 889, in _call_impl
    result = self.forward(*input, **kwargs)
  File "D:\2019Download\Anaconda\Anaconda\envs\IL\lib\site-packages\torch\nn\modules\container.py", line 119, in forward
    input = module(input)
  File "D:\2019Download\Anaconda\Anaconda\envs\IL\lib\site-packages\torch\nn\modules\module.py", line 889, in _call_impl
    result = self.forward(*input, **kwargs)
  File "D:\2019Download\Anaconda\Anaconda\envs\IL\lib\site-packages\torch\nn\modules\activation.py", line 1200, in forward
    return F.softmax(input, self.dim, _stacklevel=5)
  File "D:\2019Download\Anaconda\Anaconda\envs\IL\lib\site-packages\torch\nn\functional.py", line 1583, in softmax
    ret = input.softmax(dim)
IndexError: Dimension out of range (expected to be in range of [-1, 0], but got 1)

Process finished with exit code 1

Looking forward to your guidance, thanks in advance.

对bootstrapping(拔靴自助)翻译的一点想法

你好,谢谢你们的项目,我学到了很多。
或许第二章节的Iterative Algorithm for Computing Value of a MRP这里的bootstrapping(拔靴自助)应该翻译为自举吗?
我参考的是Reinforcement Learning an introduction的翻译版强化学习(第二版)第87页第三段第三行的翻译,感觉这样顺口点,bootstrapping(拔靴自助)有点奇怪。

笔记提出疑问

image

这里的表述好像有点问题,不过从前面也能够大抵理解意思。可能有漏字的现象
不理解的地方是:
一个好的 policy π 能够 绝大多数 V(s) 达到很大,这个可以理解。但是能否解释一下,为什么有一个π能够让所有的V(s)最大吗? 我好像明白了,也就是每一步我的action 都是最优的,那么我就能保证每一个V(s)都是极大的。但是这样显然有个问题。 就是我可能为了以后某个S的value极大,暂时放弃目前的最优action。 也就是说,不能够一味的采取贪婪的策略。 所以我觉得表述让每个状态 V(state) 最大让我有点困惑。

第五章对应的习题解答

第五章对应的习题中,“on-policy”和“off-policy”的区别。作者您只阐述了“on-policy”的描述和优劣势,并没有说到区分呀

Policy Gradient 的疑问

第四章 策略梯度 有如下表述:

image

假设你在 st​ 执行 at​,最后发现 τ 的奖励是正的, 那你就要增加这一项的概率。
反之,在 st​ 执行 at​ 会导致 τ 的奖励变成负的, 你就要减少这一项的概率。

我能明白这两句话是在表述我们的目的,但是公式中哪一部分在实现这个目的呢?

image

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.