【强化学习小白之路】
文章平均质量分 86
针对强化学习reinforcement learning这一AI技术,由浅入深地学习。
xl.zhang
熟悉JAVA的WEB编程、大数据编程和分布式机器学习。
展开
-
强化学习实践八:DQN的实现
本文将带您一起实践深度学习与强化学习联合解决问题的一个经典算法:深度Q学习网络(DQN)。深度学习算法在强化学习领域的应用主要体现在价值函数或策略函数的近似表示上,理解了这一点将有助于您直击深度强化学习问题的本质。正因为如此,我们也可以使用不基于深度学习的其他函数近似工具。这里贴一些别人已经写好的基于深度学习算法的一些链接:borgwang/reinforce_py用不同的机器学习库实现...转载 2019-05-29 21:42:16 · 5552 阅读 · 0 评论 -
David Silver强化学习公开课(九):探索与利用
本讲系统地介绍了在强化学习领域如何有效地进行探索,给出了几类探索算法,通过引入后悔值,借助多臂赌博机这一与状态无关的示例从理论上论述了相关算法的有效性,随后很简单地介绍了将其扩展至与状态相关学习问题和这些算法如何具体应用于解决MDP问题。本讲的一些算法在之前的讲解中或多或少有所涉及,本章偏重于从一些统计理论角度出发给出一些探索方法的有效性证明。简介 Introduction探索和...转载 2019-05-15 16:06:35 · 2682 阅读 · 0 评论 -
David Silver强化学习公开课(八):整合学习与规划
本课程之前所有的内容都没有提及到个体如何构建一个模拟环境的模型,自然也没有讲解个体构建一个模拟环境的模型对于解决MDP问题有何帮助。本讲即关注这两个问题。通过构建一个模型,个体具备了一定程度的独立思考能力,即在与环境发生实际交互之前思考各种可能的行为其对能带给环境及自身的改变。通过个体的思考以及联合其与环境的实际交互经验,个体在解决大规模MDP问题时可以取得更好的结果。本讲涉及的内容多属于宏观架构...转载 2019-05-05 10:15:10 · 2191 阅读 · 0 评论 -
David Silver强化学习公开课(七):策略梯度
前一讲主要讲解的是价值函数的近似,然后根据价值函数来制定策略。本讲中策略P(a|s)将从一个概率集合摇身变成函数本身π(s,a),通过借助策略相关的目标函数梯度的引导,寻找与目标函数的极值,进而得到最优策略。本讲组织架构如下:先提出价值函数在某些情况下不能很好的解决问题,同时直接基于策略的分析在某些场合具有价值函数不能替代的优点,接着引入了直接基于策略学习所需要的目标函数的设计,引入了策...转载 2019-04-21 21:02:32 · 4159 阅读 · 0 评论 -
强化学习实践七:给Agent添加记忆功能
在《强化学习》第一部分的实践中,我们主要剖析了gym环境的建模思想,随后设计了一个针对一维离散状态空间的格子世界环境类,在此基础上实现了SARSA和SARSA(λ)算法。《强化学习》第二部分内容聚焦于解决大规模问题,这类问题下的环境的观测空间通常是多维的而且观测的通常是连续变量,或者行为不再是离散的简单行为,而是由可在一定区间内连续取值的变量构成,在解决这类大规模问题时必须要对价值函数(或策略函数...转载 2019-04-16 14:06:24 · 3643 阅读 · 0 评论 -
David Silver强化学习公开课(六):价值函数的近似表示
之前的内容都是讲解一些强化学习的基础理论,这些知识只能解决一些中小规模的问题,很多价值函数需要用一张大表来存储,获取某一状态或行为价值的时候通常需要一个查表操作(Table Lookup),这对于那些状态空间或行为空间很大的问题几乎无法求解,而许多实际问题都是这些拥有大量状态和行为空间的问题,因此只掌握了前面5讲内容,是无法较好的解决实际问题的。本讲开始的内容就主要针对如何解决实际问题。本讲主...转载 2019-04-12 17:13:21 · 2527 阅读 · 0 评论 -
强化学习实践六:SARSA(λ)算法实现
在实践五中我们编写了一个简单的个体(Agent)类,并在此基础上实现了SARSA(0)算法。本篇将主要讲解SARSA(λ)算法的实现,由于前向认识的SARSA(λ)算法实际很少用到,我们将只实现基于反向认识的SARSA(λ)算法,本文后续如未特别交代,均指的是基于反向认识的SARSA(λ)。SARSA(λ)算法的实现该算法的流程图如下:其特点是需要额外维护一张E表,来衡量一个...转载 2019-03-19 21:14:09 · 3516 阅读 · 0 评论 -
强化学习实践五:Agent类和SARSA算法实现
通过前几次强化学习实践讲解,我们基本上理解了个体与环境的建模思想,特别是对gym库有了一定的了解。在本讲中,我们将尝试编写一个简单的Agent类,并且使它能够和我们之前编写的格子世界环境类进行交互。然后我们将实现SARSA算法,确切地说是SARSA(0)。我们将看看它在简单格子世界中的训练效果。由于蒙特卡洛学习和单纯的基于价值的TD学习实际应用不多,在实践环节我也不打算实现这两个算法,当然了S...转载 2019-03-13 22:46:14 · 2883 阅读 · 0 评论 -
强化学习实践四:编写通用的格子世界环境类
gym里内置了许多好玩经典的环境用于训练一个更加智能的个体,不过这些环境类绝大多数不能用来实践前五讲的视频内容,主要是由于这些环境类的观测空间的某个维度是连续变量而不是离散变量,这是前五讲内容还未涉及到的知识。为了配合解释David Silver视频公开课提到的一些示例,我参考了gym的思想设计了一个通用的格子世界环境类,该环境类的观测空间是一维离散变量,可以很好地模拟其公开课中提到的:简单格子、...转载 2019-03-06 13:09:48 · 4761 阅读 · 2 评论 -
强化学习实践三:理解gym的建模思想
David Silver的强化学习公开课有几个特点,个人感觉首要的一个特点是偏重于讲解理论,而且有时候为了讲清楚一个理论的来龙去脉,也顺带讲了很多不常用的理论;还有一个特点是小例子很多,这些例子有时候不仅是为了讲清楚一个复杂的算法,而且通过例子会加深对一些概念的理解。同样我们在学习他的课程时,也应该注重实践,因为只有通过实践,才会对理论有更深的认识,有时候会在实践中纠正自己曾经一直自己以为正确其实...转载 2019-03-05 23:30:19 · 3457 阅读 · 2 评论 -
强化学习实践二:迭代法评估4*4方格世界下的随机策略
本篇用代码演示《强化学习》第三讲中的示例——方格世界,即用动态规划算法通过迭代计算来评估4*4方格世界中的一个随机策略。具体问题是这样:已知(如上图):状态空间 S:为非终止状态;,终止状态,图中灰色方格所示两个位置; 行为空间 A:{n, e, s, w} 对于任何非终止状态可以有向北、东、南、西移动四个行为; 转移概率 P:任何试图离开方格世界的动作其位置将不会发生改变,其余条...转载 2019-03-04 20:09:28 · 3591 阅读 · 0 评论 -
强化学习实践一:Tic-Tac-Toe游戏
这里给出一个简单的强化学习例子Tic-Tac-Toe。这是一个简单的游戏,在一个3x3的九宫格里,两个人轮流下,直到有个人的棋子满足三个一横一竖或者一斜,赢得比赛游戏结束,或者九宫格填满也没有人赢,则和棋。这个例子的完整代码在我的github。例子只有一个文件,很简单,代码首先会用两个电脑选手训练模型,然后可以让人和机器对战。当然,由于这个模型很简单,所以只要你不乱走,最后的结果都是和棋,当然...转载 2019-01-14 16:48:08 · 14345 阅读 · 0 评论 -
David Silver强化学习公开课(五):不基于模型的控制
某种程度上来说,这个课程所有的内容最后都会集中于本讲内容,通过本讲的学习,我们将会学习到如何训练一个Agent,使其能够在完全未知的环境下较好地完成任务,得到尽可能多的奖励。本讲是基础理论部分的最后一讲,本讲以后的内容都是关于实际应用强化学习解决大规模问题的理论和技巧。本讲的技术核心主要基于先前一讲以及更早的一些内容,如果对先前的内容有深刻的理解,那么理解本讲内容将会比较容易。 简介 In...转载 2018-11-19 19:41:43 · 3689 阅读 · 3 评论 -
David Silver强化学习公开课(四):不基于模型的预测
简介 Introduction通过先前的讲解,我们明白了如何从理论上解决一个已知的MDP:通过动态规划来评估一个给定的策略,并且得到最优价值函数,根据最优价值函数来确定最优策略;也可以直接进行不基于任何策略的状态价值迭代得到最优价值函数和最优策略。从本讲开始将花连续两讲的时间讨论解决一个可以被认为是MDP、但却不掌握MDP具体细节的问题,也就是讲述如何直接从Agent与环境的交互来得到一个...转载 2018-11-13 16:08:18 · 2336 阅读 · 0 评论 -
David Silver强化学习公开课(三):动态规划寻找最优策略
本讲着重讲解了利用动态规划来进行强化学习,具体是进行强化学习中的“规划”,也就是在已知模型的基础上判断一个策略的价值函数,并在此基础上寻找到最优的策略和最优价值函数,或者直接寻找最优策略和最优价值函数。本讲是整个强化学习课程核心内容的引子。 简介 Introduction动态规划算法是解决复杂问题的一个方法,算法通过把复杂问题分解为子问题,通过求解子问题进而得到整个问题的解。在解决子问...转载 2018-10-31 09:44:19 · 4564 阅读 · 0 评论 -
David Silver强化学习公开课(二):马尔科夫决策过程
在强化学习中,马尔科夫决策过程(Markov decision process, MDP)是对完全可观测的环境进行描述的,也就是说观测到的状态内容完整地决定了决策的需要的特征。几乎所有的强化学习问题都可以转化为MDP。本讲是理解强化学习问题的理论基础。 马尔科夫过程 Markov Process 马尔科夫性 Markov Property某一状态信息包含了所有相关的历史,只要当前...转载 2018-10-29 09:10:13 · 2752 阅读 · 0 评论 -
David Silver强化学习公开课(一):简介
本讲是对于强化学习整体的一个简单介绍,描述了强化学习是什么,解决什么问题,大概用什么样的方式来解决问题。介绍了强化学习中常用的概念。这些概念非常重要,贯穿于整个强化学习始终,但是在这一讲,读者仅需对这些概念有个初步的印象。 引子强化学习在不同领域有不同的表现形式:神经科学、心理学、计算机科学、工程领域、数学、经济学等有不同的称呼。强化学习是机器学习的一个分支:监督学习、无监督学习、...转载 2018-10-24 20:27:55 · 2928 阅读 · 0 评论 -
强化学习环境:Gym本地库中添加自己编写的环境
1. 找到本地gym库地址下的envs目录,可能是:python3.6/site-packages/gym/envs。 envs下面有多个目录,选择一个你的环境所属的目录(不是很重要,选择相近类别即可)2.假如我们选择的是classic_control目录,进入该目录。3.把自己编写的环境文件(比如myenv.py)拷贝至该目录。4.打开该目录下的__init__.py...原创 2019-03-06 10:31:21 · 11199 阅读 · 7 评论 -
强化学习笔记 - 00 - 术语和数学符号
基本概念Agent - 本体。学习者、决策者。Environment - 环境。本体外部的一切。 - 状态(state)。一个表示环境的数据。 - 所有状态集合。环境中所有的可能状态。 - 行动(action)。本体可以做的动作。 - 所有行动集合。本体可以做的所有动作。 - 状态的行动集合。本体在状态下,可以做的所有动作。 - 奖赏(reward)。本体在一个行动后,获得的奖赏。 - 所有...原创 2018-11-13 22:36:21 · 4221 阅读 · 0 评论