每个人都怀揣着一个游戏梦。有趣的是,游戏曾经是人工智能发展的“第一推动力”。
早在人工智能的萌芽之初,让机器下棋就成了AI先驱者们的执念。1928年,计算机体系的奠基人,美国物理学家、数学家、经济学家冯·诺依曼就提出了极小极大值定理 (MiniMax Theorem),即在双人对弈中,我方应在对方给出最优应对的假设下设计最佳走法[1]。1948年,控制论的创始人诺伯特·维纳在他的书中提到了基于MiniMax设计对弈机器的方法[2]。
图1 诺伯特·维纳体验托雷斯·奎韦多的对弈机器
1949年,信息论的创始人克劳德·香农发表了经典论文《Programming a Computer for Playing Chess》,提出了基于启发式信息的走棋方式,并亲手设计了一台弈棋机[3]。1952年,计算机科学之父、人工智能的奠基人艾伦·图灵也兴致勃勃地设计了一款国际象棋程序,可惜他手头没有像样的计算机,只能靠手算。可以想象,这位人工智能的开山祖师对于机器对弈是多么迷恋。
冯·诺依曼、诺伯特·维纳、克劳德·香农、艾伦·图灵等一众顶尖科学家都兴致勃勃地尝试设计对弈机器人。也许他们本人并不那么喜欢游戏,但他们真的很希望自己设计的机器人能学会游戏!
图2 香农在设计下棋机
1956年,达特茅斯会议召开,标志着人工智能正式走上历史舞台,而机器在对弈上的成功是这次会议召开的重要推动力之一。会议的两位主要组织者:约翰·麦卡锡和克劳德·香农,都在这方面有深入思考。约翰·麦卡锡还在会议上讨论了大名鼎鼎的 剪枝算法。
这些讨论成为很多新研究的起点。其中,最为重要的可能是亚瑟·塞缪尔的机器学习方法。塞缪尔在1959年发表了一篇论文,报告了机器通过8-10小时的学习后掌握了下西洋跳棋的技巧,并可以战胜程序的设计者[4]。这是一个了不起的成就,证明了机器学习的巨大潜力。
图3 亚瑟·塞缪尔
在随后的60多年发展历程中,人工智能几经起伏,几乎每一次的重获新生都与下棋的事儿分不开。例如,1997年IBM的深蓝战胜了当时的国际象棋冠军卡斯帕罗夫,2016年DeepMind的AlphaGo在围棋上战胜了人类顶尖棋手李世石。机器的每一次胜利都打击了人类作为万物之灵的自信,同时也激发了人们对人工智能更热烈的追求。
图4 深蓝对战卡斯帕罗夫 (左) 和 AlphaGo对战李世石 (右)
为什么人工智能的研究者要与下棋这种看起来很枯燥的事儿“死磕“呢?可能有两个原因。第一,下棋,不论是围棋、跳棋、中国象棋还是国际象棋,规则都非常明确,输赢也一目了然,只不过要花费大量计算。计算机很喜欢这种定义简单但计算量大的任务。第二,人们潜意识里觉得下棋是一件很烧脑的事儿,能很好地代表一个人的智力水平,因此机器的下棋水平也可以代表它的智能。
现在我们已经知道,这种确定规则下的棋类游戏正是计算机所擅长的,毕竟它算得快,记得清,看得远。真正困难的是那些规则不明确的游戏,比如闯古墓、打怪兽等。事实上,在AlphaGo对战李世石的前一年,DeepMind就在Nature上发表了一篇文章[5],采用一种深度强化学习方法训练了一个会打街机游戏的AI,在Atari 2600对战中达到了人类玩家的水平。
图5 Atari游戏
学会玩Atari之后,机器的能力一发不可收拾。2017年,CMU的Libratus系统在德州扑克游戏中战胜了人类玩家。2019年, OpenAI的OpenAI Five系统在学习了相当于180年的战斗技巧后,在Dota 2中战胜人类。同年,DeepMind的AlphaStar在星际争霸II中战胜99.8%的人类玩家。
图6 AlphaStar对战人类选手
这些进展带给人们带来了极大的震撼。因为在这些游戏中,AI开始对环境、规则等一无所知,却可以通过与环境进行接触和互动,从无到有学成一身本领,证明了深度学习加持下的强化学习的强大威力。特别是在星际争霸这样的即时策略游戏中,AI需要观察和理解当前局面,分析判断敌我双方的优劣对比,根据资源、环境、对方的行为特点制定己方的行为策略。这已经不是一个简单的游戏问题,而是一个集分析、推理、决策为一体的控制系统。这种强大的学习能力引起了人们的极大关注,一些研究正在尝试用类似的方法进行量化交易、训练机器人,甚至进行军事战术模拟。人工智能通过玩游戏,把自己玩成了超人般的存在,恐怕连图灵等AI先驱也未曾想到。
参考文献:
[1] John von Neumann (1928). Zur Theorie der Gesellschaftsspiele. Berlin.
[2] Norbert Wiener (1948). Cybernetics or Control and Communication in the Animal and the Machine. MIT Press.
[3] Claude Shannon (1949). Programming a Computer for Playing Chess. download pdf from The Computer History Museum.
[4] Arthur Samuel (1959). Some Studies in Machine Learning Using the Game of Checkers. IBM Journal July 1959.
[5] Mnih, V., Kavukcuoglu, K., Silver, D. et al (2015). Human-level Control Through Deep Reinforcement Learning. Nature 518, 529–533.
[6] 人工智能发展史:计算机弈棋 (https://blog.sciencenet.cn/home.php?mod=space&uid=3005681&do=blog&id=1233246).
供稿:清华大学 王东
制作:北京邮电大学 戴维
审核:北京邮电大学 李蓝天