Alpha Go的故事
关于计算机下围棋,许峰雄在2002年写书时的判断是:“它实在太难了,以至于在未来20年中可能得不到解决。”这句话里“解决”的含义应该就是战胜围棋世界冠军,然而这个预言在2016年提前6年被强大的Alpha Go团队打破。
Alpha Go是一款围棋人工智能程序,由谷歌旗下Deep Mind公司开发。Deep Mind公司创始人戴密斯·哈萨比斯(Demis Hassabis)生于1976年,在英国伦敦长大,父亲是希腊族塞浦路斯人,母亲是新加坡华人。他从小就是国际象棋和计算机双料神童,4岁开始下国际象棋,8岁自学编程,13岁获得国际象棋大师称号。2010年,哈萨比斯创立专注于人工智能研发的Deep Mind公司,目标是建立强大的通用学习算法,将技术应用于解决现实世界的难题。
Alpha Go的开发团队核心包括大卫·席尔瓦(David Silver)、黄士杰(Aja Huang)、克里斯·麦迪森(Chris Maddison)、亚瑟·贵茨(Arthur Guez)等人,如图2.5所示。Alpha Go围棋程序应用了近年来在人工智能领域有重大突破的深度学习(Deep Learning)和强化学习(Reinforcement Learning)等技术,加上谷歌强大的并行计算实力,可以说其“智能”水平已经远远超过当年的“深蓝”。
图2.5 Alpha Go开发团队,左四为戴密斯·哈萨比斯,左五为大卫·席尔瓦,左六为黄士杰
根据Deep Mind公司在《自然》杂志上发表的文章,Alpha Go这个系统主要由以下几个部分组成。
(1)策略网络(Policy Network),给定当前局面,预测下一步的走棋。对棋盘上的每个可下的点都给出了一个估计的分数,也就是围棋高手下到这个点的概率。评估一步棋的时间仅需2ms左右。
(2)快速走子(Fast rollout),目标和策略网络一样,但在适当牺牲走棋质量的条件下,速度要比策略网络快1000倍。下一步棋的时间仅需2μs左右。
(3)估值网络(Value Network),给定当前局面,估计是白胜还是黑胜,给出输赢的概率。
(4)蒙特卡罗树搜索(Monte Carlo Tree Search,MCTS),把以上3个部分连起来,形成一个完整的系统。
简单地说一下Alpha Go的“训练”过程,Alpha Go团队首先利用几万局专业棋手对局的棋谱来训练系统,得到初步的“策略网络”和“快速走子”。训练“策略网络”时,采用“深度学习”算法,基于全局特征和深度卷积网络来训练,其主要作用是给定当前盘面状态作为输入,输出下一步棋在棋盘其他空地上的落子概率。“快速走子”则基于局部特征和线性模型来训练。完成这一步后,Alpha Go已经初步模拟了人类专业棋手的“棋感”。接下来,Alpha Go采用左右互搏的模式,不同版本的Alpha Go相互之间下了3000万盘棋,利用人工智能中的“深度增强学习”算法,通过每盘棋的胜负来学习,不断优化和升级“策略网络”,同时建立了一个可以对当前局面估计黑棋和白棋胜率的“估值网络”。根据Alpha Go团队的数据,对比围棋专业选手的下法,“策略网络”用2ms能达到57%的准确率,“快速走子”用2μs能达到24.2%的走子准确率。据估计,单机上采用“快速走子”的下棋程序,已经具备了围棋三段左右的水平。而“估值网络”对胜负的判断力已经远超所有人类棋手。
实际对局时,Alpha Go通过“蒙特卡罗树搜索”来管理整个对弈的搜索过程。首先,通过“策略网络”,Alpha Go可以优先搜索本方最有可能落子的点(通常低于10个)。对每种可能,Alpha Go可以通过“估值网络”评估胜率,同时,可以利用“快速走子”走到结局,通过结局的胜负来判断局势的优劣,综合这两种判断的评分再进一步优化“策略网络”的判断,分析需要更进一步展开搜索和演算的局面。综合这几种工具,辅以超级强大的并行运算能力,Alpha Go在推演棋局变化和寻找妙招方面的能力,已经远超人类棋手。根据资料,最高配置的Alpha Go分布式版本,配置了1920个CPU(中央处理器)和280个GPU(图形处理器),同时可以跑64个搜索线程,这样的计算速度就好像有几十个九段高手同时在想棋,还有几十个三段棋手帮着把一些难以判断的局面直接下到最后,拿出结论,某一位人类棋手要与之对抗,确实难上加难。
当然,目前版本的Alpha Go也并不完美。在人机大战的第4局,0∶3失利后为荣誉而战的李世石长考25分钟后,祭出了白78“挖”的妙手,这一手棋后来被新闻界称为“神之一手”,Alpha Go在李世石的绝地反击下陷入混乱,下出了不少“昏招”,最后中盘认输。据Deep Mind创始人哈萨比斯赛后在Twitter写道:“李世石下出白78后,Alpha Go自我感觉良好,在程序的‘估值网络’中,误以为胜率达到70%,在第79手犯了错,直到第87手才反应过来它错了。”
围棋世界冠军古力与Alpha Go对弈以后写下了这么一句话:“人类与人工智能共同探索围棋世界的大幕即将拉开。”笔者相信,Alpha Go所代表的人工智能技术将在更多的领域辅助人类解决更多的难题,而更多中国血统的天才,将像许峰雄、戴密斯·哈萨比斯、黄士杰那样,在人工智能领域取得辉煌的成就。