摘要: 本文主要是讲解了机器学习中的增强学习方法的基本原理,常用算法及应用场景,最后给出了学习资源,对于初学者而言可以将其作为入门指南。

强化学习(Reinforcement Learning)是当前最热门的研究课题之一,它在AlphaGo中大放光彩,同时也变得越来越受科研人员的喜爱。本文主要介绍关于增强学习5件有用的事儿。

1.强化学习是什么?与其它机器学习方法有什么关系?

强化学习是一种机器学习方法,它使Agent能够在交互式环境中年通过试验并根据自己的行动和经验反馈的错误来进行学习。虽然监督学习和强化学习都使用输入和输出之间的映射关系,但强化学习与监督学习不同,监督学习提供给Agent的反馈是执行任务的正确行为,而强化学习使用奖励和惩罚作为积极和消极行为的信号。

与无监督学习相比而言,强化学习在目标方面有所不同。虽然无监督学习的目标是找出数据点之间的相似性和不同性,但是在强化学习中,其目标是找到一个合适的动作模型,能够最大化Agent的累积奖励总额。下图表示了强化学习模型中涉及的基本思想和要素。

图1 增强学习模型框图

2.如何创建一个基本的强化学习问题?

在介绍本节内容之前,先介绍下增强学习问题中的一些关键术语:

环境(Environment):Agent操作的现实世界

状态(State):Agent的现状

奖励(Reward):来自环境的反馈

策略(Policy):将Agent的状态映射到动作的方法

价值(Value):Agent在特定状态下采取行动所得到的报酬

可以通过游戏很好地解释强化学习问题,以PacMan游戏为例,Agent的目标是在网络中吃掉食物,同时也要躲避幽灵。网格世界就是Agent的交互环境,如果PacMan吃掉食物,则获得奖励;但如果被幽灵杀死(输掉游戏),则受到惩罚。PacMan在网格中的位置就是其所处的状态,达到累积奖励总额则PacMan赢得比赛。

为了建立一个最优策略,Agent需要不断探索新的状态,同时最大化其所获奖励累积额度,这也被称作试探和权衡。

马尔可夫决策过程(MDPs)是用来描述增强学习环境的数学框架,几乎所有的增强学习问题都可以转化为MDps。MDP由一组有限环境状态S、每个状态中存在的一组可能行为A(s)、一个实值奖励函数R(s)以及一个转移模型P(s’,s|a)组成。然而,现实世界环境可能更缺乏对动态环境的任何先验知识。在这种情况下,Model-free很有效。Model-free一直在每一步中去尝试学习最优的策略,在多次迭代后就得到了整个环境最优的策略(Q-learning)。

Q-learning是一种常用的模型,能够用于构建自己玩PacMan的Agent,它始终围绕着更新Q值,Q值表示在状态s时执行动作a的值,价值更新规则是Q-learning算法的核心。

图2 增强学习更新规则

图3 PacMan游戏

3.最常用的强化学习算法有哪些?

Q-learning和SARSA(State-Action-Reward-State-Action)是两种常用的model-free强化学习算法。虽然它们的探索策略不同,但是它们的开发策略却相似。虽然Q-learning是一种离线(off-policy)学习方法,其中Agent根据从另一个策略得到的行动a*学习价值,但SARSA是一个在线(on-policy)学习方法,它从目前的策略中获得当前行动的价值。这两种方法实施起来很简单,但缺乏一般性,因为无法估计出不可见状态的价值。

但以上问题可以通过更先进的算法来克服,比如使用神经网络估计Q值的Deep Q-Networks(DQN)。但是DQN只能处理离散、低维动作空间,因此对于高维、连续动作空间,科研人员发明了一种名为Deep Deterministic Policy Gradient(DDPG)的算法,该算法是一个model-free、离线演员评判家算法(Actor-critic algorithm)。

图4 Actor-critic algorithm

4.强化学习有哪些实际应用?

由于增强学习需要大量的数据,因此它最适用于模拟数据领域,比如游戏、机器人等。

在电脑游戏中,增强学习被广泛地应用于人工智能的构建中。AlphaGo Zero是围棋界第一个击败世界冠军的计算机程序,类似的还有ATARI游戏、西洋双陆棋等。

在机器人和工业自动化领域,增强学习被用于使机器人为其自身创建一个高效的自适应控制系统,从而能够从自己的经验和行为中学习。DeepMind在深度增强学习上的成果也是一个很好的例子。

增强学习的其它应用包括文本摘要引擎、对话代理(文本、语言),它们可以从用户交互中学习,并随着时间的推移而不断改进。此外,对于医疗保健和在线股票交易而言,基于增强学习的性能也是最佳的。

5.如何开始学习增强学习?

以下有一些相关的学习资源:

1.强化学习第二版(Reinforcement Learning-An Introduction),增强学习之父RicharSutton和其导师Andrew barto所写的书籍,一本不错的权威资料,在线阅读链接:http://incompleteideas.net/book/the-book-2nd.html

2.教材,David Sliver老师的视频讲座,是一份很好的增强学习入门课程。

3.其它关于增强学习的技术教程,由Pieter Abbeel和John Schulman所写(Open AI/Berkeley人工智能实验室)

4.从构建和测试增强学习agent开始学习之旅

5.该链接的博客能够帮助你使用仅仅130行Python代码启动并运行自己的第一个深度增强学习模型

6.DeepMind Lab是公开的一款开源立体游戏平台,专门为研究通用人工智能和机器学习系统而设计。

7.Project Malmo是微软公司开源的人工智能项目,也是支持人工智能领域的基础研究。

8.OpenAI Gym是开发和比较强化学习算法的工具包。

原文链接

干货好文,请关注扫描以下二维码:

关于增强学习你应该了解的五件事儿相关推荐

  1. 从事数据科学前必须知道的五件事儿

    目前,人工智能行业非常火热,对应的数据科学分析岗位需求也非常大.很多程序员纷纷转行从事人工智能相关岗位,那么对于那些想从事数据科学岗位的人们来说,这里有五件重要的事情是在转岗之前需要了解的. 1.高等 ...

  2. 关于大数据你应该了解的五件事儿

    摘要: 本文从基本概念.行业趋势.学习途径等几个方面介绍了大数据的相关内容,适合对大数据感兴趣的读者作为入门材料阅读. 随着科技的发展,目前已经步入了大数据的时代,很多社交媒体和互联网公司也非常关注大 ...

  3. 系统学习机器学习之增强学习(五)--马尔可夫决策过程策略TD求解(SARSA)

    转自:https://www.cnblogs.com/pinard/p/9529828.html 1.时间差分法(temporal difference) 蒙特卡洛方法,需要所有的采样序列都是经历完整 ...

  4. 冯·诺伊曼奖得主Jorge Nocedal:增强学习中零阶优化方法及其应用(附演讲视频和PPT)

    2020 北京智源大会 本文属于2020北京智源大会嘉宾演讲的整理报道系列.北京智源大会是北京智源人工智能研究院主办的年度国际性人工智能高端学术交流活动,以国际性.权威性.专业性和前瞻性的" ...

  5. 独家 | Michael I.Jordan:大数据时代下的安全实时决策堆栈与增强学习(视频+精华笔记)

    金秋九月,2017国际大数据产业技术创新高峰论坛暨大数据系统软件国家工程实验室第一次会议盛大开幕,大数据系统软件国家工程实验室作为大数据系统软件技术研发与工程化的国家级创新平台,将通过大数据系统软件技 ...

  6. 马里奥AI实现方式探索 ——神经网络+增强学习

    首先,对于实现马里奥AI当中涉及到的神经网络和增强学习的相关概念进行整理,之后对智能通关的两种方式进行阐述.(本人才疏学浅,在神经网络和增强学习方面基本门外汉,如有任何纰漏,还请大神指出,我会第一时间 ...

  7. 列表怎么有限的初始化为零_《零基础学习Android开发》第五课 类与面向对象编程1-1...

    视频:<零基础学习Android开发>第五课 类与面向对象编程1-1 类的定义.成员变量.构造方法.成员方法 一.从数据与逻辑相互关系审视代码 通过前面的课程,我们不断接触Java语言的知 ...

  8. 漫谈机器学习经典算法—增强学习与马尔科夫决策过程

    公式及图片正常显示的精美排版版请移步http://lanbing510.info/2015/11/17/Master-Reinforcement-Learning-MDP.html 写在前面 现有的机 ...

  9. 决策过程并举例_David Silver 增强学习——Lecture 2 马尔可夫决策过程(一)

    其他lecture [1]搬砖的旺财:David Silver 增强学习--笔记合集(持续更新) 目录 **David Silver 增强学习--Lecture 2 马尔可夫决策过程(一)**1. 前 ...

最新文章

  1. OpenCL编程详细解析与实例
  2. OAuth2.0 工作流程
  3. 个人计算机与微型计算机的区别与联系,微处理器、微型计算机和微型计算机系统之间有何联系与区别?...
  4. LeTax报错之 Incomplete \iffalse
  5. 机会难得,当当网抄底(五折+专属大额优惠码)优惠,双十一我囤了这些书!...
  6. dos c语言显示符号图案,在DOS命令行窗口中显示出用各种字符拼凑出来的各种图案的实现方法,如本人头像...
  7. Linux系统瘦身裁剪 续
  8. 任正非谈鸿蒙系统问题不大,任正非谈鸿蒙系统:两三年重建生态,有信心打造全球生态...
  9. linux spidev 应用_Linux下SPI驱动的移植和应用程序的测试
  10. Python学习入门基础教程(learning Python)--5.7 Python文件数据记录存储与处理
  11. thinkphp5 与 endroid 二维码生成
  12. 简述malloc/free与new/delete的区别
  13. C语言程序书写中 每行必须有分号,C语言课后习题答案
  14. Java位运算符:Java移位运算符、复合位赋值运算符及位逻辑运算符
  15. 年会抽奖 - 牛客网题解
  16. IOS越狱插件汉化工具
  17. python 携程_请教两个关于使用 python 爬去哪儿,携程等机票网站的问题
  18. 概率论基础知识(三) 参数估计
  19. 如何实现excel服务器的用户管理和认证管理
  20. 跟着官方文档一步一步搭建基于gozero的微服务

热门文章

  1. m 文件 dll matlab 中调用_如何在matlab中调用python程序
  2. android ui自动化框架选型,Appium UI 自动化框架之我见 (开源)
  3. minitab怎么算西格玛水平_16:三因子二水平全因子实验设计和MINITAB应用训练
  4. nacos 本地测试_Nacos注册中心落地实践
  5. ubuntu11.10 源码编译安装php5.3.8,Ubuntu 11.10编译安装Nginx、PHP 5.3.8、MySQL、MongoDB、Memcached、SSL、SMTP...
  6. laravel mysql视图_php-动态更新Laravel视图
  7. idea代码回滚_IDEA远程仓库版本回滚
  8. 名校博士生被电信诈骗10多万,却被嘲“博士也会被骗书白读了”,学校发声!...
  9. 我们是否能信任算法?不信任又能怎么办?
  10. 祝贺!王小云院士连获两项国际大奖