强化学习是一种机器学习范式,通常用于让机器自主进行决策和学习。以下是一些强化学习的应用:
Reinforcement Learning
[原创] 强化学习框架 rlpyt 源码分析:(1) 随处可见的Python可变参数
查看关于 rlpyt 的更多文章请点击这里。
rlpyt 是BAIR(Berkeley Artificial Intelligence Research,伯克利人工智能研究所)开源的一个强化学习(RL)框架。我之前写了一篇它的简介。 如果你想用这个框架来开发自己的强化学习程序(尤其是那些不属于Atari游戏领域的强化学习程序),那么需要对它的源码有一定的了解。本文尝试从 rlpyt 自带的一个实例来分析它的部分源码,希望能帮助到一小部分人。
要先声明一下:rlpyt 的源码比较复杂,想要充分理解全部模块需要下很大的功夫,本系列“源码分析”文章,并没有把 rlpyt 的源码全部分析一遍,而只是分析了它的“冰山一角”,主要目的是让读者能了解它的基本结构及基本运作方式。
[原创] 强化学习框架 rlpyt 源码分析:前言
查看关于 rlpyt 的更多文章请点击这里。
rlpyt 是BAIR(Berkeley Artificial Intelligence Research,伯克利人工智能研究所)开源的一个强化学习(RL)框架。我之前写了一篇它的简介。 如果你想用这个框架来开发自己的强化学习程序(尤其是那些不属于Atari游戏领域的强化学习程序),那么需要对它的源码有一定的了解。本文尝试从 rlpyt 自带的一个实例来分析它的部分源码,希望能帮助到一小部分人。
要先声明一下:rlpyt 的源码比较复杂,想要充分理解全部模块需要下很大的功夫,本系列“源码分析”文章,并没有把 rlpyt 的源码全部分析一遍,而只是分析了它的“冰山一角”,主要目的是让读者能了解它的基本结构及基本运作方式。
[原创] 强化学习里的 horizon 是指什么
horizon 这个词在各种强化学习教程里出现的频率不算高,但它也是要了解的一个概念。
先查词典:
n. 地平线;视野;眼界;范围
[原创] 伯克利人工智能研究所的开源[强化学习框架] rlpyt,让人眼前一亮
BAIR(Berkeley Artificial Intelligence Research,伯克利人工智能研究所),开源了一个强化学习(RL)框架 rlpyt,并于2019.09.24在其主页上对它进行了很长篇幅的介绍(论文在这里)。
市面上开源强化学习框架已经很多了,这个框架是否值得你上车?我认为,未来怎样不好说,但至少现在(2019.10)看来是值得入手的,因为它确实有其他框架不具备/不完善的功能——最主要的就是对并行(parallelism)的良好支持。
在强化学习领域,agent与environment互动来收集training data的过程是最耗时的,如果能并行地用多个agent与多个environment互动来收集数据,那么速度可以极大提升。类似于Google Dopamine这样的RL框架,根本没有把 parallelism 作为设计理念的一部分,所以如果你入了Dopamine的坑,等你对模型训练速度有要求的时候再想着换框架,成本就高多了。
[原创] 强化学习里的 on-policy 和 off-policy 的区别
强化学习(Reinforcement Learning,简称RL)是机器学习的一个领域,刚接触的时候,大多数人可能会被它的应用领域领域所吸引,觉得非常有意思,比如用来训练AI玩游戏,用来让机器人学会做某些事情,等等,但是当你越往里看,就会发现跟传统机器学习相比,RL里面的名词简直太多了吧!多到完全可以绕晕人。比如RL里经常会提到的agent,environment,episode(rollout),policy,on-policy,off-policy,state,trajectory,reward,replay buffer,model-based,model-free,MD,TD,PG,AC,等等。强化学习的高手对这些词很熟悉,但对新手来说可能就很痛苦。
在RL领域,on-policy和off-policy是两个非常重要的概念,这两个词,把RL方法分成了两个类别。你可以从网上搜到很多很人提问on-policy的强化学习方法和off-policy的强化学习方法有什么区别,作为一个智商相当平庸的人,鬼知道我当初看了多少教程才认为自己大概搞清楚了它们之间的区别。
所以我在这篇文章里想把自己的肤浅理解分享出来,希望能帮助到少部分人。