计算机自学72小时 就成了国际象棋大师
距离ibm的深蓝超级计算机击败国际象棋世界冠军加里·卡斯帕罗夫(gary kasparov),已经快过去20年了。从那以后,会下国际象棋的计算机又有了显著增强,人类能够战胜计算机的可能性也越来越小。
不过,虽然计算机已经变得越来越快,但国际象棋引擎的工作原理并没有改变。计算机严重依靠“暴力破解”,通过寻找一切可能的移动方式,走出最好的一步棋。
当然,在这方面没有人能够与计算机匹敌,甚至是望其项背。深蓝计算机可以每秒思考2亿步,而卡斯帕罗夫很可能每秒不超过五步
然而,他仅仅是在决胜局输给了深蓝,基本上两者是在相同的水平上竞技。因此,很显然人类有一些技巧还没有被计算机所掌握。
神经网络
人类所拥有的技巧,主要是判断国际象棋的摆放位置,缩小最有效走位的搜索范围,这具有重要意义。如果计算机也学会了它,将大大简化计算任务,并从计算所有的可能性,变成计算最高效的几种。
计算机此前从不擅长这一技巧,但如今在伦敦帝国学院的matthew lai的研究下,情况会发生改变。matthew lai开发了一个名为giraffe的人工智能机器,它可以通过自学来判断下步棋该怎么走,这种方式更像人类,和传统的国际象棋引擎完全不同。
新型人工智能能与最优秀的传统国际象棋引擎达到相同的水平。如果按照人类水平来评估,也就相当于fide(世界国际象棋联合会)所评定的国际大师。
这一人工智能背后的技术就是神经网络,它是受人类大脑构造所启发,并用于计算机处理信息的一种方式,由多个节点层级所组成,系统会随着人类对其不断地训练而提升。
在过去的几年中,由于两个技术的进展,神经网络已经变得非常强大了。第一个是更好地了解了当它们进行学习时,如何微调神经网络,这要部分归功于更快的计算机;第二个是能够利用大量的注释数据集,来训练神经网络。因此,深度神经网络能发现国际象棋的规律也就不足为奇了,而这正是matthew lai所采取的方法。
他的神经网络由四个层级组成,能够以三种不同方式共同思考棋盘上每一个位置。第一种着眼于国际象棋的全局状态,例如每边棋子的数量和类型,轮到哪一方移动,位置对换等;第二着眼于棋子的特性,例如双方每个棋子的位置;最后就是映射出每个棋子的攻击和防守。
计算机自学下棋
训练这些机器通常采用的方法,是研究人员手动评估每一个位置,并用这些信息指导机器识别出哪些步数是有效的,哪些效果没那么好。但是,matthew lai的目标更加雄心勃勃,他想让机器自学这些内容。
他采用了一个引导技术,让人工智能giraffe自己与自己对决,从而改善对未来下棋走位的预测。在比赛胜利、失败或打平之后,会最终确定每一步的价值。以这种方式,计算机可以了解走哪个位置是有效的,哪些位置效果不好。
在giraffe经过培训之后,最后一步就是测试它的能力是否达标了。他用一个标准数据库strategic test suite来测试,这一数据库可以测试改计算引擎识别不同的战略构想的能力。他将对这项测试的结果进行评分,总分为15000。
整个训练过程中,他会测试机器的各个阶段成绩。当引导过程开始时,giraffe很快就达到了6000分的成绩,仅在72小时就达到了9700分。9700分已经可以成为世界上最好的国际象棋引擎了。
matthew lai接着使用相同种类的机器学习方法,确定对方一个特定的移动是否值得机器进行跟随。这一点很重要,因为它可以防止不必要的搜索,极大提高计算效率。
结果表明,46%的情况下计算机所走的步数都是最好的一步,70%的时间都能走出排在前三名的好棋。因此,计算机并没有收到对方的动作的影响。
这一方法代表着国际象棋引擎的工作方式发生了重大变革,不过它并不完美。giraffe的一个缺点是,神经网络比其他类型的数据处理速度慢得多。giraffe花费的时间比以往的国际象棋引擎要多耗费约10倍。
但即使有此缺点,它仍然具有相当大的竞争力。相比现在的国际象棋引擎,giraffe不仅仅能计算出棋局未来的走势,还能够准确地判断出最棘手的位置,并像人类一样直观地了解复杂的走位概念,这是国际象棋引擎很长一段时间以来一直难以捉摸的地方。
当然这一切仅仅是个开始。matthew lai表示,这一方法应该直接应用在其他类型的棋类中,最为突出的就是中国围棋,围棋相比国际象棋拥有更高的难度和更多不确定的因素。