编者按: 本文作者陈旸是清华大学计算机系博士,五彩大脑(收集20万Big Idea,为企业市场、公关公司提供创意数据库)创始人,AI研究专家。 陈旸从技术角度出发,解析了AlphaGo背后的技术原理。关于胜负,他也画了一个问号,但他坚定地看好人工智能。 文 | 陈旸 时隔AlphaGo战胜世界围棋大师李世石一年,来自中国的世界围棋冠军柯洁也将披上战袍迎战升级版的AlphaGo。 在2016年AlphaGo与李世石史诗般的对决中,李世石在首盘对决中占优势的情况下最终以1:4的大比分被AlphaGo击败。 李世石是世界级围棋大师,赛前,众多顶尖职业棋手普遍看好人类会战胜AlphaGo,最终大比分落败的结果震惊整个科技界和围棋界。机器打败人类早前在象棋领域已经发生过,但是相比象棋而言,围棋要复杂更多,也正因为如此,围棋一直被视为人类智力的象征。 AlphaGo能够以如此大的领先优势战胜人类,其象征意义不言自明,那么即将与柯洁对战的AlphaGo升级版究竟胜算几何,有必要深入分析一下AlphaGo 1.0版背后附载的技术。 AlphaGo技术解析 理论上来讲,象棋和五子棋这类游戏可由终局自底向上地推算出每一个局面的胜负情况,从而得到最优策略。 遗憾的是,由于大部分博弈游戏状态空间巨大,严格计算评估函数是办不到的。于是人们设计了 (启发式的) 搜索算法,简单来说就是由当前局面开始,尝试看起来可靠的行动,达到终局或一定步数后停止,根据后续局面的优劣反馈,选择最优行动。 AlphaGo利用深度学习达到了该目的。“最优策略”和“局面判断”可以被量化成为函数。在强化学习里,两者被称为策略函数(Policy Function) 和局面函数(Value Function),前者衡量在局面下执行能带来的价值,后者衡量某一局面的价值,越大的值表示对当前行动的选手越有利。 Q和V函数是对我们所谓的“棋感”和“大局观”的量化。有了这两个估值函数,AlphaGo在搜索的时候尽量选择估值更大的行动,atv,达到缩小思考范围(减少搜索分支)的目的。同时即使在未达到终局的情况下,也可以依靠局面函数对当前局势优劣做判断。 由于不能通过枚举状态空间来精确计算Q和V,传统做法是人为的设计估值。这里就涉及到识别特征和衡量特征分值两个问题。对于如此复杂的围棋,AlphaGo利用机器学习和大量数据,自动找到特征,同时拟合出估值函数。 蒙特卡洛树搜索是集以上技术于一身的搜索框架,通过反复模拟和采样对局过程(称为Rollout)来探索状态空间。它的特点是非常容易并行、可任何时候停止(时间和收益上的平衡)、引入了随机性采样而减小估值错误带来的负面影响,并且可以在随机探索的过程中,结合强化学习(Reinforcement Learning),“自学”式的调整估值函数,让算法越来越聪明。 AlphaGo结合了3大块技术:先进的搜索算法、机器学习算法(即强化学习),以及深度神经网络。这三者的关系大致可以理解为:蒙特卡洛树搜索 (MCTS) 是大框架,是许多牛逼博弈AI都会采用的算法强化学习 (RL) ,这是学习方法,用来提升AI的实力;深度神经网络 (DNN) 是工具,用来拟合局面函数和策略函数,atv,这些都不是AlphaGo或者DeepMind团队首创的技术。 但是强大的团队将这些结合在一起,配合Google公司强大的计算资源,成就了历史性的飞跃。一些个人见解:MCTS、RL和DNN这三者,前两者让具有自学能力、并行的博弈算法成为可能,后者让“量化评估围棋局面”成为了可能。 战胜AlphaGo绝非易事 回到即将展开的AlphaGo2.0版与柯洁的对弈中来,2.0版的AlphaGo毫无疑问不仅有上述三块核心技术,而且还在其基础之上强化学习反复积累对战参数,提升自己的段位,可想而知,2.0版AlphaGo的棋艺达到怎样的高度。 尽管人工智能没有穷尽所有可能性,同时,柯洁在当今围棋界无可争议的排名第一,但是按照去年AlphaGo小试牛刀的表现来看,柯洁想要战胜“敌人”绝非易事。因为,AlphaGo对于优劣的计算能力惊人,它的临场应变能力几乎不受到任何因素的干扰,当然,作为世界冠军的柯洁大战经历无数,对于设局拆局的精准判断能力超乎寻常,极有可能采取相异于人类对战的策略战胜AlphaGo。 归根到底是人类的胜利 (责任编辑:本港台直播) |