万书网 > 心理哲学 > 科技之巅 2 > 强化学习的发展阻力——逃不出的“维数诅咒”

强化学习的发展阻力——逃不出的“维数诅咒”

    强化学习虽然已经有了一些成功的案例,比如工业机器人、自动驾驶汽车,但是这一方法也遇到了一定的阻力。

    这些阻力中,最严重的一个当属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),升级到完胜人

    专家点评

    郑文