撰文:郭雪
突破技术
强化学习(Reinforcement Learning,RL)是一种人工智能方法,能使计算机在没有明确指导的情况下像人一样自主学习。
重要意义
假如机器不能自主通过环境经验磨炼技能,自动驾驶汽车以及其他自动化领域的进展速度将受到极大的限制。
技术成熟期
1~2年
主要研究者
-Deep Mind -科大讯飞
-Mobileye -阿里巴巴
-Open AI -微软亚洲研究院
-Google -中科院
-Uber-百度
2016年3月9日,韩国首尔的一场棋赛反响空前。从棋迷到学者,再到普通百姓,那几日的工作之余不知有多少人的计算机屏幕上都留了小窗,关注着这场比赛的动态。此战可谓现象级,它不仅吸引了全球记者的长枪短炮,也顺势成了那段时间人们茶余饭后的首要谈资。
这不是一场普通的围棋赛事,而是被贴上了“世纪大战”标签的人机智慧对决。对弈的双方,一方是人类顶级棋手李世石,另一方则是诞生于英国的人工智能程序——Alpha Go。五盘大战最终以执黑的李世石投子认负结束,在19路围棋盘上,Alpha Go以4比1的比分攻破了人类又一座引以为傲的智慧堡垒。此役过后,人们记住了这个被爱称为“阿尔法狗”的人工智能,记住了它背后的谷歌子公司Deep Mind,也记住了两个“新”技术——深度学习(Deep Learning)和强化学习(Reinforcement Learning)。
深度学习曾登上《麻省理工科技评论》2013年“10大全球突破性技术”榜单[1],而强化学习也入选了《麻省理工科技评论》2017年“10大全球突破性技术”[2]。本文将浅谈强化学习技术的发展史、基本原理以及实际应用。
这还要从围棋和国际象棋这两种棋说起。20年前(即1997年),虽然国际象棋程序已能逼平甚至战胜人类冠军,但当时围棋程序的水平却尚不及业余棋手的水平。这是因为,对于计算机来说,后者的复杂程度远高于前者。国际象棋的棋盘为8行8列,正式比赛的围棋盘的纵横则各有
Alpha Go的出现,让人不由得联想起当年的“深蓝”(Deep Blue)——早在1997年,这台IBM超级计算机就曾击败人类国际象棋冠军加里·卡斯帕罗夫(Garry Kasparov)。那么,为什么时至今日人工智能界还会为一场棋赛的胜利而大肆狂欢?
人工智能Alpha Go——强化学习的空前成功
19路——361个可供落子的交叉点。也就是说从状态空间的复杂度(state-spacecomplexity)来看,国际象棋约为1047,而围棋则高达10170。
复杂度的天壤之别,也意味着“深蓝”的制胜套路无法复制到围棋赛场。实际上,当年就曾有人质疑过“深蓝”所谓的“智能”,认为“深蓝”的胜利不过是依靠每秒可运算2亿步的“蛮力”,穷举出棋盘的可能性。像卡斯帕罗夫这样的国际象棋大师可以预测当前走棋对未来10步局面的影响,而“深蓝”却能够预估12步,从而也就握有更高的胜算(即便这样,“深蓝”也仅是以3.5:2.5险胜)。然而,即便将“深蓝”所采用的全部优化算法放到如今最高性能的计算设备上,人们也无法将围棋比赛中机器的决策用时修剪到合理的时间内。由于围棋没有能够明确计算当前棋局状况的机制,因此也难以测算某些走棋的优劣。
那么,Alpha Go究竟是靠什么赢得比赛的呢?
2016年1月,《自然》(Nature)杂志刊发的谷歌Deep Mind的论文,详细解析了会下围棋的Alpha Go背后的技术[3]——蒙特卡洛树搜索(Monte Carlo Tree Search)及深度强化学习。
Deep Mind将蒙特卡洛树搜索与两个深度神经网络——价值网络(value network)及策略网络(policy network)结合,并通过人类职业棋手的比赛数据对网络进行监督学习(supervised learning)训练。通俗地说,就是先让Alpha Go学会评价棋路的优劣,然后再通过不断与自己对弈进行强化学习,来提升棋艺。
让人工智能程序学会下围棋,需要解决3个问题:①下棋规则;②如何评价棋步的优劣;③如何改善棋路。第1个问题,通过为程序录入规则就可以解决(一些简单的if-then语句),主要的挑战在于后面的两个问题。对于普通人和一般棋手而言,通过增加对弈次数、学习大师的棋路,棋艺就能实现一般意义上的提升;而对于专业的围棋选手甚至围棋大师而言,下棋除了掌握一般棋路,更离不开天赋般的“灵光一现”,或者叫“直觉”。对弈李世石这样的顶尖高手,Alpha Go需要具备获得“灵感”的能力(因为“暴力枚举”在围棋这样量级的比赛中几乎无法实现)。
Alpha Go通过在有监督的情况下学习职业棋手的数百万盘对弈过程,建立了对棋局走势及棋步价值的评估体系。当棋艺提升后,Deep Mind又让它和稍早期版本的自己对弈,从而在不借助外力的情况下完成几百万甚至几千万次模拟,借助强化学习让Alpha Go“参悟”下棋的感觉,在与自己的对抗中不断成长。而在实际的比赛现场,Alpha Go则根据积累的经验,借助蒙特卡洛树搜索去动态寻找最优方法,如此才缔造了Alpha Go最终的“压倒性”胜利。
Mel Bochner泡泡(Babble),2011年
计算机和人工智能系统难以理解语言的其中一个原因在于,词语的意思往往与语境甚至字母形态有关系。上图中,几位艺术家展示了如何通过不同的视觉线索来传达文字背后的意义
强化学习的发展史
虽然名字让人多少有些陌生(目前国内的翻译版本有“增强学习”“加强学习”等),但是强化学习实际上并不是新鲜产物。不过,近年来随着设备计算速度的提升,以及深度学习架构的兴起,强化学习才得到了真正意义上的成长。它的兴起让人们猛然觉得人工智能的未来已经指日可待。
听起来工业味十足的人工智能,与心理学等其他社会学科、科学学科都颇有渊源。虽然看起来这些学科与人工智能的关系不大,但既然名称中带有“智能”二字,就免不了要去探究“什么是人类智能”“如何判断是否具备人类智能”以及“如何通过现有的技术手段实现或模拟人类智能”。
如果说人工智能的研究发展史是全球一众学者孜孜不倦、辛勤攻克几个问题的马拉松,那么强化学习就是其中一部分学者构想出的、希望实现人工智能的一个技术手段。
实际上,从遗传算法到人工神经网络,很多人工智能方法都打上了心理学和神经科学的烙印。作为机器学习的一大分支,强化学习势必无法免俗。其实,从现代强化学习的教父级人物理查德 · 萨顿(Richard Sutton)的履历上,我们就可以窥见这一学科的发展脉落。现任加拿大阿尔伯塔大学计算机科学教授的萨顿,他的学术生涯伊始的选择让人有些“出乎意料”——斯坦福大学的心理系。虽然这两个学科在圈外人看来跨度极大,但是在接受人工智能媒体《机器之心》的专访时,萨顿却坦然表示,他所感兴趣的是学习的机制,是探求人类学习过程的奥秘。虽然最终的研究阵地是计算机,但心理学就像是个秘密武器,让他从中汲取了无数的灵感。
学界关于强化学习的历史有很多个版本,本文则借鉴了萨顿的著作《强化学习导论》(Reinforcement Learning:An Introduction)中的介绍。萨顿为强化学习的发展史梳理出了3条主流脉络[4]。
按照流行程度排序,第一条发展线是源自心理学动物实验的“试错”(trial-and-error)流派,偏重学习。简单来讲,就是通过不断尝试、犯错、学习经验,再尝试,“偶然”完成目标,然后加强“成功”经验、再重复试错的过程,并不断靠近解决方案。具体的案例可以参考下文介绍的桑代克的“猫迷箱”实验。
强化学习的第二条发展线主要采用“最优控制”理论(optimalcontrol)及“动态规划”(dynamic programming),偏重“最大控制”理论。这里举一个例子来说明“最优控制”的应用——以更短的时间,开车翻越山丘。当司机驾驶汽车行驶在翻山越岭的公路上时,在什么时机踩下油门加速、加速多久,都会对最终到达目的地的时长带来影响。在这一过程中,又可能存在诸多限制条件,比如汽车有限的汽油量,无法一直加速;再如公路路况不允许超速行驶等。简而言之,“最优控制”要做的,就是在限定条件下寻求最优结果。结合“动态规划”可以降低寻找最优方案的成本——将每一次决策过程中所遇到的难题分解成子问题,并对解决方案进行存储;当下一次遇到相同的子问题时,进行检索查询而非重新计算。
第三条发展线则是时序差分法(temporal-diference method)。时序差分与过往的经验和状态有关。这一方法结合了蒙特卡洛方法和动态规划的理念[1]。之所以说时序差分法与蒙特卡洛方法类似,是因为它根据一些策略(policy)对环境进行随机取样学习。时序差分法又汲取了动态规划的精髓,在过去习得的估测结果的基础上,对未来状态进行尽可能的“拟合”[5]。
在20世纪80年代末,这3条分支逐渐汇集一处,形成了现代的强化学习。
行为心理学线:从桑代克的“猫迷箱”到明斯基的“鼠迷宫”
早在100多年前,美国行为主义心理学家爱德华 · 桑代克(Edward Torndike)就曾描述了由动物实验观察到的“强化学习”过程。在著名的“迷箱实验”(Torndike’s Puzzle Box)中,桑代克将作为被试的猫关进一个名为“迷箱”的实验装置中。正是在这些暗藏机关的箱子里,一只只小猫帮助他验证了生物学习过程中的“规律性”——学习是一个渐进的过程,而非顿悟[6]。
在实验过程中,被试猫会被放入迷箱。箱子本身设有机关,只有通过触碰一个杠杆,猫才能从内部打开箱子,吃到摆在箱外的鱼。迷箱中的小猫们第一次从箱子中逃离并吃到鱼的过程,通常都需要进行很多次尝试。猫成功逃离迷箱后,又会被再一次放回箱内。这时候桑代克所要做的,则是记录猫每次逃离迷箱所用的时间。在多次尝试后,猫就“学会”了通过按压杠杆来获得最有益于它们的结果——吃到箱外的鱼。它们会接受这种行为,并在之后的实验中更迅速地按下杠杆。
桑代克将这种行为命名为“效果律”(Law of Efect),即能够带来好结果的行为会得到重复,而结果不好的行为可能会被停止,这意同“趋利避害”,与强化学习的方法论如出一辙。
不过这种学习机制在机器上的模拟,却晚了近半个世纪。1943年,美国学者沃伦 ·麦卡洛克(Warren S.Mc Culloch)和沃尔特·皮茨(Walter Pitts)在《数学生物物理学公告》上发表论文《神经活动内在思想的逻辑演算》(A Logical Calculusofthe Ideas Immanentin Nervous Activity),讨论简化人工神经元网络及其实现逻辑功能的机制。
这篇文章不仅推动了人工网络的研究,也给了当年还是哈佛大学学生的马文·明斯基(Marvin Minsky)很大的启发。根据1981年12月《纽约客》杂志上的长文《人工智能》(A.I.)[7]的记录,1950年前后,马文 · 明斯基决定和他的同学迪恩 · 埃德蒙兹(Dean Edmonds)合作进行人工神经网络的研发。他们借助电子管、小电机等器件打造了一台模拟人脑的机器,并将它命名为SNARC(Stochastic Neural Analog Reinforcement Calculator),意为“随机神经模拟强化计算器”[8]。
SNARC拥有40个人造神经元,不同的神经元之间引入了大量的连接,以此模拟生物神经元在信息传输过程中的容错机制。明斯基和埃德蒙兹用SNARC进行了“老鼠走迷宫”实验,模拟老鼠在迷宫中可能发生的行为。在多次随机尝试后,这些老鼠可能会在偶然情况下走出迷宫。这个成功的反馈,会“促使”老鼠们对行为产生的结果进行“思考”,继而在后续的逃离迷宫尝试中更倾向于选择会带来这些良性结果的尝试。也就是说每当模拟老鼠成功逃出虚拟迷宫时,这些突触的连接强度就会增加,老鼠也就更倾向于选择与这次成功脱逃相关的行动。
后来,人们将SNARC视为全球首台神经元计算机,明斯基也被奉为人工智能之父。2016年1月26日,采用深度强化学习技术的Alpha Go以5 :0的战绩横扫欧洲围棋冠军樊麾,将人工智能推向了前所未有的高度。但令人扼腕痛惜的是,明斯基在2016年1月24日因脑溢血去世,未能亲眼看到他坚持了几十年的梦想终于接近现实的一天。
控制论线:最优控制及动态规划
与刚才介绍的心理学线一样,这条最优控制线同样也兴起于18、19世纪,代表人物是德国数学家卡尔 · 雅可比(Carl Gustav Jacob Jacobi)和爱尔兰数学家、物理学家及天文学家威廉·哈密顿(William Rowan Hamilton)。最优控制常应用于配置控制器,从而减少对动态系统的测控。
20世纪50年代,这一方法的另一重量级人物、美国应用数学家理查德·贝尔曼(Richard E.Bellman)提出了著名的贝尔曼方程,以及通过求解这一方程来实现最优控制的动态规划方法。1957年,他又在自己的论文[8]中首次引入了马尔可夫决策过程[2](Markov Decision Process,后简称MDP)的概念。1960年,罗纳德·霍华德(Ronald Howard)为MDP设计了策略迭代算法,再次推动了这一领域的发展。后来,这些概念也成为现代强化学习理论及算法的基本元素。
除了上文提到的贡献,动态规划之父贝尔曼还指出了“维数灾难”(Curse of Dimensionality)——在优化问题中,当用来描述的空间维度增加时,分析过程也会遇到各种问题。这意味着在计算机应用中,随着价值方程中状态变量的数量增加,解出贝尔曼方程的耗时也会呈指数级增加。这一维数的“诅咒”,至今仍然制约着强化学习的发展和应用。
虽然这两条发展线乍看起来,心理学线偏重“学习”,优化控制线似乎更关注“强化”,不过仍然是殊途同归——很多动态规划算法都是增量、迭代、循序渐进,通过逐次“近似”得出正确的答案,这一过程与“学习”并无二致。
强化学习的原理浅谈
机器学习是人工智能的重要分支,这一领域通常会利用概率论、统计学、计算机科学等知识,从训练数据中识别特征模式、学习规律,以此对未来数据进行分类、预测。强化学习便属于机器学习的范畴。
机器学习可以分成三大类:监督学习、无监督学习(unsupervisedlearning)以及强化学习。
监督学习,是目前研究及应用最多的学习方式。顾名思义,这种方法是需要通过“监督者”预先填好标签(label)的训练数据进行学习的方式。监督学习的任务,根据目的的不同又可分为回归分析(regression)和分类(classifcation)。简单来说,回归分析任务的输出是连续的,而分类任务的输出则是离散的。各大高校的机器学习课程中,大多采用两个简单的例子来区分这两类任务:“回归分析”的典型代表是房价预测——在这个问题中,输入数据是房子的属性值(如房子的大小、卧室数量、洗手间个数),输出数据则是房价(连续的);“分类”的代表是癌症诊断,这时输入的数据是肿瘤属性(如大小、位置),输出的数据则是良性或恶性(离散的)。
无监督学习,则无须事先为数据贴好标签。这种方式更像是聚类(clustering)的过程,即根据数据的特征,发现实例之间的相似性[10]。前任百度首席科学家、人工智能专家吴恩达(Andrew Ng),曾在斯坦福大学的机器学习课程中用“鸡尾酒会问题”对无监督学习的应用场景作出了解释。“鸡尾酒会问题”的实质,是从音频数据中分离出不同声音源发出的声响。假设在酒会会场中的两个不同位置各放一个麦克风,输入数据就是这些设备采集到的音频数据,这一声音分离任务之所以为“无监督”,是因为我们事先无法给每个声音打上标签。这一方法最成功的案例,可能要算谷歌脑(Google Brain)在无监督的情况下通过观看You Tube视频截图形成“猫”的概念。
强化学习也属于机器学习,不过它与其他两种方式有着显著的区别。强化学习需要通过与“环境”的交互,逐步进行学习。然而在与环境交互的学习过程中,很难从整体上去判断过程中的每一步究竟谁对谁错。这就好比在与李世石棋赛的第二盘,Alpha Go第37手肩冲的一招棋,是让棋圣聂卫平也不禁“脱帽致敬”的好棋。然而纵观整场比赛,带领黑棋走向最终胜利的,究竟是这个神来之笔,还是之前的伏笔,抑或是之后看似不经意的某一步,几乎让人无法做出评断。也就是说,在这种情况下,我们这些“监督者”无法真正地对每一步、每一个情形都贴上对或错的标签。强化学习的方式,则是在每次对弈后,根据胜平负的情况给予机器代理(agent)不同程度的奖励,而机器代理要做的就是努力让自己每盘棋累积的奖励最大化。
强化学习的基础概念
虽然强化学习的训练数据并没有对应的标签,但因为机制不同,它并不能算作无监督学习的子集。无监督学习的目标是挖掘数据的潜在结构,强化学习则是通过与环境交互获得最优解的过程,这与上文提到的动态规划非常相似。
通俗来讲,在强化学习问题中,机器代理(agent)会与环境进行交互,根据当前的环境状态权衡“即时奖励”(immediate reward)以及“延迟奖励”(delayed reward),然后采取行动……依此不断地往复、试错,寻找能够最大化累积奖励信号的策略(policy)[11]。在这一过程中,机器代理的行动也会对环境造成影响。而最终,获得较高的奖励后,得到这一奖励的过程中的所有行动均会得到加强。以桑代克迷箱实验为例,猫的目标是将自己的累积奖励(快速逃离箱子获得鱼)最大化,每次成功地快速逃出而获得奖励的过程中,猫执行的所有动作都会得到强化(不仅仅是按下正确杠杆的那一步)。
强化学习可以分为基于模型(Model-Based)和无模型(Model-Free)两大类[11]。基于模型的学习认为环境有确切的模型,因此需要大量的计算进行建模,并根据模型选择最合适的策略;而无模型学习中并没有环境的显式模型,因此需要大量的经验,通过反复试验、不断试错的过程来评价行动的优劣。
基于模型的强化学习方法,通常都发展于动态规划理念。此类方法需要一个可以被规范为马尔可夫决策过程[9]的环境模型。动态规划方法通常会通过策略迭代(policy iteration)来求解最优策略,这一迭代过程可以被拆分成两大环节:策略评估(policy evaluation)和策略提升(policyimprovement)。
无模型的强化学习方法,主要包括蒙特卡洛方法和时序差分学习方法(Temporal-Diference Learning,TDLearning)。
蒙特卡洛方法借鉴动态规划的概念,适用于有限MDP的策略评估过程。蒙特卡洛方法得名于摩纳哥的著名赌城,是以随机数和概率为基础的统计模拟方法。在强化学习中,蒙特卡洛
这些图像来自Mobileye的强化学习汽车的视觉系统
方法会随机分配机器代理的初始位置,然后按照某一个策略执行动作,并在完成所有动作后记录每一对状态—行动对的值,周而复始。这样一来,只要给定足够多的时间,它也就能通过计算状态—行动对的平均值,估算出行动—价值方程,完成策略评估的过程。
上述两种方式都有一定的限制——动态规划算法需要环境模型,蒙特卡洛方法只适用于规模较小的有限MDP。如果想结合动态规划与蒙特卡洛方法的优势并规避二者的缺陷(即无需环境模型又可用于较大MDP任务的算法),这时就需要用到时序差分学习方法。蒙特卡洛方法需要等到所有的动作完成后再进行策略评估,而时序差分学习方法则只需要考虑后一步的时序误差值,就可以进行逐步迭代。时序差分学习方法根据策略更新方式的不同,又可以分为在策略(on-policy)和离策略(of-policy),代表算法分别为Sarsa-Learning以及Q-Learning。
探索未来与利用过去的权衡
强化学习的过程需要解决的一大难题,是在对未知的“探索”(exploration)和对已知的“利用”(exploitation)之间进行抉择[12]。对这个选择困境,现任Deep Mind研究员的大卫 ·席尔瓦(David Silver)曾在英国UCL(University College London,伦敦大学学院)的强化学习课程上举了一个简单易懂的例子:如果你的任务是去你最喜欢的餐厅就餐,那么挑选曾经去过的饭店中你最爱的一个,显然是个稳妥又简便的选择。不过如果总贪恋过去,你又如何知道那些没有去过的餐厅中有没有自己更喜欢的呢?
强化学习任务中,机器代理在每个环境状态下都必须采取行动,因此选择行动的方式也就尤为重要。这些方法中最简单的是贪婪选择(greedy selection),即每次都选择最高的行动—状态值(这是一种纯粹“利用”的方法)。当然,为了寻求探索与利用的平衡,学者们还开发了更复杂的选择机制,如Є-贪婪选择算法——与传统的贪婪方法一样倾向于选择最高的行动—状态值,不同之处在于机器代理有较小的概率Є去选择未探索过的行动;玻尔兹曼选择(Boltzmann Selection)则是另一种平衡方法,此种算法不仅吸纳了概率的概念,在选择时还会考虑状态—动作的相对值,即与其他可能性比较之后,如果差值极高则倾向于选择高的那一个,如果两个行动值差距不大,那么选择的概率也就近似[13]。
强化学习的应用
虽然国际象棋、围棋等脑力运动代表着人类智慧的堡垒,不过人们更在乎的还是强化学习技术该如何落地,在现实生活中找到用武之地。其实,如今的强化学习技术已经迈出了游戏竞技的小赛场,在我们的生活中找到了更多“接地气”的应用场景。它能改进自动驾驶汽车的表现,能让机器人学会抓起以前从未见过的物体,可以帮助品牌投放广告,也可以用于资源管理、降低能耗。
“实践出真知”的机器人
提到机器人,首先映入脑海的可能是电影《星球大战》中外形呆萌的R2-D2、BB-8,或是波士顿动力(Boston Dynamics)那些善于奔跑、跨越障碍的四足机械巨兽,也可能是DARPA挑战赛上那些迈着步子在赛场上执行模拟救援任务的人形机器人。我们几乎都会自然而然地忽略掉机器人圈中两个非常重要的成员——自动驾驶汽车和工业机器人。对前者,虽然媒体的报道从未间断,但是四轮的车型让人难以将它与“人”联系起来;而后者,不仅报道更少,它们单一古板的机械手臂造型似乎也达不到我们对机器人的期许。
不过实际上,相比那些外形惹眼的拟生机器人,貌不惊人的自动驾驶汽车和工业机械手臂却与我们的生活有着更紧密的联系,它们也正是强化学习技术的主战场。
自动驾驶汽车:学会应对复杂的路况
仅仅是通过实验、实践,计算机便可以自己学习到程序员们从未教导过的事情。
2016年年末,在巴塞罗那的一次人工智能会议上,播放了一段令人热血沸腾的驾驶模拟视频。在实时计算机模拟的画面上,几辆自动驾驶汽车在一条四车道虚拟高速公路上展开了一场看起来疯狂至极的演习。这几辆车一半在尝试从右侧车道移向中间,而另一半则希望从左侧向中间并线。即便对于人类的老司机来说,遇上这样的情况有时也会乱了阵脚,不过这些自动驾驶汽车却仍然能够在这种混乱的情况中做到精确的控制,成功地完成了这个棘手的任务。
在如此复杂的路况下进行自动驾驶,这本身已令人惊讶。不过更让人意外的是,这些自动驾驶汽车的行为并非通过常规的软件编程方式完成的。它们是通过反反复复的练习,自己学会了如何流畅、安全地并线。在平时的训练过程中,根据车辆在行驶中的表现,控制软件会自动进行操作,尝试对指令进行微调。当然,这一过程绝非一蹴而就,大多数时候,由于并线动作过慢,车辆之间会相互干扰,引发混乱。不过每一次并线成功后,系统都会加强对这些动作的偏好。没错,这里所应用的技术便是强化学习。
自动驾驶汽车虽然发展迅速,但是一些让人始料不及的复杂路况,对它们来说仍然是不小的挑战。比如涉及与人类司机互动的情况,或是行驶到环岛、十字路口时。如果我们不想承担不必要的车祸风险,也不愿因为机器人过分犹豫而造成道路堵塞,那么我们就需要让它们获得更细致的驾驶技能,比如如何超车。
巴塞罗那人工智能大会上的高速并线模拟,来自Mobileye。这家以色列的人工智能公司,为包括特斯拉在内的十几个汽车品牌提供车辆安全系统。在播放了这些并线视频后,Mobileye技术副总裁沙伊·沙莱夫-施瓦茨(Shai Shalev-Shwartz)又向观众们展示了自动驾驶汽车面临的其他挑战,比如耶路撒冷一个繁忙的交通环岛、巴黎闹市区某个疯狂的路口,以及印度某条极其混乱的街道。“如果自动驾驶汽车总是循规蹈矩地遵守交通法规,那么在上下班高峰的时候,自动驾驶汽车可能会因为等待并线而白白浪费一个小时的时间。”沙伊说。
Mobileye计划在2017年的晚些时候,与宝马和英特尔合作测试这一软件。谷歌、优步等科技公司也会有研究团队应用强化学习的方法训练自动驾驶汽车。
在斯坦福大学人工智能专家艾玛 · 布伦斯基尔(Emma Brunskill)看来,强化学习正在越来越多的领域中得到应用。不过她认为,这一方法尤其适合自动驾驶汽车,这是因为驾驶的过程是一种“良好的决策序列”。如果程序员们需要事先试想行驶过程中所有可能会发生的情况,然后再逐一对它们进行编码加以应对,那么这一领域的进展将会缓慢许多。
智能工业机器人:机械臂被装上了“大脑”
20世纪50年代,美国人乔治 · 戴沃尔(George Devol)提出了工业机器人的概念并申请专利。后来这些机械手臂得到了长足进步。它们的出现大幅提升了工厂的自动化程度,并降低了人力成本,代替人类工人在高温高压等极端环境或污染、放射性场地中完成指定的工作。目前包括富士康、飞利浦在内的全球顶级制造厂商,都大量采用机械手臂进行加工、组装,甚至逐步打造出全自动化的“灭灯”(lightout)工厂。
工厂中的工业机器人需要快速、精准地完成任务。不过在生产线上那些熟练的机械手臂的背后,即便是抓起物品这样看似简单的小动作,往往也需要程序员投入大量的时间,反复修改、实验。当工厂的生产任务发生改变时,修改、调整机械手臂的预设程序的成本也同样不容小觑。
不过随着强化学习技术的到来,这些隐藏在“无人”工厂背后的程序员的工作负荷也可以被大幅降低。
2015年年底的东京国际机器人展览会上,日本发那科(Fanuc)展示了该公司与日本机器学习公司Preferred Networks合作开发的新型智能机械臂。只需给这些工业机器人布置简单的小任务(如从盒中挑拣物品等),然后等上一晚的时间,第二天清晨它就基本可以“摸索”出一套自己的解决方案。令人惊奇的是,它的背后并没有强大的专家系统,也没有一群加班熬夜、精通机械的程序员。“大概用上8小时左右的时间,它的拣拾准确率就能达到90%以上,这和专家预先编码好的效果几乎没有差别。”Preferred Networks研究人员描述道[14]。
这些新型工业机器人正是通过深度强化学习技术训练自己学会执行新的任务。拣拾物品的过程,需要机器人做到手“眼”(摄像头)协调。这些机械手臂会在任务过程中录制视频,每次拣拾完成,根据效果它们会得到不同的奖励值,而无论每次任务是否成功完成,这些机器人都会记住这些物体的样子。这些知识不断积累,从而细化了那些控制机械臂动作的深度学习模型(或大型神经网络)[15]。2016年8月,谷歌研究团队也发表了论文[16],介绍了通过大型卷积神经网络、强化学习等技术,帮助机器人依靠单目图像学习抓握物体过程中手“眼”协调的方法。有趣的是,在经过大量数据的学习以及反复试错后,谷歌的机械手臂不仅能够完成抓握,还会自动对软物体和硬物体采用不同的动作策略。
训练的过程中,深度神经网络可以控制并调整机械手臂的动作,通过反复实践,强化那些更接近最终目标的动作(如拾起物品),从而让工业机器人在不断试错的过程中对自己重新编码。在深度强化学习的帮助下,这些在工厂中全年无休的工业机器人们,拥有了属于自己的“大脑”。
互联网营销及推广
网络营销与推广,是强化学习的另一个舞台。搜索引擎广告常采用竞价排名机制,广告主需要购置关键字并根据点击等进行付费。由于广告客户预算有限,因此无法支持长期地将大量资金用于广告投放而不顾及回报。良好的出价策略(bidding)应该使广告业务实现可持续增长(即收入高于成本)。但大多数广告主希望获得可持续的增长,这间接导致了广告界的竞争。按照不同的粒度划分,比如每个小时、每天、每周,整个广告环境的竞争状况会构成一个复杂网络。基于整个网络的状态和不同状态之间的关系,选择最优出价或出价组合,是广告主的主要目标。
强化学习技术正好可以满足广告竞价的需求。为了实现最终目标——ROI(投资回报率)>1或其他KPI(关键绩效指标),具体的应用方法是根据当前的各种环境状态,来训练对应的神经网络,在这个神经网络的基础上进行强化学习的训练,利用该模型对未来出现的不同行为、变量、状态进行反馈,以求最优的结果[17]。
换言之,在广告投放过程或整个活动的生命周期中,通过训练承载有不同阶段状态的模型,根据奖励结果(收入或KPI)的反馈,模型就能调整广告投标价格,以优化该模型下的广告投放的效果。所有状态都可以被反映到神经网络,由权重和偏差来反映不同状态之间的关系。这种关系是动态变化的,也正因为如此,借助强化学习所建立的模型,能够根据实时数据、状态做出对应的预测和调整。这一点与自动驾驶汽车有异曲同工之妙。
优化资源配置,降低能耗
从计算机集群的作业调度,到云计算中的虚拟机部署,再到数据中心的冷却控制,资源管理的问题几乎无处不在。对资源进行合理的优化调节,一直以来都是学者和业界关注的重要问题。解决这一问题的传统方法,是为简化的资源分配问题、建造启发性模型,然后在实验过程中反复测试、调整,直到得到更好的表现[18]。
不过,由于设备、操作与环境三者之间存在非线性的复杂联系,仅依靠传统的优化算法以及人类工作人员的经验,很难将这一问题解决得更好——系统无法快速适应内外部的变化,而操作员也不可能给每一个可能的情况加以编码。除此之外,由于每个数据中心都有自己独特的架构和环境,因此在某个中心表现出色的预设优化方案,在其他地方的表现可能并不会令人满意。
这样一来,我们就需要一个智能的框架来理解环境和过往经验,并依此采取行动——这又走到了深度强化学习的地盘。在2016年的年度总结[19]中,Deep Mind 宣布利用机器学习帮助谷歌数据中心冷却账单下降40%。谷歌数据中心支持着该公司旗下You Tube、Gmail、搜索引擎等服务,对于这样的资源能耗大户来说 ,这样的数字意味着极大的成本节约。
其他的科技巨头也展开了依靠经验自动调整优化资源配置的研究。2017年1月,微软团队发表论文,介绍了利用强化学习完成资源管理的解决方案——Deep RM。实际上,资源调配问题本身非常适合采用强化学习的方法实现:第一,这些系统作出的决定通常是高度重复的,为强化学习提供了丰富的训练数据;第二,强化学习能够为复杂系统和决策策略建模;第三,这一系统能够为缺乏精确模型的环境提供奖励信号(比如资源节约会得到正向奖励);第四,通过不断的学习,强化学习能够在不同的条件下,针对特定的工作负载进行优化[18]。
强化学习的发展阻力——逃不出的“维数诅咒”
强化学习虽然已经有了一些成功的案例,比如工业机器人、自动驾驶汽车,但是这一方法也遇到了一定的阻力。
这些阻力中,最严重的一个当属60多年前动态规划之父贝尔曼提出的“维数灾难”。在现实世界中,走出了实验室的机器人需要面对更多的未知情况,因此在进行强化学习的过程中就要将几十甚至上百个变量纳入考虑,这会导致问题的困难程度呈指数级增长。另外一个问题则是机器人制造及维修的成本。强化学习的本质是不断试错的过程,因此在机器人进行实践的过程中,很有可能在没有得到好的策略前就已经导致设备损伤甚至报废。而即便设备还能继续使用,也有可能因为损伤而影响之前训练出的策略的准确性[20]。人工智能专家吴恩达也曾发出警告,指出强化学习方法需要消耗大量的数据,而目前的成功多是在机器可以反复模拟的案例中,比如Alpha Go的自我对弈。
现在,强化学习的研究人员们仍然在努力探索、找寻那些能够让强化学习应用于复杂场景的方法。在人工智能大会上大放异彩的Mobileye,也不得不对自动驾驶汽车的协议进行调整,以避免它们的车在躲避事故的同时引发新的事故。在巴塞罗那的会场上,当人们看着那个神奇的并线视频演示时,会感觉强化学习已经帮我们推开了人工智能的大门。不过,也许在2017年的晚些时候,在你身边的某一条高速公路上,强化学习会经历诞生以来最戏剧性也是最重要的测试。
专家点评
皮埃罗·斯加鲁菲(Piero Scaruff)
硅谷精神“布道师”,先后在哈佛大学、斯坦福大学等研习人工智能(语义学、认知科学、神经网络等)30多年。还曾在加州大学伯克利分校等兼职讲授认知论、心理学、艺术史等课程。已出版《硅谷百年史》(与他人合著)、《智能的本质》等多部重量级作品。
在2013年的一天,全世界被一条计算机可以在对Atari游戏毫不了解的情况下自己学会如何玩这个游戏的新闻而震惊。随后,计算机开始不断地击败世界各地的围棋大师(Deep Mind的Alpha Go是最有名的一个,却不是第一个)。现在,计算机甚至达到了和专业赌徒一样的水平,可以玩扑克牌了。
因为以上的这些案例,媒体们已经开始称赞深度学习(Deep Learning)的神奇,不过在这些计算机程序的背后,真正的引擎则是一项至少有60年历史的人工智能技术“强化学习”(Reinforcement Leraning)。
事实上,在第一次人工智能大会(Conference on Artifcial Intelligence)召开的两年前,即1954年, Marvin Minsky就发表了一篇关于“强化学习”的论文。2013年,Deep Mind团队发表的标题为《使用深度强化学习来玩Atari》(Playing Atari with Deep Reinforcement Learning)的论文中,也对这篇古老的论文进行了引用。Deep Mind团队的这篇论文中所提及的深度Q学习[3](DQN)被视为强化学习的复兴,但是其中的算法其实也是一种古老的算法——Q学习法,这种算法在大约20年前,即1998年Richard Sutton和Andrew Barto联合出版的《强化学习简介》(Reinforcement Learning - An Introduction)一书中,便已经被全面地介绍过。强化学习是根据一种奖惩机制而工作的技术。奖励和惩罚机制在这里与你教导一个小孩所采用的试错法(Trial-and-Error)一样。“价值函数”(value funciton)对系统的不同状态进行奖励和惩罚,“策略函数”(policy function)则用来决定系统下一步进行哪种移动(next move)能得到最大的奖励。当结合使用价值函数和策略函数的时候,就会得到“Q 函数”(Q-function)。“深度Q学习”(Deep Q learning)使用了一种卷积神经网络(Convolutional Neural Network,是由Fukushima 在1990 年提出的一个观点,得益于现代计算机计算能力的迅猛提升,这个观点也变得可行了)来改进策略函数(policy function)。
为什么在Sutton的书中已经包括了主要的公式的情况下,强化学习用了20年才走进人们的视野?这是因为,在20年前计算机的计算能力还没有现在这么强。摩尔定律(Moore’s Law)是当前人工智能技术的核心秘密。虽然在算法和观点上,我们近来有所创新,不过人工智能科学家更多的工作,则是耐心地将复杂架构的神经网络(Neural Network)合并在一起,这需要计算机强大的计算能力。虽然观点是非常重要的,不过耐心和计算机的计算能力才是重中之重。你可以在网上练习你的强化学习(Rreinforcement Learning)技术,不过我想你很快就会发现,人工智能这件事真的需要很多耐心和计算机的计算能力。而且大多数情况下,这两点我们都不拥有。
在上文中,我提到了近些年我们在算法和观点上的创新,不过我发现,很难找出一个和过去的算法和观点完全不同的新方向。比如,Alpha Go采用蒙特卡洛树搜索(Monte Carlo Tree Search)改进了Atari程序,但这也是基于一个至少可以追溯到20世纪80年代采用“搜索算法”(search algorithm)来改进对复杂问题解法的老观点(也在25年前第一次应用在围棋游戏中)。
第二篇关于Atari的论文《通过深度强化学习算法达到人类级别控制》(Human-levelcontrolthroughdeep reinforcementlearning)有19个作者,并且在参考资料中提及了《动物智力》(Animal Intelligence)这本书。《动物智力》是一本由心理学家爱德华·桑代克(Edward Torndike)于1911年发表的著作。
当然,每年都会有人调整强化学习的核心算法,以提高计算速度和降低计算强度。比如,2014年由Volodymyr Mnih、Nicolas Heess、 Alex Graves和Koray Kavukcuoglu发表的论文《视觉注意的复发模型》(Recurrent Models of Visual Attention),就被认为是强化学习的一个主要的扩展。不过这篇论文难道不只是对Ronald Williams于1992年所发表的论文《连接强化学习的简单统计梯度跟随算法》(Simple Statistical Gradient-Folowing Algorithmsfor Connectionist Reinforcement Learning)的改进而已吗?
从哲学的观点出发,这种进步的模式真的令人震惊。强化学习、检索方法以及其他人工智能技术的发展趋势,事实上都是非常简单的数学。你可以用简单的几行就可以写出一个公式(这些公式在非数学家们看来可能非常复杂,不过事实上并没有那么难,比如爱因斯坦的引力方程)。
当你上百万次地在一个巨大的数据集上运行这个简单的几行公式时(如Atari游戏),这些算法开始表现得像玩这个游戏的专家一样,虽然这些算法其实根本不知道这个游戏的规则。Atari程序通过观察计算机屏幕的像素点来“学习”如何玩这个游戏。这个程序对这个游戏的规则一无所知,甚至根本不知道这是一个游戏,它只是在成千上万个例子的基础上不断地重复运行一个数学公式而已。
你现在有充分的理由质疑,所谓的“智能”到底在哪里?哲学家们为此分为了两派。其中一派认为智能需要真正理解它正在干什么,并且最终我们的“理解”只是对简单的神经算法进行大规模的迭代而已。这一派的哲学家们也希望,在未来的某一天我们可以发现一个并不能被大规模的简单算法重复计算而攻克的游戏。不过目前看来,我们已经被仅仅重复计算简单算法的机器轻易地打败了。而且机器(在不知道游戏规则的前提下)已经“学会了”难度不断增加的游戏,并且超越了我们人类的能力。
但是,还是不要高估机器奇迹般的能力。机器算法虽然可以学会如何玩一个游戏,并且击败了人类大师,但是这一切都构建在人类设计的正确机器算法的基础上。机器事实上还只是一个和它的环境相交互、可以成功地解决问题的“学习代理”而已。深度学习的基础步骤便是捕捉问题的关键特征,并且适时地优化学习代理的行为,这些工作都是由人类专家完成的。这些专家现在主要采用“马尔可夫决策过程”(Markov Decision Process)来解决这些问题。机器可以作为学习代理,但是目前它还不能作为学习代理的设计者。
不过,学习代理本身也有显著的差异。我们人类自身的学习其实并不是简单的惩罚奖励机制。人类和机器其实是采用了两种不同的方法进行学习的。人类的学习中有很多常识和直觉的因素(毕竟游戏也是由与我们分享相同世界的人类所发明的)。人类学习的方法,最开始是被“指导”的,有人告诉我们如何去玩这个游戏,随后我们在很短的时间内就通过我们的猜测探知到这个游戏是怎么玩的。但是强化学习根本不需要知道这个游戏是在干什么,它只需要知道玩这个游戏的目标是什么,以及可以进行的行动有什么,随后,机器的任务就是在这些可以进行的行动中选择最好的,以达到最终的目标。由于机器的学习方法是这样“选择”的,人类玩家可以在几分钟之内学会玩这个游戏,但是如果让一个强化学习算法最终可以把一个游戏玩得非常好,可能需要几小时、几天或者几个月的计算(这取决于计算机的计算能力)。不过你在学习骑自行车的时候则是结合了这两种学习方法:一开始你的爸妈告诉你(指导你)自行车是怎么工作的,然后你不断练习,在每次的尝试中调整你的动作以免跌倒,提升你自己的稳定性(奖惩机制),直到你可以驾驭它。
心理学家们一直对强化学习极其着迷,因为强化学习只有在学习代理对环境有了整体认知的情况下才有效。Atari电子游戏的一个操作或者围棋的一个移动都构成了一个简单的环境。人类也可以将强化学习应用在更为复杂的环境中。使用强化学习的机器人,现在仍只能处理非常简单的案例。事实上预计机器在未来可能会有什么快速的发展很容易,不过我认为思考一下这些算法怎样增强我们人类对自身的了解则更有意思。
另一个让强化学习如此吸引人的原因,可能就正如Tambet Matiisen所说的“看他们解出一个新的游戏,就跟在野外观察一个动物一样”。
专家点评
姚颂
深鉴科技创始人兼CEO,致力于构建更便捷、更高效的深度学习专用平台。毕业于清华大学电子工程系,斯坦福大学访问学者,曾获2016年度“新锐CEO”称号。
相比于深度学习这样的监督学习,强化学习其实更类似于人类学习的机制:强化学习对于处理的任务,观察当前状态(State),通过一个回报函数(Q-Function)计算不同操作的回报(Q-Value),即结果好还是不好,学习到在不同状态下怎么操作能够得到最大的回报。如果说深度学习是从训练数据中学到一个非线性函数,将未知数据与标签对应,那么强化学习则是学习一个状态机制,在各种情况下每次都选择回报最大的方式。
强化学习,Reinforcement Learning,又被简称为“Q Learning”,已经是机器学习界一个很古老的问题了。近年来,结合深度学习而出现的Deep Reinforcement Learning(以下简称为Deep Q Learning)给强化学习领域带来了大的突破,使其与GAN、迁移学习等topic一样,成为当前机器学习最火热的话题之一。
当强化学习真正大规模地应用时,却又遇到状态过多的问题——传统的强化学习用一张表来存下不同状态的Q值,而对于一幅640×480的RGB格式的图像,有(2∧24)∧(640×480)个状态,无论如何也不可能存下这样大的表格。这时Deep Reinforcement Learning横空出世,直接用深度神经网络来计算任意状态的Q值,而不是用一个表格存下来,这样非线性的表达能力正是深度神经网络擅长的!
将强化学习带入大众视野的,也是关于深度强化学习的开创性论文,是2013年Deep Mind发表的Playing Atariwith Deep Reinforcement Learning。在这篇论文里,Deep Mind的研究人员为了证明方法的通用性,对“打砖块”等7款游戏,通过设置游戏的得分作为Reward,让算法直接使用图像作为输入,判断游戏的操作,获得最高的游戏得分。甚至在其中的3款游戏上,算法的得分超过了人类高手的得分。
强化学习还可以用来玩更多的游戏,比如Flappy Bird,甚至Alpha Go也可以算作围棋游戏。Alpha Go还有一个趣事:由于算法追求的是赢棋的概率,结果只以最终是否赢棋反馈,而观察不到赢了多少目,因此如果Alpha Go遇到可以以70%赢10目与80%赢1目这两种情况时,会选择后者——这也是为何有时Alpha Go会犯傻。最近,强化学习在德州扑克Doom游戏上的表现也吸引了非常多的关注,Deep Mind与暴雪还共同开发了《星际2》的强化学习算法。
虽然强化学习在打各种游戏方面吸引了众多目光,但它最大的实际应用行业还是工业控制——这个方向的引领者依旧是Deep Mind,2015年它们在Nature上发表了Human-Level Controlthrough Deep Reinforcement Learning,成为开山鼻祖。强化学习用于工业控制也非常直观,如一个机械手需要夹起流水线上的一个零件,拼到整体产品上,可以通
专家点评
田丰
过当前机械手上的摄像头拍摄,直接学习到机器手接下来应该怎样操作,而不是用精密的编程操作。前百度首席科学家、斯坦福大学Andrew Ng教授的小组,也曾经使用强化学习进行直升机的控制。在Google最近的Learning Hand-Eye Coordinationfor Robotic Graspingwith Deep Learningand Large-Scale Data Collection中披露,利用深度强化学习,对复杂物体使用机械手的抓取,已经能够达到非常高的成功率了。
尽管离真正的大规模使用还有一定的距离,但我相信强化学习的未来是非常光明的——因为强化学习十分类似人类从环境中得到反馈、不断学习与改进的过程,是一种更本质与持续的学习方式。比如,自动驾驶分为感知、决策、控制三大部分,目前深度学习还只能比较好地解决感知部分的问题,对于不同场景驾驶的决策与控制,强化学习将来是不是会带来革命性的突破呢?
阿里云研究中心主任,专注于云计算、物联网/工业互联网、大数据、VR/AR科技战略的研究。工信部人才交流中心工业和信息化特邀专家,中国互联网协会核心专家。
强化学习技术的应用场景广泛,市场空间巨大,从游戏人工智能、围棋博弈、自动驾驶汽车、机器人控制,到电商推荐、工业智能制造、新能源发电、调度管理,能够让机器算法像人一样学习、思考、决策。互联网上,“大应用”带来“大用户”,“大用户”产生“大数据”,“大数据”训练“大智能”(算法),机器学习的指数级成长速度,与人类学习的线性成长速度是天壤之别,机器在大规模、高复杂度、实时性要求高的诸多领域的应用效果已经远超人类水平。
机器学习算法分为非监督学习、监督学习和强化学习3种类型。强化学习是多学科、多领域交叉的技术产物,其本质是解决“决策”问题的算法,即帮助智能计算体(含软硬件)学会自动进行决策。该技术具有普适性,涉及博弈论、控制论、运筹学、信息论、模拟优化方法、多主体系统学习、群体智能、统计学以及遗传算法。
强化学习的原理是序列决策问题处理,需要连续选择一些行为,从这些行为完成后得到的最大收益作为最好结果。与监督学习不同,强化学习在没有任何“标签”告诉算法应该怎么做的情况下,先尝试做出一系列“行为”,然后得到一个结果,通过判断这个结果是对还是错来对之前的行为进行反馈,由这个反馈来调整之前的行为,通过不断地调整算法能够学习到在什么样的情况下选择什么样的行为可以得到最好的结果。这与人类利用现有知识解决未知领域的问题的学习过程相通,即人为什么能够做出最优决策。
2016年1月,谷歌Deep Mind团队研发的Alpha Go以4 : 1战胜人类职业棋手李世石,同年12月,谷歌Alphpa Go的升级版本Master在围棋网站上以60 :0的压倒性优势连续打败各国30位顶级水平棋手。在围棋(古代称为“弈”)诞生4000多年后,2016年7月,人类的围棋历史被改写,世界职业围棋排行榜上第一名——柯洁的位置被谷歌Deep Mind人工智能系统取代,至今无人打破。这背后是智能计算硬件与算法的升级,从胜樊麾时的单机版Alpha Go(48个CPU+8个GPU),升级到完胜人
专家点评
郑文
类高手群体的分布式Alpha Go(1202个CPU+176个GPU),从下一步棋用时1分钟,进化到下一步棋用时8秒反而棋力大增,不仅是计算集群堆叠,还靠增强学习训练算法模型升级起到了决定性作用。未来,纯人类棋手对弈将会被人工智能算法对弈或人机智能混合(“人+人工智能”半人马组合)对弈所取代,人类老师将让位于“算法为师”。
在产业领域,强化学习的应用场景也有很多。比如,在2016年“双11”淘宝天猫1207亿元成交额的背后,阿里巴巴利用强化学习技术,对电商搜索引擎的排序策略进行实时调控,在异常复杂的在线推荐场景中,优化算法对上亿商品实现毫秒级处理响应,收到很好的效果。如果把淘宝搜索引擎看作智能体,把用户看作环境,那么商品的搜索问题就可以被视为典型的顺序决策问题。商品推荐算法每一次排序策略的选择可以看成一次试错,把电商用户的反馈、点击成交等作为从环境获得的奖赏。在这种反复不断地试错的过程中,商品推荐算法将逐步学习到最优的排序策略,最大化累计算法“奖赏”。这种与环境交互的过程中不断地试错学习,正是电商强化学习的根本思想。
快手前沿技术研究部YLab负责人,斯坦福大学计算机系博士,曾在硅谷多家著名企业、创业公司担任资深研究员,研究领域涉及计算机视觉、深度学习、计算机图形学与物理模拟等。
虽然强化学习在2017年被评为“10大突破性技术”,但它已经有几十年的历史了。它的基本思想是,学习在不同环境和状态下哪种行为能把预期利益最大化。然而,这种方法一直无法推广到现实世界中的复杂问题上,其中最主要的原因是,现实中可能遇到的情况错综复杂,无法进行一一枚举。在深度学习出现后,事情发生了巨大变化:深度学习在解决复杂模式识别问题上有了突破性的进步。当深度学习与强化学习结合后,对现实情况的枚举,就换成了首先对现实情况做模式识别,然后再对有限的模式进行枚举,大大减少了计算量和存储代价。这种学习方式也更接近人类思维的模糊判断的特点。
Google的Deep Mind以围棋高手Alpha Go一战成名,它也是最早将深度学习与强化学习进行结合的公司之一。当时,主要的深度学习方法是监督式学习,也就是必须对训练数据进行标注。这项工作通常需要人力完成,而深度学习所需的数据量又十分巨大,所以标注数据的获得经常成为深度学习方法的一大瓶颈。而强化学习在一定程度上避免了这个问题,因为它的学习过程不依赖于标注,而是由一个奖励函数来主导。这和人类在大多数情况下的学习方式是一致的,因为多数时候人类的学习过程并没有监督和标注,而是根据产生的结果好坏来调整,如婴儿学习走路的过程。因此,学术界有不少人认为,强化学习以及同样不需要标注数据的无监督学习是未来深度学习的发展方向。
但是,在目前的情况下,强化学习要实现比肩人类在现实世界中的学习过程,仍然比较困难。强化学习需要大量的数据进行训练才能学习到有意义的模式,这在现实世界中比较困难。比如,在药物研发的应用中,训练数据的获得往往涉及从大批人群中进行组织采样,费用高、耗时长,进行一次算法训练的代价是巨大的,而研发过程中还需要不断地迭代训练。
强化学习最早绽放出光彩是在模拟环境当中。Deep Mind早期的工作是训练计算机通过直接看屏幕的输出学习如何玩游戏。由于训练数据可以直接从计算机中获得,而且游戏的运行速度也可以人为加快,所以强化学习的过程可以很快完成。同样,战胜了人类顶级围棋高手李世石的Alpha Go也是在模拟环境中训练的。特别是Alpha Go可以通过自己与自己对弈来学习,每次的对弈都在计算机内完成,训练速度大大加快。
在未来,如何将强化学习高效地应用于现实世界,训练数据将会是研究者需要解决的重要问题。一种思路是降低算法本身对数据量的需求,使算法能够从较少的数据中学习出有意义的结果,比如与生成式模型的结合。另一种思路是通过模拟的方式快速地生成数据,比如在训练自动驾驶汽车时,先在计算机里模拟路况等信息进行训练。强化学习方法已经开始应用于医药开发、自动生产机器人、自动驾驶汽车等领域。我们可以预期,随着技术的不断进步,能自动做家务的机器人也将有一日走入普通百姓的家庭。
[1].很多强化学习算法都利用了动态规划理念。传统的动态规划算法常用于优化任务,就像是一种“聪明的蛮力法”,它会将问题拆分成多个子问题,每一个被解决过的子问题都会被记录下来,当已经解决的子问题再次出现的时候,只需直接查找结果而不需重新计算,并以此寻找最佳的解决方案。
[2].马尔可夫过程(Markow Process)是指符合马尔可夫性质的随机过程,即条件概率仅与系统当前状态(state)相关、与历史或未来状态相独立的过程。与传统的马尔可夫过程不同的是,从MDP将行动(action)也纳入考虑,即环境的下一个状态不仅与当前的状态有关,也与当前要采取的行动有关。
[3].“深度Q学习”(Deep Q Learning)虽然是现在最流行的强化学习(Reinforcement Learning)技术,但是其并不是唯一一个采用强化学习的技术(卡耐基梅隆大学就对强化学习进行了很好的调查)。并且请注意,Richarrd Bellman可以追溯到1957年,用于实现最佳控制(optimal control)的动态规划(dynamic programming)的技术也采用了一个类似的概念。