淘优惠

淘优惠

强化学习怎么入门好?

热门文章 0

淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】


最近在做一个跟强化学习有关的项目,在csdn等网站上了解了MDP,值函数等基本知识,接着学习Q学习、Sarsa等算法,但是感觉有些囫囵吞枣,有没有比较好的入门方法打好基础呢

  • 《Reinforcement Learning : An introduction》
    • 提到强化学习,就不得不提这本书了,这是强化学习的奠基人Sutton历时多年,几经修改撰写的强化学习领域最经典的书,如果能够将该书从头到尾啃下,基本能够对强化学习有一个全面和深入的认识了。且书籍是最直接的养料,可以避免其他专栏和博客中作者见解上难免的偏颇,摒除各方解读的杂音,亲身理解,深入思考,把片段化的东西组成一个完整的体系。
    • 但需要说明的是500+页全英文,要完全啃下来还是有一点难度的,请做好心理和时间上的准备。第二版英文版官方书籍与相关代码链接
    • 中文版第二版由上交俞凯教授等翻译,网上已经可以买到了
  • 强化学习知识大讲堂
    • 该专栏作者即为《深入浅出强化学习:原理入门》一书的作者,专栏的讲解包括:入门篇、进阶篇、前沿篇和实践篇,深入浅出,内容翔实,是专门针对强化学习的知识大讲堂。
  • 智能单元
    • 该专栏涵盖的内容较广,主要包括深度学习和强化学习及其相应的实践应用,是知乎上深度学习和强化学习领域关注量最大的专栏,其中对强化学习的介绍也较浅显易懂。
  • 神经网络与强化学习
    • 该专栏主要是作者关于强化学习经典入门书籍《Reinforcement Learning : An introduction》的读书笔记,因此,非常适合在啃该书的时候参考该专栏,以有更深入的理解。
  • 强化学习
    • 该专栏介绍的是传统强化学习的基础内容,包括强化学习的概念和基本方法,讲的非常细致,可以作为强化学习的初步入门选择。
  • 深度强化学习
    • 该专栏介绍了几个经典和常用的深度强化学习方法,包括伪代码的介绍和详细的图解,对于理解训练过程非常有帮助,真心推荐,作为深度强化学习的初步入门选择。
  • AlphaGo项目负责人David Silver: Teaching
  • 加州大学伯克利分校: CS 294 Deep Reinforcement Learning, Spring 2017
  • 卡内基梅隆大学: Deep RL and Control
    • 以上为国外英文视频教程,因为并未看过,因此不便做评价
  • 全面的机器学习视频教程:莫烦Python
    • 莫烦python是一个很全面的机器学习教学视频网站,包括python学习、机器学习、强化学习、深度学习和相关实践教程。作者是一位博士,周沫凡,而且人很亲切友善,听他的课是一种享受。
  • 莫烦python强化学习教程全部代码
  • github上强化学习star数最多的代码
  • Sutton书对应的python代码
  • 对于强化学习的学习,首推无疑是Sutton的书籍,但需要在有较好英语水平和较多时间的前提下,对于纯小白,不建议直接学习该书籍,可以先通过阅读专栏对强化学习有一个初步认识之后再啃,啃的同时一定要结合莫烦python的强化学习代码,尝试着边学边敲。
  • 专栏渐近学习路径:强化学习-博客专栏――强化学习知识大讲堂-知乎专栏――深度强化学习-博客专栏――智能单元-知乎专栏

以上为对自己强化学习的学习过程的总结,无利益相关,希望能让你在强化学习的学习之路上少走一些弯路

做了近两年的RL,提供一个渐进式的学术和项目的学习路线,以及学习工具 :)Summary: 1-10是基础知识,11是用于学习和实践的开源项目,12-15是RL里学术topic。

1. 区分强化学习/有监督学习/无监督学习- 这是三种不同的训练方式,核心区别在于loss的设计。- 三者可用于同一 task,就像锤子和砍刀都可以用于砸钉子。- task 选用哪一种工具,取决于获取 loss 所需数据的性价比。比如风格转移,使用Discriminator 判断 sample 是否属于目标域,显然优于一一标记数据集后进行有监督学习。

2. 区分 Return(s,a) 和 reward(s,a)- reward(s,a) 是 environment 在状态s下,对行为a的单步奖励值。- Return(s,a) 是 在状态s下,对往后n步的奖励值的组合。-- n {0, 1, .... \\infty }-- 组合方式常用discounting, 详见 Sutton 书 3.3章。

3. 区分 Return,Q , V (value)和A(Advantage)- Q(s,a)==Return(s,a)- - -- 用A值更新policy会更稳定4. 区分 policy 和 Q/V/A- 在状态 s 下,policy 选出用于与环境交互的行为 a。- policy 选择行为 a 的依据是 Q(s,a) / V(s') ( 在状态 s 下执行 a 后转移到状态 s')--- policy 1: argmax(Q(s,a)) --- policy 2: sample from distribution- Q(s,a) / A(s,a) / V(s') 的更新依赖于policy

5. 区分MC, DP, n-steps TD, GAE-- DP 是已知 s,a->s'的状态转移概率,直接计算被估计值-- MC 和 TD 都是通过采样估计值

-- MC 估计的样本全部来自采样,n-step TD 估计在第n步时使用估计值(有偏)-- GAE 是对 n-steps TD 估计 Advantage值 的优化,将不同n值的TD 估计以decay的方式糅合在一起

6. 区分 policy-based 和 value-based- 上述 policy 1 中的policy是固定的,因此为 value-based。- 上述 policy 2 需要更新policy的分布,因此为 policy-based。

7. 区分离散和连续- 理论上,在确定的 policy 下( eg, max ),可采样估计出所有的 Q/V, eg, Q-learning--- 离散 environments: grid world (github上很多,后续我也会开源一个 : )- 实际上,当状态空间连续(eg, Atari),或状态和行为空间均连续(eg, Mujoco)时,估计所有 Q/V成本过高,无法实现,因此引入DNN进行近似(DQN, DDPG)--- 连续 environments: open AI gym

8. 区分online和offline- online是线上训练,即便使用模型,边训练模型。- offline是线下训练,即使用训练好的模型。

9. on-policy和off-police- on-policy指,计算Return时所采用的sample,均由policy采样所得。- off-police指,计算Return时所采用的sample,并非由policy采样所得。- 对比Q-learning(off-police)和SARSA(on-policy)可以更直观地看出二者的差异。

左(q-learning), update Q时直接用的max Q(s’, a’),右(SARSA),使用采样的Q(s’, a’)

10. 区分 model-free 和 model-based - 此处 model 指 environment。 - 显然,上述所有内容,均将environment视为黑盒,故为 model-free - 易得,学习 environment (比如 s,a 到 s' 的转移规则)的算法属于 model-based。

11. OpenAI baseline- 掌握了1-9的基础知识后,就可以逐个学习baseline里的算法啦~- RL的基础算法均有被baseline实现,可以边看paper边看code,有利于更快地掌握~- 以后我会补充上baseline的代码解读~

12. 理解 exploration重要,待补充

13. 理解 tradeoff variance and bias重要,待补充14. 理解 POMDP见:花潇:POMDP 基础及其在 Crowd 场景中应用

15. 理解 multi-agents重要,待补充

更多强化学习文章: 什么名字可以吸粉:RL & MCTS - 并行训练 什么名字可以吸粉:POMDP 基础及其在 Crowd 场景中应用 什么名字可以吸粉:Distributional Reinforcement Learning

强化学习研究型实习生长期招聘: 什么名字可以吸粉:ALi-DAMO-自动驾驶-研究型实习-多岗位持续招聘 (RL/Prediction/GAN...)

谢谢你的点赞~您的点赞是我写作的动力~

写过一篇相关的文章:

吴海波:强化学习入门简述
In a nutshell, RL is the study of agents and how they learn by trial and error. It formalizes the idea that rewarding or punishing an agent for its behavior makes it more likely to repeat or forego that behavior in the future.

近期在业务上尝试了一些RL相关的技术,相对于深度学习,RL在知乎上资料明显偏少。分享一些优秀的资料给有兴趣的同学。

RL有很多新的概念,最核心的四元组:

: Action space : A State space : S Reward: R : S × A × S → R Transition : P :S × A → S

以及我们常说的Value-base和Policy-base、model-base和model-free、stochastic policy和deterministic policy等等。下图能更好的描述:

一上来就看Sutton的大作容易迷失在知识的海洋中。在面对一个未知领域时,如果能从一个麻雀虽小五脏俱全的demo开始入手,怎么容易的多。缩短学习过程和反馈的路径,有助于提高学习效率。

首推莫烦的RL教程 非常通俗易懂的入门教程,覆盖了目前RL的主要算法,从最简单的Q Learning开始,到DQN、PPO以及后面的Actor-critic算法,而最关键的是每一篇都很短。

通过动手实现一个个demo,快速熟悉常用的RL算法,比如,一个常见的RL大概有以下几个部分:

class DeepQNetwork:           def init # 初始化      def _build_net(self): #创建一个网络来预估action或者其他          def store_transition(self, s, a, r, s_):      # 存储训练过程中的表现        def choose_action(self, observation):      # 如何选择一个action        def learn(self):      # 参数如何更新

同时,结合OpenAI的Spinning up的教程,特别是他的Introduction部分:

1. Key Concept in RL

2. Kinds of RL Algorithms

3. Intro to Policy Optimization

仔细的去理解RL中的核心概念。

Whatever the choice of return measure (whether infinite-horizon discounted, or finite-horizon undiscounted), and whatever the choice of policy, the goal in RL is to select a policy which maximizes expected return when the agent acts according to it.

RL的问题,最终要去思考怎么定义采取动作后的reward和最大reward的差异,以及我们用什么方法更新参数。

在Q Learning中,有一张大表,记录了所有state对应action的value,我们需要做的是通过样本学习表中每个单元格的value,让reward最大。

在大多数情况下,这个表会大的不可接受。在DQN中,用一个NN去替代了查表的操作。再通过experience reply解决机器学习要求独立同分布的问题,用固定参数的方式,一个网络输出Q估计和Q现实,二者的diff作为loss去更新参数。

另一种思路是直接优化policy,还是用NN去输出policy。问题转化为如何更新NN的参数,分为stochastic和deterministic,其中stochastic需要采样,计算量更大,比如PPO。而大神David Silver在14年的论文Deterministic Policy Gradient Algorithms(DPG)证明了DPG的策略梯度公式,其后的DDPG更是大行其道。

自然而然的,出现了融合Value和policy的思想的算法。Actor-critic算法,其中Actor代表了Policy Gradient,而Critic代表了Value base的。其中代表算法为A3C,是目前state of art的算法之一。

走完上面的路程之后,只是简单过了遍概念。接着要老老实实的去啃Sutton的大作,结合David Silver的课,有助于消化。同时,还要深入到实际工作中在业务上落地。

最后,引用下侯捷老师的一段话,与诸君共勉:

作为一个好的学习者,背景不是重点,重要的是,你是否具备正确的学习态度,起步固然可以从轻松小品开始,但如果碰上大部头巨著就退避三舍、逃之夭夭,面对任何技术只求快餐速成,学语言却从来不写程序,那就绝对没有成为高手乃至专家的一天。 有些人学习,自练就一身钢筋铁骨,可以在热带丛林中披荆斩棘,在莽莽草原中追奔逐北。有些人的学习,既未习惯大部头书,也为习惯严谨格调,更未习惯自修勤学,是温室里的一朵花,没有自立自强的本钱。

已经有了不少回答,不甚满意。

  • 一是很多都是罗列书籍文章,AI领域理论、算法革新太快,容易把新手搞懵;
  • 二是内容太简陋,无法仿照执行,不能实战。

入门思路应该是这样,我就是这样入门的:

  1. 认识各种强化学习词汇,了解强化学习各种算法发展脉路,建立整体框架概念;
  2. 学习基本的理论,最好中文,便于理解透彻;
  3. 上手写代码,做出视觉demo,形成对强化学习算法的直观感觉;
  4. 系统学习基础理论。

前三步做完,就算入门了,现在我们来一个一个说

这一步比较容易,先看看各种概念,以及其之间的各种关系,不要深究。

可以参考这篇文章:

Part 2: Kinds of RL Algorithms

也可以看下我之前整体的强化学习算法演进的脉路,不尽完善,大体可看:

强化学习入门的理论核心就是学习强化学习四要素、策略迭代和策略梯度两种强化学习思考方式,看中文书就够了:

  1. 周志华老师的《机器学习》中的强化学习章节,它对强化学习基础概念以及策略迭代介绍的很详细,看完这一节基本就理解了强化学习的一些基本概念,策略迭代中涉及的思想,以及逐步演进的逻

    强化学习教程1:从马尔可夫,动态规划到强化学习

    动态规划和马尔可夫链,动态规划与马尔科夫链关系,马尔可夫模型的含义,马尔可夫模型理解

    本文从RL的基本知识讲起,参考了open ai的RL introduction;然后讲了一部分RL的渊源,如早期MDP,POMDP,以及用dynamic programming的方法进行解的方案,参考了UCL的RL课程。后续还会继续跟踪这门课程,讲RL的一些方法。

    先讲讲RL的基本概念。

    states:complete description of the state of the world

    observation:partial description of a state, which may omit information.

    在RL中,action应该是取决与state的,但是由于agent不能完全观察到state,所以实际上是取决与observation 的

    取决于具体的环境,有discrete action spaces,也有continuous action spaces

    a rule used by an agent to decide what actions to take。policy是agent的大脑,agent可以直接用policy来替代。同时我们的policy是带参数可训练的,一般用 来表示

    可以是derministic的,写作

    也可以是stocastic的,写作

    从这两种policy的命名上就能大概猜出他们的不同,一个是决定性的,只与之前的状态有关;另一个则是带有随机的,有一个sample的步骤。deterministic往往要求有full observation。

    policy的设计就可以直接用神经网络来做就行,输入一个observation ,输出一个policy。如

    pi_net = nn.Sequential(                nn.Linear(obs_dim, 64),                nn.Tanh(),                nn.Linear(64, 64),                nn.Tanh(),                nn.Linear(64, act_dim)              )

    关键在于两个步骤

    1.从policy中sample actions

    2.计算action的对数似然

    分类上可以分为

    • Categorical policiesdiscrete action spaces

    sample的过程直接利用tf.multinomial函数就可以(多项式概率),按照每个action的概率进行sample。求似然的过程可以直接利用一个classifier神经网络。

    • diagonal Gaussian policies :continuous action spaces.

    多元高斯分布的特殊形式,即协方差矩阵只有对角线有值(意味着相互独立?)。多元高斯分布的核心在哪儿呢?自然是均值和方差,所以接下来讨论均值和方差如何得到。

    1. 我们需要一个神经网络先将observation映射到一个mean action
    2. 对于协方差矩阵 ,一个自然的想法也是利用神经网络来映射一个,当然着神经网络可以和上述均值那个有一定layer的重合。
    3. 有了均值和方差,接下来就是如何sample出action了。我们可以先随机冲球形高斯分布中sample出一个noise ,然后action的sample就直接利用均值方差和随机向量 得到

    然后对sample出的action算他们的对数似然

    用来代替states和actions的sequence

    其中 是sample自初始状态分布。状态在下一个时刻有多种决定方法,如上述讲的policy,可以是deterministic的,也可以是stocastic的。

    reward的完整形式可以表述为

    但是在实际运用中,我们会考虑更加简单更加独立的形式,如只与当前状态 有关,或者只与 有关。一条路径 所带来的cumulative reward可以用 进行表示。计算这条行动路径的reward可以有两种方式,一种就是在固定的window size长度为T下直接求和,

    另一种则是算无限长度下的discounted return。

    这种衰减是十分有用的,直觉上十分相符,我们更加关注当前信息;同时也容易计算。

    从上述问题建模,RL的目标就是最大化expected return。以状态和环境都是stocastic为例,即环境我们也是无法完全预料的(如王者荣耀,不知道后面敌人会干嘛),只有一个概率。即从当前状态开始,利用policy后决定的所有可能的行动路径trajectory 所得到的return。

    接下来T个时间步为例,那么走某条行动路径 的概率为

    那么expected return就可以加权求和了

    所以问题就变成了最优化这个policy

    value function其实就是用来计算上述提到的expected return的,定义也是一样的。

    其中又分为

    其实本质都是一样的,Q和V两个的区别只是在于当前state是否有相应的action,V就是所有当前所有action导致的Q的加权。

    这个联系方式也是和1.6节中定义的optimization problem一致,即以当前状态为起点,所有action的expected return,只是换了一种写法,表示所有的路径 换成了随时间的V-Q关系。可以看出着形成了一个递推关系,V由Q决定,Q又由下一个时间步的V决定....

    在1.7中我们已经可以隐隐看到点随时间递推的痕迹了,而bellman equation就是这种formal的defination。可以推导一下:

    只要第一次初始化后,每次更新都有一个链式法则的东西在做这样一个discount的事情。注意对每个 的更新时都是基于前一个状态步的state信息,需要等当前状态步 所有state全部更新完成后再统一关系状态图中的信息。所以我们可以得到:

    就是服从policy给每个action的概率, 就是服从采取action后环境给出的下一个状态概率。显而易见,在环境和policy都不定的情况下这个期望公式是完美服从的。

    同理, 也是如此

    自然optimal value也能容易推导出来,这两个方程揭示了一个重要的道理:如果我们要获得最大的expected return,那么我们每一步都选择当下最优的就行同时,这个方程优化的是在average水平上最优的action选择,而不是绝对意义上最优的

    MDP可以说是RL的基础。从之前RL的value function也可以看出,RL考虑state的时候,下一个state只与当前的state有关,而不会考虑prior states。这就是MDP的思想。

    Markov Property: the effects of an action taken in a state depend only on that state and not on the prior history

    其余的理论MDP基本都体现在RL的value function和和Bellman Equation中了。

    如上图所示,就是Markov Chain和Transition Matrix的代表。

    实际上,bellman方程是可以直接解的,先用matrix形式写出表达式

    写成matrix的形式是比较巧妙的,而且非常方便进行解。

    其中 矩阵为转移矩阵,那么数值解value向量就可以直接解出,但是复杂度是 ( 个states)。而我们要求的policy,就是在所有的policy中找到使得 最大的那个

    整个过程可以看到是一个非线性不断迭代的过程,无法得出一个closed-form的解析解,只能通过迭代得到数值解。

    closed-form solution:通常我们把解析解analytic solution称为这个,即可以利用显示的数学表达式表达出结果的。numerical solution:数值解,即在数值分析中可以通过迭代等方法求出的解。

    迭代方法就很多了,如

    • Value Iteration
    • Policy Iteration
    • Q-learning
    • Sarsa

    定义:A Partially Observable Markov Decision Process is an MDP with hidden states. It is a hidden Markov model with actions.

    上述讲到的MDP是fully observation情况下的,现实情况下更多是无法完全观测到环境的,所以有一个新的观测变量 。这其实和隐马尔可夫HMDP很像,都有hidden states,但是加入了action。

    左边是根据action和observation得到的历史状态树,右边是根据action和observation得到的belief state树

    A belief state b(h) is a probability distribution over states, conditioned on the history h

    动态规划最主要的需要两个key idea

    • optimal substructure:最优子结构
    • overlapping subproblem:重叠子问题

    而我们再bellman方程中看到的递归方程式恰好满足这两个条件,所以可以用dp解决。当然,我们有policy和value这两个东西,解决的问题当然就是知道其中一个然后求出另外一个,如知道policy要求出value,就称为policy evaluation。

    • Problem: evaluate a given policy π
    • Solution: iterative application of Bellman expectation backup

    一个简单的例子如上图,用一个greedy的方法每次根据新的value确定新的policy,然后不断迭代的过程。不过一个好的policy不需要迭代到收敛因为会耗费太多时间,实际中我们可以提前截断迭代过程,但是不影响它是优的policy。

    一个迭代的policy iteration的过程可以再下图中展现,policy和value的不断迭代。

    • Problem: find optimal policy π
    • Solution: iterative application of Bellman optimality backup

    但是和policy iteration不同的是,并没有显示的policy。并不像policy iteration那样,有value和policy的不断相互迭代和改进,value iteration是直接迭代value的。

    因为都是用的最优的参数,一个简单的例子如下

    每次我们挑选最大的 ,然后不断iterate这value。

    同步的DP来做就是之前讨论的,需要同时更新所有的state,每次都是等所有的state的状态都更新了然后统一更新。这意味着我们需要backup上一次所有的state状态。

    在实际操作中,可以不用backup,称为In-place DP,不保留上一次的状态,利用实时更新后的state状态进行更新。

    但是上述更新的一个缺点就每一轮迭代我们需要更新所有state的状态。因此还有一种称为Real-Time DP,只更新与阿根廷相关的state。

    当然,在传统DP中,只适合处理问题规模不大的问题。state过多的话,需要的backup成本太高了,可以利用sample backup的方法,即只sample一部分。

    我们可以看到,像sample这种MDP的东西是如何演化为RL的一部分并进行发展的。



    强化学习路线图


    人工智能是21世纪最激动人心的技术之一。人工智能,就是像人一样的智能,而人的智能包括感知、决策和认知(从直觉到推理、规划、意识等)。其中,感知解决what,深度学习已经超越人类水平;决策解决how,强化学习在游戏、机器人等领域取得了一定效果;认知解决why,知识图谱、因果推理、持续学习以及脑机融合等正在研究。

    强化学习,采用交互试错学习的方式求解序贯 决策 问题,因此必然是通往通用人工智能的终极钥匙。其中,AI 1.0是符号学派, AI 2.0是联结学派,AI 3.0是什么呢?我认为,不管是结合也好,另辟蹊径也好,必然离不开行为学派和强化学习,因为这是自然智能的学习方式。我特别喜欢强化学习,深深被其框架所吸引,智能体通过与环境交互来成长,这不就是生命的进化规律嘛!

    个人作为一名AI独立研究员,一路也是通过论文、知乎、b站、GitHub、公众号和各类博客等学习过来,非常感谢网络时代大家的分享,同时将自己在强化学习方面的经验总结整理分享,既是方便自己学习,也希望能帮助一点刷到这条知乎的朋友们。当然,强化学习也面临很多问题,希望我们一起解决,让强化学习变得更好![1]

    1.1 腾讯_周沫凡_强化学习、教程、代码 ★★★★★[2]

    • 短小精悍,入门级,我的代码框架跟凡哥学的
    【莫烦Python】强化学习 Reinforcement Learning_哔哩哔哩_bilibili莫烦Python

    1.2 台大_李宏毅_深度强化学习(国语)课程(2020)、PPT、笔记 ★★★★★

    • 通透,有趣,专业,启发
    李宏毅2020机器学习深度学习(完整版)国语_哔哩哔哩_bilibili李宏毅深度强化学习(国语)课程(2018)_哔哩哔哩_bilibiliHung-yi Lee【笔记2-1】李宏毅深度强化学习笔记(一)Outline_cindy_1102的博客-CSDN博客

    1.3 DeepMind_David Silver_UCL深度强化学习课程(2015)、PPT、笔记及代码

    【中文字幕】David Silver深度强化算法学习 +项目讲解_哔哩哔哩_bilibiliDavid Silver的强化学习视频的相关ppt

    1.4 UC Berkeley_Sergey Levine_CS285(294)深度强化学习(2019)、PPT、代码

    伯克利课程:深度强化学习 (2019) by Sergey Levine_哔哩哔哩 (b-b)つロ 干杯~-bilibili

    1.5 Stanford_Emma Brunskill_CS234: Reinforcement Learning | Winter 2019

    【 强化学习课程:2019斯坦福大学最新强化学习课程:CS234 】CS234: Reinforcement Learning | Winter 2019(合辑_哔哩哔哩 (b-b)つロ 干杯~-bilibili

    2.1 强化学习圣经_Rich Sutton_中文书、英文电子书、代码 ★★★★★

    • 基础,难啃,经典,有助于理解强化学习精髓
    《强化学习(第2版)》([加]RichardS.Sutton、[美]AndrewG.Barto)【摘要 书评 试读】- 京东图书Reinforcement Learning: An Introduction

    2.2 深入浅出强化学习:原理入门 ★★★★★

    • 我的第一本入门书,透彻
    《深入浅出强化学习:原理入门(博文视点出品)》(郭宪,方勇纯)【摘要 书评 试读】- 京东图书

    2.3 深度强化学习落地方法论_WYJJYN ★★★★★

    • 理解深刻,落地方法论
    《深度强化学习落地指南(博文视点出品)》(魏宁)【摘要 书评 试读】- 京东图书

    2.4 Python深度学习:基于PyTorch[Deep Learning with Python and PyTorch]★★★★

    • 思路简洁、清晰,内容经典、精华,深度强化学习的PyTorch深度学习基础
    《Python深度学习:基于PyTorch》(吴茂贵,郁明敏,杨本法,李涛,张粤磊)【摘要 书评 试读】- 京东图书

    2.5 Python强化学习实战_Sudharsan Ravichandiran、代码 ★★★

    • 上手快,代码清晰
    《Python强化学习实战:应用OpenAI Gym和TensorFlow精通强化学习和深度强化学习》([印度]苏达桑・拉维尚迪兰(Sudharsan,Ravichandiran))【摘要 书评 试读】- 京东图书AndyYue1893/Hands-On-Reinforcement-Learning-With-Python

    2.6 Reinforcement Learning With Open AI TensorFlow and Keras Using Python_OpenAI

    • 注重实战(提取码: av5p)

    3.1 莫烦Python ★★★★★

    • 通俗易懂,快速入门
    莫烦Python

    3.2 OpenAI Spinning Up英文版、中文版、介绍by量子位 ★★★★★

    • 字字精华,不解释,包括原理、算法、论文、代码
    Welcome to Spinning Up in Deep RL!

    推荐以下个人实现参考,先上手,然后转到官方算法库(为追求复用性使代码结构复杂化):

    4.1 sweetice

    • 我很喜欢,简洁,清晰,干净
    AndyYue1893/Deep-reinforcement-learning-with-pytorch

    4.2 p-christ

    • 17种经典算法
    github.com

    4.3 张楚珩

    zhangchuheng123/Reinforcement-Implementation请问DeepMind和OpenAI身后的两大RL流派有什么具体的区别?

    三大经典算法:DQN,DDPG,A2C/A3C;

    当然首推还是PPO (on-policy policy based, clip+GAE),优点:stable

    集大成是SAC (off-policy actor-critic maximum entropy RL with a stochastic actor),优点:sample efficiency,robust,automatically tunes the temperature hyperparameter,accelerate training and improve stability;

    大规模分布式学习用DPPO,IMPALA。

    强化学习中on-policy 与off-policy有什么区别?

    5.1 DQN(连续状态、离散动作,off-policy,value-based)

    Mnih. Volodymyr, et al. "Human-level control through deep reinforcement learning." Nature 518.7540 (2015): 529. (Nature版本)

    5.2 DDPG(连续状态、连续动作,off-policy,policy-based/actor-critic偏Q-learning)

    David. Silver, et al. "Deterministic policy gradient algorithms." ICML. 2014.

    5.3 A2C / A3C(连续状态、连续动作,on-policy,policy-based/actor-critic)

    Mnih. Volodymyr, et al. "Asynchronous methods for deep reinforcement learning." International conference on machine learning. 2016.

    (PDF) Asynchronous Methods for Deep Reinforcement LearningOpenAI Baselines: ACKTR & A2C

    6.1 OpenAI Gym

    6.2 Mujoco

    MuJoCo

    6.3 通用格子世界环境类

    Gridworld with Dynamic ProgrammingfmxFranky:目前最好用的大规模强化学习算法训练库是什么?

    7.1 OpenAI Spinning Up Code

    • 入门,靠谱
    GitHub - AndyYue1893/spinningup: An educational resource to help anyone learn deep reinforcement learning.

    7.2 Stable Baselines3 (SB3)

    • 科研,PyTorch和TF实现代码
    • 快速跑起来,不碰算法实现细节
    Stable-Baselines3 Docs - Reliable Reinforcement Learning ImplementationsDLR-RM/stable-baselines3

    7.3 RAY/RLlib

    • 生产,工业级,未来
    RLlib: Industry-Grade Reinforcement Learning

    7.4 OpenAI Baselines & Stable Baselines

    • 集成度高,经典必读,好像不更了
    hill-a/stable-baselines

    7.5 百度 PARL

    • 扩展性强,可复现性好,支持国产

    7.6 清华 tianshou

    • fast-speed modularized framework and pythonic API
    • 完美复现paper结果
    thu-ml/tianshou

    8.1 Spinning Up推荐论文 ★★★★★

    8.2 清华张楚珩 ★★★★★

    8.3 paperswithcode ★★★★

    Browse state-of-the-art in ML

    9.1 Reinforcement learning_Nando de Freitas_DeepMind_2019

    9.2 Policy Optimization_Pieter Abbeel_OpenAI/UC Berkeley/Gradescope

    10.1 会议:NIPS、AAAI、COLT、ICML、ICLR、IJCAI、AAMAS、IROS等

    10.2 期刊:AI、TPAMI、JMLR、JAIR、TNNLS、Machine Learning、JAAMAS等

    10.3 计算机和人工智能会议(期刊)排名

    人工智能-中国计算机学会清华发布新版计算机学科推荐学术会议和期刊列表,与CCF有何不同?AMiner 验证码

    11.1 深度强化学习实验室 ★★★★★

    11.2 机器之心

    11.3 AI科技评论

    11.4 新智元

    12.1 用户

    曾伊言、董豪、Flood Sung、田渊栋、周博磊、俞扬、张楚珩、天津包子馅儿、JQWang2048 等等

    12.2 专栏

    David Silver强化学习公开课中文讲解及实践(叶强,比较经典)

    强化学习知识大讲堂(《深入浅出强化学习:原理入门》作者天津包子馅儿)

    智能单元(杜克、Floodsung、wxam,聚焦通用人工智能,Flood Sung:深度学习论文阅读路线图 Deep Learning Papers Reading Roadmap很棒,Flood Sung:最前沿:深度强化学习的强者之路)

    深度强化学习落地方法论(西交 大牛,实操经验丰富)

    深度强化学习(知乎:JQWang2048,GitHub:NeuronDance,CSDN:J. Q. Wang)

    神经网络与强化学习(《Reinforcement Learning: An Introduction》读书笔记)

    强化学习基础David Silver笔记(陈雄辉,南大,DiDi AI Labs)

    13.1 Lil(OpenAI) ★★★★★

    Lil'Log

    13.2 草帽BOY

    CSDN-专业IT技术社区-登录

    13.3 J. Q. Wang

    CSDN-专业IT技术社区-登录

    13.4 Andrej Karpathy(李飞飞高徒,Tesla AI和Autopilot Vision 部门主管)

    Andrej Karpathy blog

    13.5 Keavnn

    Keavnn'Blog

    13.6 大卜口(谷歌大脑研究科学家 David Ha)

    大トロ

    14.1 OpenAI

    OpenAI

    14.2 DeepMind

    14.3 UC Berkeley

    The Berkeley Artificial Intelligence Research Blog