最近几个月,DeepMind 每次宣布在玩游戏的计算机上取得惊人的成果时总会获得人们的关注。
起先,这家谷歌旗下在伦敦的人工智能研究中心宣称世界上有了一个能自学玩上世纪八十年代以来从 Pong 和 Breakout 到 Pac-Man、Space Invader、Boxing 等的近 50 种不同的 Atari 游戏的计算机程序,使用起来只要输入像素位置和游戏分数。这个程序在其中一半以上的游戏中有与人类同样好的表现,甚至比人的水平还要高。之后,今年一月,DeepMind 研究员们在策略游戏研究上的成果 AlphaGo 给众多专家们留下了深刻的印象,他们的这个可以下围棋的程序在这项古老的棋盘游戏中打败了欧洲冠军。对于人工智能来说这种棋比国际象棋还要难。一个多月后,AlphaGo 再创新高:它在 5 局系列比赛中赢下了 4 局,击败了世界上最好的围棋棋手李世石,让这位世界冠军大吃了一惊。
让计算机从零开始学习这类复杂游戏直到熟练到让公众惊讶的想法,DeepMind 的成功已经吸引了学术界与商业界对 DeepMind 的方法背后的人工智能领域的兴趣——这种方法是深度神经网络和强化学习混合体,称为「深度强化学习(deep reinforcement learning)」。
「强化学习是一种学习模型,它并不会直接给你解决方案——你要通过试错去找到解决方案,」马萨诸塞大学阿默斯特分校(University of Massachusetts Amherst,该校长期致力于强化学习的研究)教授 Sridhar Mahadevan 解释道。
深度强化学习与监督学习对比起来最清晰,监督学习是用来训练图像识别软件的,它以有标注样本(标签需要人来打)的方式来监督。另一方面,「强化学习不需要标签,也不需要通过输赢奖励来自动打标签,」艾伯塔大学的计算机科学家 Rich Sutton解释道,他是强化学习领域的共同创始人和该领域标准教科书的合著者。在强化学习中,你选择的行动(move)的越好,得到的反馈越多,「所以你能通过执行这些行动看是输是赢来学习下围棋,不需要有人来告诉你什么是好的行动什么是坏的行动,因为你能自己分辨它们——它能让你赢,它就是好的 move。」
Sutton 知道这个过程没那么简单。即使在一个规整严格控制的游戏世界里,推导出哪一个 move 能赢也是一个臭名昭著的难题,因为在每个动作和其回报之间有一个延迟,这是强化学习的一个关键特征。在很多游戏中,在游戏结束之前不会收到任何反馈,比如赢了得到 1,输了得到 -1。
「通常情况下,你必须经历上百个动作才能让得分上升,」加州大学伯克利分校副教授 Pieter Abbeel 解释道,他正在研究将深度强化学习应用到机器人上。(对于一个机器人来说,奖励来自于完成任务,比如正确组装两个乐高积木。)「在理解游戏怎么玩,以及怎么通过你的试错来学习之前,」 Abbeel 说,「你做的就是哪些上得分上升、下降或者持平的事情。但是你如何区分你做的哪些事让你的得分上升了,哪些事只是浪费时间呢?」
这个棘手的问题,被称为信用分配问题( credit assignment problem),仍然是强化学习的主要挑战。「强化学习比较独特,因为它是唯一关注解决信用分配问题的机器学习领域,而我认为这个问题是智能的核心,」田纳西大学电子工程与计算机科学系的教授、 Osaro 的 CEO Itamar Arel 说到。「如果是好的结果,我能回想起之前的 n 步,然后找出我走了哪些步,得到好的或者不好的结果吗?」
正如人类玩家一样,找出聪明的步骤让该程序可以在未来面临同样的情况时重复这一步骤——或者为了得到一个更高的分数,尝试一个可能更好的新步骤。在非常小的世界里(想想井字游戏),同样的情形会一次又一次地出现,所以该学习代理可以在查找表中存储每种可能情形的最好动作。然而,在国际象棋和围棋这样的复杂游戏中,穷举所有的可能情形是不可能的。即使简单的一点的西洋跳棋也有非常多的分支和深度,其可能情形的数量就已经很难以想象了。所以想象一下,当你从游戏迁移到真实世界的交互中时会发生什么。
「在真实世界中,你永远不会两次都看到同样情形,」Abbeel 说,「所以除了表之外,你还需要一些东西来帮助理解某些情形和之前见过的情形相似。」这就是深度学习的用武之地,因为理解相似性————能从许多特定的实例中提取出通用的特征——是深度神经网络的一个很大的优势。这些网络的许多层能够以越来越高的抽象水平学习相关的特征,这是目前在测量情形之间的相似度上最好的可用方法,Abbeel 解释说。
这两种类型的学习——强化学习和使用深度神经网络的深度学习——可以很漂亮地互相补充,Sutton 说,「深度学习是有史以来最伟大的事情,但其很快就变得受限于数据了,」他解释说,「如果我们能使用强化学习自动生成数据,即使这些数据的标注比人类的标注弱很多,但因为我们自动生成它们,我们就可以得到远远更多的数据,所以这两种技术可以很好地配合在一起。」
尽管围绕 DeepMind 的喧嚣不断,但结合强化学习和神经网络并非新鲜事。1992 年,IBM 的 Gerald Tesauro 开发了一个玩西洋双陆棋戏的程序 TD-Gammon,就是一个通过强化学习学习如何下棋的神经网络(名字中的 TD 表示时间差分学习(Temporal-Difference learning),现在仍是强化学习中的一种主要算法。)「那时候,每美元所买到的计算机的速度要慢 10,000 倍,这意味着你不能开发非常深度的网络,因为它们会很难训练。」瑞士卢加诺大学人工智能教授 Jürgen Schmidhuber 说道。该教授因在神经网络和强化学习上的开创性贡献而享有盛名。「深度强化学习只是传统的强化学习与更深度的神经网络结合之后的产生的流行词。」
Schmidhuber 也指出该技术的成功虽然让人印象深刻,但目前为止都还只是处于较为狭窄的领域;在这些领域中,当前的输入(例如围棋的棋盘局面或 Atari 的当前屏幕)就能够给出指引下一步骤所需要知道的一切。但是这种「马尔可夫特性(Markov property)」并不存在于游戏之外的世界。「在真实世界中,通过你的传感器/感官你只能看到世界的一小部分,」Schmidhuber 指出,无论对于机器人还是对人类来说都是这样。作为人类,我们通过对过去观察的选择性记忆来补充我们有限的感知;我们也会借鉴数十年的经验而将已有的知识和技能结合起来解决新问题。他说:「原则上,我们目前的强化学习器可以做到这一点,但人类仍然能做得远远更好。」
研究者在继续推进强化学习器能力的发展,并且已经在寻找实际的应用了。
「智能的一部分是知道该记住什么,」密歇根大学强化学习专家 Satinder Singh 说。他已经在使用世界建造游戏 Minecraft 来测试机器可以如何选择查看其所在环境中的哪些细节,以及可以怎样使用这些存储的记忆来更好地选择行为。
Singh 和另外两位同事最近联合创立了一家软件公司 Cogitai,该公司的目标是使用深度强化学习来「构建能以人类从经历中学习的方式进行学习的机器」,Singh 说。比如说,通过物联网连接的恒温器和冰箱不仅能从自己的过去经历中学习,还能整合来自其它互连设备的经历,从而使自己不断变得越来越聪明,并因此能在正确的时间选择正确的行动上做得更好。
Arel 的软件创业公司 Osaro 也在使用深度强化学习,该公司承诺消除其学习曲线的昂贵的初始阶段。比如说,一台可以从头开始学习玩 Atari 游戏 Pong 的计算机可以完全毫无头绪地从头开始,但也因此需要玩上上万次才能掌握这个游戏——而相对而言,人类对球会在墙面和拍子上反弹的物理经验有很直观的认识,即使儿童也知道。
Arel 说,「深度强化学习是一种很有潜力的框架,但从头开始应用它来解决真实世界问题的话会有些问题。」比如说,一个组装智能手机的工厂需要其机器人制造设备加快速度在几天时间内拿出一个新的设计,而不能拖上几个月。Osaro 的解决方案是给该学习代理展示什么是好的表现「以使其从远好于从头开始的起点开始」,这让该代理可以快速提升其性能表现。
Arel 说,即使最适量的展示也能「给该代理一个良好的开端,使之可以切实地将这些想法应用到机器人和其它获得经验的成本很好的领域。」
本文编译自 CACM,进一步阅读:
Mnih, V., et al.
Human-level control through deep reinforcement learning. Nature (2015), vol. 518, pp. 529–533.Silver, D., et al.
Mastering the game Go with deep neural networks and tree search. Nature (2016), vol. 529, pp. 484–489.Tesauro, G.
Temporal difference learning and TD-Gammon. Communications of the ACM (1995), vol. 38, issue 3, pp. 58–68.Sutton, R.S., and Barto, A.G.
Reinforcement Learning: An Introduction. MIT Press, 1998,https://mitpress.mit.edu/books/reinforcement-learning