Deepmind大神David Silver带你认识强化学习

引言:强化学习(Reinforcement learning)是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。

David Silver在2013年加入Google DeepMind,是小组中AlphaGo项目的主程序员,也是University College London的讲师。

| 背景

强化学习(Reinforcement learning)灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。这个方法具有普适性,因此在其他许多领域都有研究,例如博弈论、控制论、运筹学、信息论、模拟优化方法、多主体系统学习、群体智能、统计学以及遗传算法。

强化学习也是多学科多领域交叉的一个产物,它的本质就是解决“决策(decision making)”问题,即学会自动进行决策。其在各个领域体现不同:

在计算机科学(Computer science)领域体现为机器学习算法; 在工程(Engineering)领域体现在决定序列行为(the sequence of actions)来得到最好的结果; 在神经科学(Neuroscience)领域体现在理解人类大脑如何做出决策,主要的研究是反馈系统(reward system); 在心理学(Psychology)领域,研究动物如何做出决策、动物的行为是由什么导致的; 在经济学(Economics)领域体现在博弈论的研究。

这所有的问题最终都归结为一个问题,人为什么能够做出最优决策,且人类是如何做到的。

| 原理

强化学习作为一个序列决策(Sequential Decision Making)问题,它需要连续选择一些行为,从这些行为完成后得到最大的收益作为最好的结果。它在没有任何label告诉算法应该怎么做的情况下,通过先尝试做出一些行为——然后得到一个结果,通过判断这个结果是对还是错来对之前的行为进行反馈。由这个反馈来调整之前的行为,通过不断的调整算法能够学习到在什么样的情况下选择什么样的行为可以得到最好的结果。

强化学习与监督学习有不少区别,从前文中可以看到监督学习是有一个label(标记)的,这个label告诉算法什么样的输入对应着什么样的输出。而强化学习没有label告诉它在某种情况下应该做出什么样的行为,只有一个做出一系列行为后最终反馈回来的reward signal,这个signal能判断当前选择的行为是好是坏。另外强化学习的结果反馈有延时,有时候可能需要走了很多步以后才知道之前某步的选择是好还是坏,而监督学习如果做了比较坏的选择则会立刻反馈给算法。强化学习面对的输入总是在变化,不像监督学习中——输入是独立分布的。每当算法做出一个行为,它就影响了下一次决策的输入。强化学习和标准的监督式学习之间的区别在于,它并不需要出现正确的输入/输出对,也不需要精确校正次优化的行为。强化学习更加专注于在线规划,需要在Exploration(探索未知的领域)和Exploitation(利用现有知识)之间找到平衡。

| 实现过程

强化学习决策实现过程需要设定一个agent(图中的大脑部分),agent能够执行某个action(例如决定围棋棋子下在哪个位置,机器人的下一步该怎么走)。Agent能够接收当前环境的一个observation(观察),例如当前机器人的摄像头拍摄到场景。Agent还能接收当它执行某个action后的reward,即在第t步agent的工作流程是执行一个动作At,获得该动作之后的环境观测状况Ot,以及获得这个动作的反馈奖赏Rt。

而环境environment则是agent交互的对象,它是一个行为不可控制的对象,agent一开始不知道环境会对不同action做出什么样的反应,而环境会通过observation告诉agent当前的环境状态,同时环境能够根据可能的最终结果反馈给agent一个reward,例如围棋棋面就是一个environment,它可以根据当前的棋面状况估计一下黑白双方输赢的比例。因而在第t步,environment的工作流程是接收一个At,对这个动作做出反应之后传递环境状况和评估的reward给agent。reward奖赏Rt,是一个反馈标量值,它表明了在第t步agent做出的决策有多好或者有多不好,整个强化学习优化的目标就是最大化累积reward。

强化学习中Agent的组成

一个agent由Policy(策略)、Value function(价值函数)、Model(模型)三部分组成,但这三部分不是必须同时存在的。

Policy(策略):它根据当前看到的observation来决定action,是从state到action的映射。有两种表达形式,一种是Deterministic policy(确定策略)即a=π(s)a=π(s),在某种状态s下,一定会执行某个动作a。一种是Stochastic policy(随机策略)即π(a|s)=p[At=a|St=s]π(a|s)=p[At=a|St=s],它是在某种状态下执行某个动作的概率。 Value function(价值函数):它预测了当前状态下未来可能获得的reward的期望。Vπ(s)=Eπ[Rt+1+rRt+2+…|St=s]Vπ(s)=Eπ[Rt+1+rRt+2+…|St=s]。用于衡量当前状态的好坏。 Model(模型):预测environment下一步会做出什么样的改变,从而预测agent接收到的状态或者reward是什么。因而有两种类型的model,一种是预测下一个state的transition model即Pass′=p[St+1=s′|St=s,At=a]Pss′a=p[St+1=s′|St=s,At=a],一种是预测下一次reward的reward model即Ras=E[Rt+1|St=s,At=a]Rsa=E[Rt+1|St=s,At=a]

| 探索和利用

强化学习是一种试错(trial-and-error)的学习方式:最开始的时候不清楚environment(环境)的工作方式,不清楚执行什么样的action(行为)是对的,什么样的action(行为)是错的。因而agent需要从不断尝试的经验中发现一个好的policy,从而在这个过程中获取更多的reward。

在学习过程中,会有一个在Exploration(探索)和Exploitation(利用)之间的权衡。

Exploration(探索)会放弃一些已知的reward信息,而去尝试一些新的选择——即在某种状态下,算法也许已经学习到选择什么action让reward比较大,但是并不能每次都做出同样的选择,也许另外一个没有尝试过的选择会让reward更大,即Exploration希望能够探索更多关于environment的信息。 Exploitation(利用)指根据已知的信息最大化reward。

举个例子,这两者在选择一家餐馆时——Exploration(探索)会选择你最喜欢的餐馆,而Exploitation(利用)则会尝试选择一个新的餐馆。

总结:

经过文中对于强化学习中背景、原理、实现过程以及相关概念的介绍,相信大家对于强化学习会有一个基础的认识。

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2016-08-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏贺嘉的专栏

腾讯云总监手把手教你,如何成为 AI 工程师?

虽然现在 “智能”的取得建立在大量的人工前期工作基础上,缺乏无监督学习,但是人工智能方兴未艾,如何入门成为高薪抢手的AI工程师值得学习,腾讯云总监分享了如何入行...

9.6K5
来自专栏企鹅号快讯

深度学习的核心:掌握训练数据的方法

Hello World! 今天我们将讨论深度学习中最核心的问题之一:训练数据。深度学习已经在现实世界得到了广泛运用,例如:无人驾驶汽车,收据识别,道路缺陷自动检...

1958
来自专栏量子位

谷歌有只AI,自动给黑白视频上色,走到哪它都认识你

1145
来自专栏媒矿工厂

Facebook VR方案总结(三)

全景视频,也称360°视频,是一种新一代的视频显示技术,用户置于球形区域中央,可以任意在拍摄角度周围360度地观看动态视频,而不受时间、空间和地...

3375
来自专栏人工智能头条

需要密切关注的六大人工智能/机器学习领域

1783
来自专栏AI科技评论

学界 | 全景照片不怕歪!Facebook 用神经网络矫正扭曲的地平线

AI科技评论按:最近微博上的全景照片很火呀,相比各位都已经在自己的iPhone或者iPad上品鉴了多家IT公司的办公室、游玩了多个旅游胜地、享受了被小猫小狗环绕...

3557
来自专栏深度学习自然语言处理

谈谈我在自然语言处理入门的一些个人拙见

因为最近在准备本科毕设的论文部分,所以最近原创的相对比较少,但是为了坚持每天学点新知识,我也逼着自己每天抽出晚上的1小时左右把自己想到的并且自己还没理解的小知识...

972
来自专栏量子位

六大你应该了解的人工智能和机器学习核心领域

到底什么是人工智能(AI)? 有些人把AI重新解释为“认知计算”或“机器智能”,而其他人错误的将AI与“机器学习”混淆起来。其实AI不是一种技术。它实际上是一个...

1915
来自专栏cloudskyme

跟我一起数据挖掘(19)——什么是数据挖掘(2)

什么是数据仓库? 数据仓库是一个面向主题的( Subject Oriented) 、集成的( Integrate) 、相对稳定的(NonVolatile) 、反...

3525
来自专栏新智元

Facebook 交互式神经网络可视化系统,应对海量数据和复杂模型

【新智元导读】神经网络模型的可视化是解决其黑箱问题的一个解决方案,但用于神经网络可视化的大多数工具集中在图像数据集上,这激发了 Facebook 和 Georg...

3606

扫码关注云+社区