游戏中应用强化学习技术,目的就是要打败人类玩家?
2016 年,DeepMind 公司开发的 AlphaGo 4:1 大胜韩国著名棋手李世石,成为第一个战胜围棋世界冠军的人工智能机器人,一时风头无两。AlphaGo 的巨大成功开启了“人工智能元年”,也让强化学习渐为大众熟悉。
5 年后,强化学习技术发展如何?最大的瓶颈是没法用?理想的强化学习策略是什么样?……带着这些疑问,InfoQ 采访到了西山居人工智能领域专家黄鸿波,和他聊了聊强化学习技术在西山居的应用与实践经验。
强化学习(Reinforcement learning,RL)是人工智能算法的一个特殊分支,由环境、代理、奖励、动作、状态五大关键要素组成。
维基百科对强化学习的定义为:强化学习强调如何基于环境而行动,以取得最大化的预期利益。与机器学习下的另外两种训练方法监督学习和无监督学习不同,强化学习不需要大量的“数据喂养”,而是通过不断尝试使自己获得最大奖励。
DeepMind 研究人员在一篇名为《奖励就够了》的论文中提到,奖励最大化和试错经验足以培养出可表现与智力相关能力的行为。由此他们得出结论,强化学习这一基于奖励最大化理念的人工智能分支,可以引领通用人工智能的发展。
而在此之前,“强化学习教父”Richard Sutton 更是直言:“我相信,从某种意义上讲,强化学习是人工智能的未来。”
强化学习到底能解决什么问题?它是否真的无所不能?
在黄鸿波看来,依靠人类经验可以解决的问题,理论上,强化学习都能解决。“强化学习利用的是经验,而不仅仅是数据。在游戏领域,如果我可以通过经验告诉你怎么在游戏中走位会更好,那么强化学习也能够做到。在交通领域,依靠人类经验可以知道哪个时间段哪里车多,哪里车少,通过强化学习技术也可以做到这一点。”
虽然强化学习很强大,但在当前还难以实现通用人工智能。“如果你想用一个强化学习模型去解决所有的问题,我认为至少在现阶段是不太现实的。强化学习技术非常依赖算力,它对 CPU 的核数、集群的数量、GPU 的数量要求比较高。目前,强化学习技术所面临的最大一个问题就是算力。也许在未来,随着算力越来越强,算力成本越来越低,那么强化学习能解决的问题也会越来越多。”
事实上,关于强化学习发展困境的讨论一直存在。今年 7 月,知乎上一个题为“强化学习领域目前遇到的瓶颈是什么?”的话题讨论热度颇高,南大人工智能学院教授俞扬给出了“没法用”的答案,并随后作出进一步解释说明:
实际上强化学习这个古老的研究领域 2016 前在国内一直比较冷的根源就是没法用。研究领域大家也都清楚强化学习算法样本利用率低,然后做出了很多改进,但是要改进到什么程度才能有用呢,其实根据我们的经验有一个标准:
零试错:一次试错不能有,上线即能发挥效果,还要明显优于基线。
offline RL 是个正确的方向,但是目前的主流研究也有很多明显的弯路,可能发论文与做落地本身就是不同的事,大家的关心点不可能完全一致吧。说没法用只是吐个槽,要想发论文,就只能沿着所谓的 SOTA 来改进,即使是看起来没有希望的方向。
另外就是我们的落地越来越多,不再想着去说服别人 RL 可以用了。
黄鸿波认为,之所以在一些领域存在强化学习没法用的情况,原因在于当前无法保证强化学习模型所产生的结论是百分百正确的。
“很多领域都要求百分百精准,比如医疗领域、精密仪器制造领域等等。如果达不到完全精准,那我们就不能相信 AI,最后可能还需要人工进行复审。这意味着,AI 只是起到了一个辅助性的作用,并不能起到决定性作用,因此确实没法用。但在另外一些领域,比如游戏,即便 AI 出现了一点小的失误也没有关系。所以说,强化学习能不能落地,怎么落地,具体还是要看领域。目前来看,游戏无疑是强化学习技术最成功的一个落地场景。”
在过去,游戏 AI 一般倾向于采用行为树作为决策结构,通过引入逻辑节点减少转换条件,迅速地组织较复杂的行为决策,此外它的重用性很高,可以通过重组不同的节点来实现不同的行为树。但与此同时,行为树的缺点也显而易见,比如它会让游戏内置的机器人看起来非常死板,灵活性不强。
而强化学习技术恰巧能弥补这个缺点,让机器人更加拟人、智能,提高游戏的可玩性,同时也能提高游戏的制作效率。
2020 年,西山居开始在游戏中应用强化学习技术,并组建了强化学习团队。目前经过一年多的积累,西山居已经建立了强化学习集群,并搭建了强化学习开发平台和开发体系。在算法设计思路上,西山居在成熟的算法模型基础上,加入游戏特定的 Trick,让游戏整体在效果呈现上更加智能。“接下来,我们有一款对战类型的游戏即将上线,游戏中的 AI 就是利用强化学习技术来做的。”
在实践的过程中,黄鸿波发现游戏领域的强化学习和其他领域有本质上的区别。“目前市面上的算法、模型、框架基本都不是单独针对游戏领域的,而是一个通用的强化学习框架,它们的特点是运行环境要与框架进行强结合,并整体打包在一起进行模型训练。
但在游戏领域却是完全相反的,尤其现在大多数游戏都是网络游戏,有战斗系统或房间匹配系统,可能战斗系统单独跑在一个服务器上,训练系统跑在另一个服务器上。也就是说,训练环境和战斗环境实际上是一个分离的状态。这种情况下,就需要开发一个中转的平台来进行交互,需要考虑的问题包括怎么获取环境信息、状态信息,这个过程中还涉及到传输效率的问题。”
在黄鸿波看来,强化学习技术的落地秘笈并不在于要把算法改得多牛,而是要将强化学习技术与深度学习、游戏策划相结合,形成一套完备的解决方案,并将其实现。
“很多人认为我们用强化学习技术就是要把游戏变成非常强,其实并不是。通过强化学习技术去打败人类玩家其实是一件非常简单的事情,并且早已得到实现。但这是在研究阶段做的事情,真正落地的时候,AI 的目的并不是要打败玩家,而是要陪玩家玩游戏。这也是我们游戏制作的一个核心思想。”
至于理想的强化学习策略是什么样,黄鸿波认为在游戏领域中,要让用户有更加丰富的游戏体验,而在其他领域如工业制造等,要足够智能、灵活。“理想的强化学习能够让玩家在玩游戏的过程中更加开心。在非游戏领域,理想的强化学习能够做出更加精准的决策。”
谈到对人工智能的理解,黄鸿波认为人工智能首先是人工战胜智能,让计算机学到人类已有的知识或经验,然后再辅助人类去完成繁杂或是需要脑力计算的工作。
近几年,人工智能发展迅速,并逐步从学术研究过渡到产业落地。Appen Limited 发布的第七份《人工智能与机器学习现状年度报告》显示,各企业 AI 预算金额较去年大幅增长 55%;同时,企业更加关注 AI 项目的实际实施。
但与此同时,关于人工智能的质疑声也此起彼伏,有观点认为当前的人工智能远没达到智能,甚至有些是“人工智障”。
对于这些质疑,黄鸿波认为背后主要有两方面原因:一方面,要想把人工智能做得更智能,需要有一个非常庞大的数据云来做训练;另一方面,需要有强大的算力来做支撑。比如一些智能客服、陪聊 AI 很容易出现答非所问的情况,原因就在于训练过程中并没有给它们喂入足够大的语料,归根结底,还是模型数据和算力有限。
“人工智能跨过人工智障,我认为只是一个时间的问题。随着时间的推移,模型逐渐强大,算力足够廉价,数据足够多。这三个问题解决之后,人工智能就会逐渐成为人们理想中的样子。”黄鸿波说道。
最后,对于想在人工智能领域发展的年轻人,黄鸿波也分享了一点成长建议。
在他看来,无论是做人工智能方向的研究还是方案策划,一定要关注它的应用价值,关注如何才能将研究真正落地到生产中。而对于还未毕业的人工智能方向人才来说,一定要提前明确自己未来的发展方向。
“如果未来想进入企业里,就需要知道企业需要的是什么样的人才,企业需要的是工程能力强、算法能力强的人才,要能够解决实际的问题。如果未来想进入高校或研究机构,就要提高自己的学术水平。当你明确了从事的方向目标之后,再去根据目标一步步倒推,自己应该往哪个方向积累。”
有句话叫做“万物皆可 AI”,在可预见的未来,AI 的触角将伸向各个领域。
至于未来的 AI 什么样,黄鸿波畅想道:“与其说未来 AI 会应用在哪些方向,倒不如说未来我们需要解决什么问题?在未来,哪里有问题,哪里有痛点,哪里就可以用 AI 来解决。”
黄鸿波,珠海金山网络游戏科技有限公司(西山居)人工智能领域专家,高级算法工程师,谷歌机器学习方向开发者专家,拥有多年软件开发经验,著有《TensorFlow 进阶指南:基础、算法与应用》一书。曾在格力电器股份有限公司大数据中心担任人工智能领域专家,且在多家公司担任过高级工程师,技术经理,技术总监等职务。