AI游戏开发和深度学习进阶
上QQ阅读APP看书,第一时间看更新

译者序

深度学习开始被关注的标志性事件,就是一个采用深度卷积神经网络的模型AlexNet在2012年ImageNet图像识别大赛上获得冠军。自此,深度学习这门技术在机器视觉领域开始大规模应用。如今,采用深度学习的图像识别AI算法在识别精度上已经超过人眼的精度,我们日常生活中的扫脸支付也基于深度学习强大的图像特征提取能力。尽管深度学习的应用为图像领域带来了飞跃性的发展,但2012年的那场突破并没有引起全社会的广泛关注,当时人们并没有普遍意识到人工智能领域的崛起即将到来。我觉得之所以这样,是因为深度学习给机器视觉带来的飞跃只能算是开发出了某种高级图像传感器。当这个传感器收到“汽车”图像时会输出“汽车”这样的识别结果,当收到“花朵”图像时则会输出“花朵”这样的识别结果。虽然看起来很强大,但人们普遍没有感受到“智能”的存在。因为我们或许觉得,在对映入眼帘中的事物进行识别的整个过程中,我们感受不到自己在“动脑”。

之所以觉得AlphaGo才是AI时代到来的标志,或许是因为人们普遍承认下围棋是一种高级别的智能过程,也是一个绞尽脑汁的过程——我们可以切身感受到“动脑”。下围棋比拼的就是谁预见的步数更远更深,在这里我们或许会想到传统计算机算法可以用暴力枚举方法预估所有的走棋可能性,但这个方法在围棋中行不通,因为围棋的棋局存在10171种可能性,人类目前或许找不出能够枚举出所有可能性的计算机。人脑也同样无法实现对所有走棋可能性的“扫描”。这个时候,人类的直觉发挥着强大的作用。当看到眼前的棋局时,人类能够依靠直觉快速给出多种落子方案。经验越是丰富,直觉越是准确。当考虑如何用计算机复现这种直觉时,我们的视野聚焦到了深度学习上。深度学习擅长解决图像问题,它的本质是处理矩阵数据,而围棋棋盘本身就是一种完美的矩阵。通过深度学习,我们对棋盘这个矩阵不断地进行特征提取并对其进行压缩,通过多层深度卷积处理后,拥有某种落子的“直觉”。用深度学习来学习的棋谱数据越多,这种落子的“直觉”就会越可靠。AlphaGo通过蒙特卡罗算法使用不同的落子方案进行预演,不断刷新不同的落子方案,从而提高最终结果的胜率,完全像是一个围棋高手一样——在落子之前已在脑海中完成了多种落子方案后续结果的预演。当然,蒙特卡罗算法并非新鲜方法,但正是深度学习的出现,AlphaGo才能实现针对眼前棋局的落子直觉和最终导向胜利的完美权衡。一个强大的围棋AI不仅需要有专家的直觉,也需要像专家那样深谋远虑。

伊庭教授在本书中强调了研究游戏AI的意义——或许是解密人类大脑思考方式的方法之一。我个人十分赞同伊庭教授的这一看法,我们的生活、工作和学习过程中的纠结一直都建立在着眼于眼前还是未来的权衡当中。但正是因为我们具有智慧,所以我们才会具有这种权衡能力(或者说是生活中充满了纠结)。游戏领域里的经典算法——A*算法在构造上相对近期的算法简单很多,但它一边着眼于眼前的资源消耗量,一边还要注意是否靠近终点,这种简单的路线规划原理已经具有了初步的着眼于眼前与未来的权衡能力。

本书的最后一章描述如何让游戏AI表现得像个人类玩家,并量化了一些因素,从而对类人程度进行函数化。我相信当读者坚持读到最后一章时,不仅会觉得游戏AI有趣,还会觉得人脑思维本身就有很多有趣的地方。或许研究游戏AI的意义不是为了创作出更加聪明、强大的AI,而是把它当作一面镜子,来进行对人脑思维研究的自我启发和探索。

曹旸

2021年2月于上海