前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >强化学习读书笔记(1) | Introduction

强化学习读书笔记(1) | Introduction

作者头像
用户1621951
发布2019-07-30 16:18:31
6520
发布2019-07-30 16:18:31
举报
文章被收录于专栏:数据魔术师

强化学习的概念与应用实例

强化学习(Reinforcement learning,RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。

通过下面强化学习的应用实例,我们可以直观地了解到这个方法在应用上价值:

AlphaGo Zero和AlphaZero的算法采用了纯粹用于战胜人类的围棋、国际象棋及日本将棋的强化学习模型。首先来进行一个科普:AlphaGo Zero是谷歌DeepMinwd项目开发的最新的升级版AlphaGo。不同于原始的结合了监督学习和强化学习方式的AlphaGo,AlphaGo Zero单纯依靠强化学习和自我对弈来进行算法学习。

因此,尽管该模型也利用了一个预先提供的算法规则,即棋类的游戏规则和自我对弈来进行更可靠而持续的迭代更新,AlphaGo Zero更遵循纯强化学习的整体方法论:算法从零开始,通过学习结果的奖励信号反馈进行迭代。

由于它不是从人类身上直接学习游戏规则的,AlphaGo Zero也因此被许多人认为是一个比AlphaGo更具颠覆性的算法。然后就诞生了AlphaZero:作为一个更通用的算法,它不仅可以学习如何下围棋,还可以学习下国际象棋和日本将棋。

这是史上第一次出现用单一算法来破解象棋和围棋的算法。并且,它并没有像过去的深蓝计算机或者AlphaGo那样对任何一种游戏规则做特殊定制。

毫无疑问,AlphaGo Zero和AlphaZero是强化学习发展史上里程碑式的案例。

历史性的时刻——李世乭输给了AlphaGo

强化学习与其他机器学习的区别

机器学习可以分为三类,分别是:

  • 监督学习(supervised learning) ,如回归,分类
  • 非监督学习(unsupervised learning) ,如聚类,降维
  • 强化学习

而强化学习与其他机器学习不同之处在于:

(1) 强化学习是试错学习(Trial-and-error),由于没有直接的指导信息,智能体要以不断与环境进行交互,通过试错的方式来获得最佳策略。

(2) 延迟回报,强化学习的指导信息很少,而且往往是在事后(最后一个状态)才给出的,这就导致了一个问题,就是获得正回报或者负回报以后,如何将回报分配给前面的状态。

强化学习中的关键元素

除了主体(agent)和环境(environment)之外,强化学习中还有几个主要的子元素:

  • 奖励信号(reward signal):通常都被记作Rt,表示t时刻的返回奖赏值。是强化学习问题的目标。
  • 状态(state):指当前agent所处的状态。
  • 行为(action):agent对每次所处的state用以及上一状态的reward确定当前要执行什么action。
  • 策略(policy):学习agent在特定时间的行为方式,也就是一系列action的sequential data。
  • 价值函数(value function):使从当前时刻开始一直到状态达到目标的总reward最大。
  • 环境模型(model of the environment):模仿环境的行为,允许推断环境的行为方式。

有了这些要素我们就能建立一个强化学习模型。强化学习解决的问题是,针对一个具体问题得到一个最优的policy,使得在该策略下获得的reward最大。

示例:flappy bird游戏

仅凭概念来理解强化学习也许会有些抽象,接下来我们通过一个例子来直观了解强化学习的运作机理。

flappy bird是一款很流行的小游戏,现在我们让小鸟自行进行游戏,但是我们却没有小鸟的动力学模型,也不打算了解它的动力学。要怎么做呢?

这时就可以给它设计一个强化学习算法,然后让小鸟不断的进行游戏,如果小鸟撞到柱子了,那就获得-1的回报,否则获得0回报。通过这样的若干次训练,我们最终可以得到一只飞行技能高超的小鸟,它知道在什么情况下采取什么动作来躲避柱子。

小结

强化学习是机器学习中一个非常活跃且有趣的领域,相比其他学习方法,强化学习更接近生物学习的本质,因此有望获得更高的智能,这一点在棋类游戏中已经得到体现。

强化学习的概况就介绍到这里,下篇我们将正式开始学习,感兴趣请继续关注我们~

参考资料:

[1]R.Sutton et al. Reinforcement learning: An introduction , 1998

[2]https://www.cnblogs.com/jinxulin/p/3511298.html

[3]邱锡鹏著,神经网络与深度学习,第十四章深度强化学习

[4]https://www.jiqizhixin.com/articles/2018-07-13-5

[5]https://blog.csdn.net/hellocsz/article/details/80835542


转载自 | 公众号 老薛带你学Python

还有更多算法学习课件分享哟

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据魔术师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档