强化学习:通过实验,计算机正摸索如何去做程序员从未教给它们的事
2017年10月26日 由 yining 发表
536413
0
在一个简单的计算机模拟中,一组自动驾驶汽车在四车道的虚拟高速公路上进行了一项疯狂的操作。有一半的车辆正试图从右边的车道上移动,而另一半则试图从左侧并道。这似乎是一件很复杂的事情,可能会让自动驾驶汽车变得不那么容易,但实际上,“它们”能精确地控制汽车。
控制汽车行为的软件并不是传统意义上的编程。通过熟练和安全地练习,它们学会了如何并道。在训练过程中,控制软件一遍又一遍的执行操作,每次尝试都会稍微改变一下指令。大多数时候,并道的过程过于缓慢,汽车之间相互干扰。但无论何时,只要并道的进展顺利,系统就会对导致它做出正确行为的方式给予支持。
这种方法采用了“强化学习”技术。除了改进自动驾驶汽车之外,这项技术还可以让机器人理解以前从未见过的物体,还可以计算出数据中心设备的最优配置。
强化学习从本质上复制了一个非常简单的原则。心理学家Edward Thorndike在100多年前就记录了这一情况。Thorndike把猫放在箱子里,它们只能通过被施压的方式才能逃脱。他得出一个结论:猫不是通过推理和观察而学会逃出迷宫的;它们之所以能够顺利逃脱,原因只有一点,那就是不断地尝试,在不断地尝试和失败中慢慢消除那些无用的行为,记住那些有助于逃脱的行为。
一些早期的人工智能研究人员相信,这个过程可能会在机器中得到有效的复制。1951年,Marvin Minsky,哈佛大学的一名学生建立了一种机器,使用一种简单的强化学习方式,模仿老鼠学习导航迷宫。Minsky的随机神经模拟强化计算机(SNARC)由几十个管道、马达和离合器组成,模拟了40个神经元和突触的行为。当一只模拟的老鼠从一个虚拟的迷宫中走出来时,一些突触连接的强度就会增加,从而加强了潜在的行为。
1992年,IBM的一名研究人员Gerald Tesauro演示了一种使用这种技术来玩西洋游戏的程序。它的技术能力足以与最优秀的人类棋手匹敌,这在人工智能方面是一个里程碑式的成就。但事实证明,强化学习很难扩展到更复杂的问题。“人们认为这是一个很酷的想法,但实际上并没有真正起作用,”英国DeepMind的研究人员大卫西尔弗说道,他是当今强化学习的主要倡导者之一。
去年,AlphaGo战胜了人类围棋冠军李世石,取得了令人惊叹的胜利
然而,这一观点在2016年3月发生了戏剧性的变化。AlphaGo,一个使用强化学习训练的程序,击败了韩国最优秀的围棋选手李世石。这一壮举是惊人的,因为几乎不可能通过传统的编程来建立一个良好的围棋程序。围棋的下法不仅非常复杂,而且即使是有成就的棋手也可能难以解释某些下棋动作是好是坏,因此游戏的原则很难编写成代码。大多数人工智能研究人员都曾预计,计算机将需要10年的时间才可以达到这种体育项目的专家级水平。
争夺地位
英国剑桥大学的本科生西尔弗解释了为什么强化学习最近变得如此强大。他说,关键在于将其与深度学习相结合,这种技术需要使用一个非常大的模拟神经网络来识别数据中的模式。
强化学习之所以有效,是因为研究人员发现了如何让一台计算机计算出应该分配的价值,比如说,一只老鼠在走出迷宫时可能会做出的每一个正确或错误的决定。每种价值都存储在一个大表中,计算机在学习时会更新所有的这些价值。对于大而复杂的任务,这在计算上是不切实际的。然而,近年来,深度学习已经被证明是一种非常有效的方式来识别数据中的模式,无论这些数据是指迷宫中的转弯、棋盘上的位置,还是电脑游戏中屏幕上显示的像素。
图片来自于Mobileye的汽车视觉系统,它们从强化学习中受益
在自动驾驶汽车中,你可能会注意到这款软件非常人性化的行为。如今的自动驾驶汽车在复杂的情况下往往会出现问题,这些情况涉及到与人类司机的互动。如果我们不想让它们冒不必要的风险,或者因为过于犹豫而阻塞道路,它们就需要获得更微妙的驾驶技能,比如在一群其他车辆中争夺位置。
Mobileye是一家以色列汽车公司,该公司生产汽车安全系统。Mobileye的技术副总裁,沙伊沙瓦茨认为“如果一辆自动驾驶汽车遵守交通规则的话,那么在高峰时刻,我可能会在一个汽车不断并道的情况下等待一个小时。”
Mobileye还计划在今年晚些时候与宝马和英特尔合作,测试一款汽车的软件。同时,谷歌和优步都表示,他们也在测试自动驾驶汽车的强化学习。
斯坦福大学的助理教授Emma Brunskill认为,强化学习正在应用于越来越多的领域。她表示,Mobileye的这款车非常适合自动驾驶,因为它能实现“良好的决策顺序”。如果程序员必须预先将所有这些决策编码到汽车中,那么进展将会缓慢得多。
但也有一些挑战需要克服。百度的首席科学家吴恩达警告道,这种方法需要大量的数据,而且强化学习的许多成功都得益于计算机在模拟中的不断练习。事实上,研究人员仍在研究如何使强化学习在复杂的情况下发挥作用。Mobileye不得不对其网络数据交换规则进行调整,这样一款自动驾驶汽车就能避免事故的发生,而不会更容易为他人造成事故。