Giter Site home page Giter Site logo

drl's Introduction

Deep Reinforcement Learning

  1. Overview.

  2. TD Learning.

  3. Advanced Topics on Value-Based Learning.

  4. Policy Gradient with Baseline.

  5. Advanced Topics on Policy-Based Learning.

  6. Dealing with Continuous Action Space.

  7. Multi-Agent Reinforcement Learning.

  8. Imitation Learning.

    • Inverse Reinforcement Learning.

    • Generative Adversarial Imitation Learning (GAIL).

drl's People

Contributors

wangshusen 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

drl's Issues

第五章SARSA算法描述是否有误

SARSA 训练流程:
4. 根据当前策略做抽样: a˜t+1 ∼ πnow( · j st+1)。注意, a˜t+1 只是假想的动作,智能体
不予执行

看其他资料
SARSA算法在本次迭代后,会用 a˜t+1 更新 a(也就是说下一步一定会在s˜t+1 执行a˜t+1):
s = s˜t+1
a = a˜t+1

More explanations on why Dueling DQN separates Q function

老师好,6.3 节对决网络(Dueling Network)好像没有对 Dueling DQN “为什么要把 Q 值函数拆开” 的解释,所以我最开始看完了这一节后依然有点困惑,所以希望可以加一些这部分的解释。(当然如果是我遗漏了这一部分的话,那非常抱歉 😂)

我目前对 Dueling DQN 的粗浅的理解是,它拆 Q 值函数是为了把状态和动作分开考虑,从而能够判断 Q 值高到底是因为状态好所以随便什么动作都行,还是真的是因为动作好。另一方面,如果有很多状态都不受动作影响,那 Dueling DQN 能学习的更快一些。(不知道这个理解有没有啥问题)

最后感谢老师,辛苦了。

基于强化学习的知识图谱推理

知识图谱现在也是深度学习很火热的一个方向,不知道老师能否在在书中关于这个领域结合强化学习介绍一些应用的实例呢,谢谢!

确定策略梯度章节的改进建议

微信截图_20210401191511
个人感觉这章稍微讲的乱了一点。
特别是这部分,估计Q_phi(s,a)给人的感觉应该是用on policy的样本。
但是下面又提到从经验回放池中采样,特别容易让人误解。
这里面的phi对应的策略到底是什么,不是很清楚。
我觉得确定性策略梯度就是DQN的连续化版本,
https://spinningup.openai.com/en/latest/algorithms/ddpg.html
deepmind这个从这个角度讲比较清楚,供王老师参考。

10.3.3 小节漏字

10.3.3 DPG 的高估问题 小节下面的第一行,"我们讨过 DQN 的高估问题" 中漏了 "论"

建议增加值分布强化学习的内容

王老师您好!阅读本书的时候,受益匪浅,可以说是华语版本最好的DRL教材了。在开头的时候,您介绍了DRL中的随机性。我最近看了几篇关于讨论回报中随机性的文章,感觉挺有意思的,所以想分享一下:

https://arxiv.org/abs/1707.06887

https://arxiv.org/abs/1710.10044

https://arxiv.org/abs/1806.06923

https://arxiv.org/abs/1911.02140

https://proceedings.neurips.cc//paper/2020/file/b6f8dc086b2d60c5856e4ff517060392-Paper.pdf

https://arxiv.org/abs/1902.08102

这个系列的工作的核心idea就是把Bellman方程抽象成Bellman算符,然后用Banach不动点分析算符的收敛性。如果时间和精力允许的话,王老师可以考虑加入这些advanced topic. 如果感觉这个主题不相关的话,就当交流一下吧。

非常感谢!

4.3.1算法推导的第一个公式

4.3.1 算法推导的有关Ut的公式,是我理解的有问题吗?后半部分k = t+1的时候,gamma的指数是t+1-t = 1, 但前面Sum符号外还有个gamma,那就是gamma^2了,但是本来应该只是gamma的吧?

有没有代码示例呢 ?

感觉王老师的书特别好,但是只看总感觉少了点东西,要是每个章节都配有代码解释就好了。看了几个别人的demo,感觉和书中的讲解有的地方不一样,希望王老师能提供一些书中知识点的代码。感觉配套下来学习效果会更好

习题答案

请文老师是否有习题答案,或者哪位同学可以分享一下自己的答案。

TRPO中的一个小问题

微信截图_20210401182829

这里面相当于用theta_now产生的轨迹来估计Q_phi(s,a)
是不是有点问题?
Q_phi的参数是theta还是theta_now呢?
感觉有点不太清楚。
thanks

chapter4: a question about TD

Hi professor Wang! I have a question about TD algorithm. You said y hat is a function of parameter w, but TD ignores it and sees it as a constant. What if I don't do like that? Can I just use initial y hat? (Because I think it's still not complex to calculate gradient in that case.)

7.3.2证明中的typo

image
在引理7.2的证明中,
$$Q_{\pi}(s,a)=E_{S’\ \sim \ p\ (\ \dot\ |\ s\ ;\ \theta)}[R(s,a,S')+\gamma\ \dot \ V_{\pi}(s') ]$$
此处 $V_{\pi}(S')$ 应该仍然是 $S'$ 的函数,此处在数学上并未是描述某个具体状态,我认为此处或许出了错误?
应该为,
$$Q_{\pi}(s,a)=E_{S’\ \sim \ p\ (\ \dot\ |\ s\ ;\ \theta)}[R(s,a,S')+\gamma\ \dot \ V_{\pi}(S') ]$$
GitHub上的markdown我不是很熟悉,见谅。

7.3.2 节可能的错误

在证明递归公式时,公式(7.3)左边是否应该是 $\boldsymbol{V_\pi (s)}$,而不是 $\boldsymbol{Q_\pi (s, a)}$。但是这样的话与下面又不符,希望老师能够解答一下:dizzy_face:

4.2.1 一术语使用不妥

截屏2021-06-14 下午2 56 04

认为在这里使用「平方差」似乎不妥,“平方差”在中文数学里一般意思是“平方的差”,而非“差的平方”。使用“误差平方”或许更合适,或其他的术语。

ImageNet 在深度学习中的应用

感谢如此精彩的RL中文材料。
在书中p.p. 36,第一段第二行,RL中的OpenAI Gym 应该和DL中的ImageNet做对照(而不是RL的ImageNet)。

第7章视频没有公开

王老师您好,第7章的视频链接点击显示为"私享视频",希望能公开一下,非常感谢。

Question About P48

P56.pdf

您好,请问DRL书本P48页,关于Q学习算法的表格形式的更新公式,红框内的两个更新公式不一样,下面一个是否有误?

8.1节可能的小错误

image
王老师您好,等号右边的S, A是否应该小写呢,等号左边是抽样得到的s, a

前9章读后感

人工智能确实是现在很热的方向和研究领域,尤其又是当下的,强化学习。
搜索一番,国内前几所高校,几乎还没有外传的并且公开的有关强化学习的较完整的书籍或者教材。
感谢王树森先生的书籍稿件和视频资料,并分享在GitHub和YouTube上,希望能够发扬并保持下去。
国内几大互联网巨头,没有吸取到外面精华和精髓,任何访问,要么就是一大堆广告,要么就是无节制地索取用户信息,要么就是流量很贵。
稿件前9章以及视频资料有过较详细的阅读和观看,有如下几点体会。
1.概率论数学知识在强化学习中的比重特别大和重要,我个人体会可能要占到70%。
2.这虽然不是主要讲数学的书,但是核心支撑就是概率论数学基础。
3.概率的数学推导,大部分就是数学建模和不断简化(不是优化)。但是王先生好像很少提到数学建模,好像还想避开数学建模字眼,深怕提及了数学建模,怕吓跑读者。当然在视频中,王先生自己也说到“不太严谨”。
4.贝尔曼方程就是一个数学模型,Q函数和V值函数在做时序差分TD算法的时候,能不能不用这个贝尔曼方程?。跨不过去。概率数学、数学建模是基石。
5.策略函数梯度公式,核心又是数学。想躲数学吗?
6.概率论中有【期望】,强化学习的Q值和V值也有【期望】,这两个【期望】好像不是同一回事吧?。概率论中期望,是说当样本越来越多,然后收敛,最后趋于均值。强化学习中的Q值和V值是希望最好值,要找max值。这是要借用还是混用,还是别人这么用,姑且我也先这么用?。
7.【全书或者GitHub没有代码,没有案例?.】有了代码我们是想看,你或者你的团队是怎么衔接的,怎么用到实处。所以烦请你,后面有机会一定要补充和更新代码,锦上添花。不附加实际案例和代码,这就是一本即不像讲数学的书,又不像讲算法和代码的书,几不像。
8.全书或者全稿以及视频讲义:图文并茂、思路清晰、简洁清爽、多色字体呈现,便于读者阅读和理解。知识的呈现,本就应该多元化表达。希望以后继续保持和发扬这种呈现风格。

Double DQN gamma 参数

尊敬的王老师,您好:
请问第70页中的公式是否默认gamma为1呢?如果是的话可否加上说明,更严谨一些。

阅读反馈

  1. 建议 "逻辑斯蒂回归" 变为 "逻辑回归" 可能会更简洁一点。
  2. 第 25 页的 "序贯" 一词可能是 "序列" 或 "时序" 的笔误。

对前两章基础部分内容的读后反馈

读过之后感觉这部分内容跟标题不够契合,不管是概率论还是深度学习都是涵盖内容比较广的主题。哪怕仅仅是综述,内容也是比较单薄的(对标deep learning)。如果这部分内容的目的是为无基础读者罗列知识点的话,内容不够全面,起不到指引的作用;如果目的是为有一定基础的读者进行知识点的总结与升华的话,内容又过于简单,不够深刻。仅供参考。
另,中文强化学习书籍真的很匮乏,您愿意付出时间精力来做这件事情,很令人敬佩。祝您的书稿早日面世。

关于s,S与a,A间的相互转化

第7章推导策略网络目标函数时,不太明白为何s与S,a与A之间可以直接相互转化,有人可以从实际含义或者数学推导上解释一下嘛?
image

建议增加PPO和SAC讲解

王老师您好,您的书写的非常棒,给人一种醍醐灌顶的感觉!

希望能够增加PPO和SAC的内容,对于我们强化学习初学者真的是难得的学习资料!

第9章笔误及第6章疑问

王老师,您好。目前拜读了您的《DRL》一书前9章,发现第9章中一个笔误在最新版中仍然存在:

image

此外,目前已读的部分,各种算法原理及数学推导都好理解,只是6.2.2关于“最大化导致高估”说明中提到的下图中的公式难以理解,而且也没有查找到相关证明资料:

image

3.5 添加相关概念

王老师您好,本书P35 提到Model Free 和 Model Based,可否描述一下这两者的区别呢?
考虑到部分读着不知道这个概念。
(仅此建议)

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.