大家好,今天行健在有三AI开设新专栏《强化学习》。在这个专栏中,我们会分为五大模块去讲解强化学习涉及到的方方面面,包括强化学习基础理论宗派,经典算法,编程实践,前沿理论和文献,强化学习应用领域,强化学习与其他机器学习理论交叉领域综述等内容。

强化学习作为AI领域不同于监督学习和非监督学习之外的第三种存在,其发展前景和强大的处理问题的能力,在AI走向通用人工智能的道路上,有着非同寻常的价值。为了进一步了解和掌握这一算法的实质属性和能力边界,我们需要大量的基础研究和实践验证,相信随着这一专栏的不断更新,我们能够领略到强化学习的独特魅力,同时也更加深刻的知晓其应用的领域,范畴和条件。如果你准备好了,那就和我们一起出发吧。

作者 | 行健

编辑 | 行健&言有三

1 什么是强化学习

强化学习的思想源于行为心理学(behavioural psychology)的研究。

1911年科学家Thorndike提出了效用法则(Law of Effect):一定情境下让动物感到舒服的行为,就会与此情景加强联系,当此情景再现时,动物的这种行为也更易再现;相反,让动物感觉不舒服的行为,会减弱与此情景的联系,此情景再现时,此行为将很难再现。历史上曾经有过“巴普洛夫狗”的实验,一方面巴普洛夫给狗提供信号,一方面给予及时奖励。狗在信号和奖励之间建立了行为映射,从而强化了狗对信号的响应,最终使得狗能够自发的响应信号。

强化学习不仅直接模仿了生物学习的智能模式,而且也不像其它大多数机器学习方法中,智能体需要被告诉去选择哪种动作,使用强化学习方法的智能体能够通过尝试不同的动作(action),自主地发现并选择产生最大回报(rewards)的动作。这样一来,强化学习使得智能体可以根据自己的经验进行自主地学习,既不需要任何预备知识也不依赖任何外部智能“老师”的帮助。

2 强化学习能够做什么

图2.1 强化学习类比于儿童学习

强化学习的核心机制:用试错(trail-and-error)来学会在给定的情境下选择最恰当的行为。即通过试错学习如何最佳地匹配状态(states)和动作(actions),以期获得最大的回报(rewards)。

“如何最佳的匹配状态和动作”,强化学习所解决的这样很具有普遍性的问题使得强化学习在机器人学,最优控制,棋类对弈,策略博弈,飞行控制,导弹制导,预测决策,金融投资以及城市交通控制等领域都有大量的应用。

从计算机实现的角度看,大多数机器学习的方法都需要事先知道要解决的问题是“什么”,以及问题“怎么样”来解决。再通过编写程序来告诉计算机如何求解。在实际情形下,知道“做什么”远比知道“怎么做”的情形多得多。

例如,对于这样一个问题:一个城市交通网络由多个十字路口以及它们之间的道路组成,每一个十字路口的交通灯由一个Agent控制,那么这多个Agent应该如何协作控制红绿灯的时段长短,使得进入该城市交通网络的所有车辆在最短时间内离开该城市交通网络呢?Agent学习要“做什么”的问题是清晰的:使所有车辆以最短时离开该城市交通网络;但“怎样做”却是复杂和困难的。

强化学习提供了这样一种美好的前景:只要确定了回报,不必需要规定Agent怎样完成任务,Agent 将能够通过试错学会最佳的控制策略。在前面的多Agent交通控制问题中,只需规定所有车辆通过时间越短获取的回报越大,那么这多个Agent将自主学会最优的交通灯协作控制策略使得所有车辆在最短时间内通过该城市网络。尽管直到今天,解决这样多个十字路口的交通灯控制问题,强化学习依然面临巨大的计算量和较长的计算时间。但从实现的角度来看,强化学习是一种可以把人从必须考虑“怎么做”中解放出来的机器学习方法,也相信强化学习是能够使得智能从计算智能进化到人工智能直至生物智能的途径之一。

3 强化学习算法地图

强化学习涉及到的理论主要为控制论,最优化,蒙特卡洛搜索等。从强化学习的几个元素的角度划分的话,方法主要有下面几类:

Policy based, 关注点是找到最优策略。

Value based, 关注点是找到最优奖励总和。

Action based, 关注点是每一步的最优行动。

更细的分类如下图展示:

图3.1 强化学习算法地图

4 专栏目录和作者简介

参考教材:《reinforcement learning: An inroduction 2ed edition》

http://incompleteideas.net/book/RLbook2018trimmed.pdf

强化学习的更多相关资料可扫下方有【有三AI-强化学习】二维码进群获取。

行健,毕业于厦门大学理论物理专业,长期研究计算机应用于辅助药物设计,计算机模拟生化反应。目前在国内某电商搜索推荐团队担任高级算法工程师,主要研究方向为计算机模拟与复杂系统,强化学习和AutoML。

总结

强化学习在有监督和无监督机器学习之外独辟蹊径,借助智能体主动探索、奖励机制、策略优化等不断和环境交互,既有博弈的对抗学习过程,又有策略优化的迭代升级思想,这使得强化学习在动态学习,实时在线训练等场景发挥独特的作用。为此,我们系统地总结强化学习在过去几年间的进展,同时也高瞻远瞩,探究新发展方向。

下期预告:【编外篇】数据科学,从计算到推理。

微信群推荐

这是有三AI唯一的强化学习群,将用于讨论相关的技术,扫码不能进群时可以添加有三微信Longlongtogo申请。

有三AI夏季划

有三AI夏季划进行中,欢迎了解并加入,系统性成长为中级CV算法工程师。

转载文章请后台联系

侵权必究

往期精选

  • 【GAN优化】GAN优化专栏上线,首谈生成模型与GAN基础

  • 【NLP】自然语言处理专栏上线,带你一步一步走进“人工智能技术皇冠上的明珠”。

  • 【AutoML】AutoML专栏上线,跟Google一起见证调参党的末日?

  • 【移动端DL框架】当前主流的移动端深度学习框架一览

  • 【图像分割应用】医学图像分割(一)——脑区域分割

【强化学习】强化学习专栏上线,60多篇文章等你follow相关推荐

  1. 深度学习之对象检测_深度学习时代您应该阅读的12篇文章,以了解对象检测

    深度学习之对象检测 前言 (Foreword) As the second article in the "Papers You Should Read" series, we a ...

  2. 再说深度学习是黑匣子,就把这篇文章糊 Ta 脸上

    导语:可视化不只是画画那么简单,它或许是我们理解神经网络的世界的方法.PS:标题是作者说的,不是我说的,要打,就打他(逃 昨天,Google Brain 推了一篇十分有趣的 paper --<T ...

  3. 万字心得,PMP学习考试那些事儿,看这篇文章就够了

    声明:文章为原创,首发于知乎,链接:万字长文!PMP考试那些事儿,看这篇文章就够了 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/524966002 以下内 ...

  4. 关于深度学习中的注意力机制,这篇文章从实例到原理都帮你参透了(很系统,重点看)

    最近两年,注意力模型(Attention Model)被广泛使用在自然语言处理.图像识别及语音识别等各种不同类型的深度学习任务中,是深度学习技术中最值得关注与深入了解的核心技术之一. 本文以机器翻译为 ...

  5. 「代码家」的学习过程和学习经验分享(挺好的一篇文章,转载侵删)

    转自:https://kb.cnblogs.com/page/554260/ 感悟:多写多练,抓住灵感. 每天,都会有人在微博上私信我,问我关于学习和成长的问题.这种问题我一般都不会回复某个j,毕竟每 ...

  6. 30岁开始学python和liunx_学习python了,看完这篇文章,你的Linux基础就差不多了

    前言 这篇文章基于传智播客的2016年的gitbook资料和视频资料,同时也融合了2018年的视频和课件资料中的一些内容,即以2016年的资料为蓝本,2018年的资料为辅助编写的. 提醒:本文稍微过长 ...

  7. 深度学习 图像分类_深度学习时代您应该阅读的10篇文章了解图像分类

    深度学习 图像分类 前言 (Foreword) Computer vision is a subject to convert images and videos into machine-under ...

  8. 必看总结!深度学习时代您应该阅读的10篇文章了解图像分类!

    前言 目录 前言 1998年:LeNet 2012年:AlexNet 2014年:VGG 2014年:GoogLeNet 2015年:Batch Normalization 2015年:ResNet ...

  9. 学习python了,看完这篇文章,你的Linux基础就差不多了(附导图】

    提醒:本文稍微过长,请细读 一.Linux介绍 1.操作系统的发展 在这里还是要推荐下我自己建的Python开发学习群:301056051,群里都是学Python开发的,如果你正在学习 Python ...

最新文章

  1. 开发者AI职业指南:CSDN《AI技术人才成长路线图V1.0》重磅发布
  2. java mp3播放器 ×××面
  3. 第十天:估算活动持续时间
  4. Python中 __init__的通俗解释是什么?
  5. windows命令行无法启动redis_windows系统安装redis
  6. MCMC方法与变分推断
  7. 是什么造成了数据库的卡顿
  8. TensorFlow教程之API DOC 6.1.4 Class tensorflow::Session
  9. 分布式事务框架 - Seata
  10. idea lombok安装后还是标红_开发效率不高?强烈推荐这十款精选IDEA插件
  11. 网络协议之ONVIF
  12. 京东商城架构峰值系统设计
  13. 初学者Apache Solr教程
  14. Vue+Element-ui实现考试检查答题(判断正确答题,错答,漏答)
  15. 伤害世界怎么自建服务器,伤害世界服务器怎么建 伤害世界服务器架设教程攻略...
  16. TCP/IP知识总结面试题之Socket服务
  17. Android新闻客户端实训-Day1类Day2接口基操
  18. “百度杯”CTF比赛 十月场 - 考眼力
  19. 【找工作】三大运营商、航十
  20. Proteus ISIS与Keil uVersion开发环境的互连

热门文章

  1. 程序员入职国企,1周上班5小时,晒出薪资感叹:腾讯当CEO也不去
  2. 【struts2+hibernate+spring项目实战】Jfreechart工具使用(ssh项目实战)
  3. Scanner的next,nextint和nextLine的使用总结
  4. servlet的重定向错误
  5. python变量类型是动态的_Python 学习 第四篇:动态类型模型
  6. 小程序从浏览器返回有一个空白页_北京做一个小程序
  7. JSP脚本实现登录验证功能
  8. 深拷贝一个对象会了,怎么深拷贝一个图?
  9. Struts2标签 逻辑标签和UI标签
  10. Elastic Stack简介和Elasticsearch基本介绍