强化学习

机器学习&深度学习&强化学习 AI自用入门学习资料大集合

China☆狼群 提交于 2019-12-08 11:21:56
开此文,给大家推荐一下我学习AI技术过程中邂逅的好资料,包括 机器学习、深度学习、强化学习及其相关技术 等AI技术, 内容不断更新 。感谢这些内容的创作者的辛勤付出! 以下内容并不具有学习递进关系,大家可根据需要自行选择。 机器学习 [英文中字] 吴恩达《机器学习》Coursea在线课程 非常非常适合入门,AI大牛吴恩达老师把基础的机器学习和模型讲得非常清楚,每周配以精心设计的Matlab/Octave作业,难度和进度适中,能很快对模型的原理和编程方面有较清楚的掌握。有中文字幕。个人觉得比直接看斯坦福CS229适合入门。(目前使用Coursea手机客户端仍可免费注册课程旁听) 强化学习(深度强化学习) [英文] Github课程《Deep Reinforcement Learning Course》 适合强化学习入门。内容比较口语化,最开始有一篇介绍,把强化学习的整体框架介绍得很清楚,之后对于每一个模型的学习,都有使用Tensorflow实现的实例(强化学习控制游戏等),还有视频讲解。法国小哥的免费项目,很棒!(就是法国小哥的英语口音。。。) Tensorflow [英文] Github项目《TensorFlow-Examples》 使用Tensorflow演示了其基础的使用方法,并且把机器学习、深度学习各种模型都实现了一遍,代码有注释。跟着敲一遍

漫谈逆向强化学习 - A Brief Review to Inverse Reinforcement Learning

被刻印的时光 ゝ 提交于 2019-12-08 05:37:03
下面我们来探讨下逆向强行学习的基本原理和典型方法,我们假设您已经对强化学习和凸优化的基本原理有一定的了解。 文章目录 概述 基于最大边际的逆向强化学习 学徒学习 最大边际规划(MMP) 基于结构化分类的方法 神经逆向强化学习 基于最大熵的逆向强化学习 基于最大信息熵的逆向强化学习 基于相对熵的逆向强化学习 深度逆向强化学习 GAIL 概述 我们先介绍下逆向强化学习的概念预分类: 什么是逆向强化学习呢?当完成复杂的任务时,强化学习的回报函数很难指定,我们希望有一种方法找到一种高效可靠的回报函数,这种方法就是逆向强化学习。我们假设专家在完成某项任务时,其决策往往是最优的或接近最优的,当所有的策略产生的累积汇报函数期望都不比专家策略产生的累积回报期望大时,强化学习所对应的回报函数就是根据示例学到的回报函数。即逆向强化学习就是从专家示例中学习回报函数。当需要基于最优序列样本学习策略时,我们可以结合逆向强化学习和强化学习共同提高回报函数的精确度和策略的效果。逆向强化学习的基本理论可参考如下论文: Ng A Y, Russell S J. Algorithms for Inverse Reinforcement Learning. ICML, 2000 逆向强化学习一般流程如下: 随机生成一个策略作为初始策略; 通过比较“高手”的交互样本和自己交互样本的差别,学习得到回报函数;

强化学习简介及马尔科夫决策过程

耗尽温柔 提交于 2019-12-04 07:06:01
1. 什么是强化学习   强化学习(reinforcement learning, RL)是近年来大家提的非常多的一个概念,那么,什么叫强化学习?   强化学习是机器学习的一个分支,和监督学习,非监督学习并列。   参考文献[1]中给出了定义: Reinforcement learning is learning what to do ----how to map situations to actions ---- so as to maximize a numerical reward signal.   即强化学习是通过学习将环境状态转化为动作的策略,从而获得一个最大的回报。   举个栗子[2],在flappy bird游戏中,我们想设计一个获得高分的策略,但是却不清楚他的动力学模型等等。这是我们可以通过强化学习,让智能体自己进行游戏,如果撞到柱子,则给负回报,否则给0回报。(也可以给不撞柱子持续给1点回报,撞柱子不给回报)。通过不断的反馈,我们可以获得一只飞行技术高超的小鸟。   通过上面例子,我们可以看到强化学习的几个特性[3]: 没有label,只有奖励(reward) 奖励信号不一定是实时的,很有可能延后的。 当前的行为影响后续接收到的数据 时间(序列)是一个重要因素 2. 强化学习的建模   上面的大脑代表我们的智能体,智能体通过选择合适的动作(Action) \

【强化学习】强化学习分类

匿名 (未验证) 提交于 2019-12-03 00:32:02
https://github.com/tigerneil/deep-reinforcement-learning-family https://morvanzhou.github.io/tutorials/machine-learning/reinforcement-learning/1-1-B-RL-methods/ ――-主要引用morvan老师的教学视频 在学习强化学习的过程中我们经常会遇到一些陌生的名词分类,什么model-free,offpolicy之类的,学习的时候不明觉厉可能就一眼带过了,但是其实这些分类的名词其实十分有趣,掌握他们十分有助于我们加深对相关强化学习算法的了解。 举个栗子:我们刚刚学习强化学习的时候都学习过gridworld这个机器人走迷宫的例子吧,就是有一个迷宫机器人从起点出发通过强化学习的方式选择出到达终点的最优路径。 model-based方式就是我们给机器人地图全开,事先了解好整个游戏环境根据过往的经验选取最优策略,也就是说model-based他能通过想象来预判断接下来将要发生的所有情况. 然后选择这些想象情况中最好的那种. 并依据这种情况来采取下一步的策略 model-free方法就是不依赖模型,这种情况下就是直接将我们的机器人丢到迷宫里面瞎溜达,然后机器人会根据现实环境的反馈采取下一步的动作。这种方法不对环境进行建模也能找到最优的策略

深度强化学习――连续动作控制DDPG、NAF

匿名 (未验证) 提交于 2019-12-03 00:18:01
一、存在的问题 DQN是一个面向离散控制的算法,即输出的动作是离散的。对应到Atari 游戏中,只需要几个离散的键盘或手柄按键进行控制。 然而在实际中,控制问题则是连续的,高维的,比如一个具有6个关节的机械臂,每个关节的角度输出是连续值,假设范围是0°~360°,归一化后为(-1,1)。若把每个关节角取值范围离散化,比如精度到0.01,则一个关节有200个取值,那么6个关节共有 200 6 个取值,若进一步提升这个精度,取值的数量将成倍增加,而且动作的数量将随着自由度的增加呈指数型增长。所以根本无法用传统的DQN方法解决。 解决方法 使用Policy-Based方法,通过各种策略梯度方法直接优化用深度神经网络参数化表示的策略,即网络的输出就是动作。 二、DDPG 深度确定性策略梯度(Deep Deterministic Policy Gradient, DDPG)算法是Lillicrap 等人利用 DQN 扩展 Q 学习算法的思路对 确定性策略梯度(Deterministic Policy Gradient, DPG) 方法进行改造,提出的一种基于行动者-评论家(Actor-Critic,AC)框架的算法,该算法可用于解决连续动作空间上的 DRL 问题。 随机性策略和确定性策略: 随机性策略,策略输出的是动作的概率,比如上一篇A3C博客提到的连续动作控制

强化学习――入门

匿名 (未验证) 提交于 2019-12-03 00:03:02
强化学习作为一门灵感来源于 心理学中的行为主义理论 的学科,其内容涉及 概率论、统计学、逼近论、凸分析、计算复杂性理论、运筹学 等多学科知识,难度之大,门槛之高,导致其发展速度特别缓慢。 一种解释: 人的一生其实都是不断在强化学习,当你有个动作(action)在某个状态(state)执行,然后你得到反馈(reward),尝试各种状态下各种动作无数次后,这几点构成脑中的马尔可夫模型,使你知道之后的行为什么为最优。 另一种解释: 强化学习最重要的几个概念:agent,environment,reward,policy,action。environment 通常利用马尔可夫过程来描述,agent 通过采取某种 policy 来产生action,和 environment 交互,产生一个 reward。之后 agent 根据 reward 来调整优化当前的 policy。 有监督学习的训练样本是有标签的,而强化学习没有标签,它是通过环境给的奖惩来进行学习; 我们会发现,强化学习和监督学习以及无监督学习最大的不同就是不需要大量的数据来“喂养”,而是通过自己不停的尝试来学会某些技能; 有监督学习的学习过程是静态的,而强化学习的学习过程是动态的;这里的动态和静态指的是:是否和环境进行交互;有监督学习中给什么样本就学什么,而强化学习要与环境进行交互,再根据交互所给出的奖惩来学习;

强化学习一:模型基础

匿名 (未验证) 提交于 2019-12-02 23:57:01
参考文献: https://www.cnblogs.com/pinard/p/9385570.html 之前有一个项目在算法设计阶段用到了强化学习方案,突击了两周学习了一些基础知识,虽然后来由于项目方向变更方案没有实施,但由此对强化学习产生了兴趣,也断断续续的看一些相关的材料。最近在看 刘建平的强化学习笔记 ,觉得写的思路清晰易懂,遂参照其思路也记录一下自己对强化学习的理解。 来源:博客园 作者: Fosen_Hai 链接:https://www.cnblogs.com/Fosen/p/11450731.html

DRL强化学习:

匿名 (未验证) 提交于 2019-12-02 23:55:01
IT博客网 域名隐私保护 免费 DRL前沿之:Hierarchical Deep Reinforcement Learning 来源:互联网 发布: 域名隐私保护 免费 比如上图这款游戏,叫做Montezuma’s Revenge。这种游戏类似超级玛丽,难在哪里呢?需要高级的策略。比如图中要拿到钥匙,然后去开门。这对我们而言是通过先验知识得到的。但是很难想象计算机如何仅仅通过图像感知这些内容。感知不到,那么这种游戏也就无从解决。 Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation 来源: arXiv.org 尝试解决这种问题。 不得不说,这个想法显而易见(本人也想过啦)但是,问题的关键是 如何确定内在的目标??? 说白了就是人工给定目标。然后再来训练。(本质上就是嵌套两个DQN) 那就没什么意思了。 这样从直观感觉可以训练出来。 但是意义就比较小了。 这篇文章比较夸大的提出层次DRL来解决稀疏反馈的问题,但是实际上并不算真正的解决, 中间的目标给定太过人工,不具备通用性 。也不太可能像作者说的专门为这些游戏开发一个游戏目标物体检测算法。 但是,在否则这篇文章价值的同时,它也是有一定意义的。比如对于自动驾驶汽车,

《从机器学习到深度学习》笔记(3)强化学习

匿名 (未验证) 提交于 2019-12-02 23:32:01
强化学习是对英文Reinforced Learning的中文翻译,它的另一个中文名称是“增强学习”。相对于有监督学习和无监督学习,强化学习是一个相对独特的分支;前两者偏向于对数据的静态分析,后者倾向于在动态环境中寻找合理的行为决策。 强化学习的行为主体是一个在某种环境中独立运行的Agent(可以理解为“机器人”), 其可以通过训练获得在该环境中的最佳行为模式。强化学习被看成是最接近人工智能的一个机器学习领域。 思考:为什么说强化学习是最接近人工智能的一个机器学习领域? 1. 五个要素 强化学习的场景由两个对象构成,它们是: 智能代理(Agent):是可以采取一系列行动以达到某种目标的控制器,可以形象的将其理解为机器人大脑。比如自动驾驶的控制器、打败李世石的AlphaGo。 环境(Environment):是Agent所能感知和控制的世界模型。对自动驾驶来说,Environment就是Agent所能感知到的路况和车本身的形式能力,对AlphaGo来说,Environment包括棋盘上的每种状态和行棋规则。 这两个对象其实定义了机器人和其所能感知到的世界。而就像人类能在自己的世界中行走、享受阳光,机器人也可以通过三种方式与其所在的环境交互: 状态(State):是任意一个静态时刻Agent能感知到的Environment情况,相当于某一时刻人类五官能感知到的一切。 行为(Action)

强化学习

谁说胖子不能爱 提交于 2019-12-02 17:06:59
---恢复内容开始--- # 一、初识强化学习 ## 1. 强化学习和蒙特卡洛树搜索 因为这两周学习了蒙特卡洛树搜索算法,当时看了相关资料介绍,蒙特卡洛方法属于强化学习的范畴,所以我就去看了西瓜书的最后一章强化学习。我看书的时候就觉得蒙特卡洛树搜索算法和强化学习有着非常紧密的联系,书上提到的**exploration和exploitation、蒙特卡洛方法、奖励函数**等内容和蒙特卡洛树搜索的基本思想有很多相同的地方。 ## 2. 强化学习与机器学习 强化学习和之前学过的一些机器学习算法有着明显的不用,之前学的机器学习算法主要可以分为监督学习(分类)和非监督学习(聚类),而强化学习不同于监督学习和非监督学习,强化学习是通过**奖励值**来训练模型,而监督学习是通过训练数据和对应的**标签**来训练模型的,非监督学习没有标签也没有奖励值,是通过**数据特征**来训练模型的,而且强化学习的奖励值是在执行完动作后给出的,监督学习的标签是一开始就有的。 ## 3. 强化学习八个要素 **和蒙特卡洛树搜索一样,以基于强化学习的井字棋为例** 1. 环境的状态S:即棋盘的状态 2. 个体的动作A:即某一方落子 3. 环境的奖励R:即分出胜负后的反馈奖励 4. 个体的策略π:即在哪落子 5. 个体在策略π和状态s时,采取行动后的价值 $v_π(s)$