前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >AlphaGo的算法等技术分析

AlphaGo的算法等技术分析

作者头像
前朝楚水
发布于 2018-04-02 08:50:40
发布于 2018-04-02 08:50:40
1.5K0
举报
文章被收录于专栏:互联网杂技互联网杂技

最近我仔细看了下AlphaGo在《自然》杂志上发表的文章,写一些分析给大家分享。

AlphaGo这个系统主要由几个部分组成:

1、走棋网络(Policy Network),给定当前局面,预测/采样下一步的走棋。/2

2、快速走子(Fast rollout),目标和1一样,但在适当牺牲走棋质量的条件下,速度要比1快1000倍。

3、估值网络(Value Network),给定当前局面,估计是白胜还是黑胜。

4、蒙特卡罗树搜索(Monte Carlo Tree Search,MCTS),把以上这三个部分连起来,形成一个完整的系统。

我们的DarkForest和AlphaGo同样是用4搭建的系统。DarkForest较AlphaGo而言,在训练时加强了1,而少了2和3,然后以开源软件Pachi的缺省策略 (default policy)部分替代了2的功能。以下介绍下各部分。

1、走棋网络:

走棋网络把当前局面作为输入,预测/采样下一步的走棋。它的预测不只给出最强的一手,而是对棋盘上所有可能的下一着给一个分数。棋盘上有361个点,它就给出361个数,好招的分数比坏招要高。DarkForest在这部分有创新,通过在训练时预测三步而非一步,提高了策略输出的质量,和他们在使用增强学习进行自我对局后得到的走棋网络(RL network)的效果相当。当然,他们并没有在最后的系统中使用增强学习后的网络,而是用了直接通过训练学习到的网络(SL network),理由是RL network输出的走棋缺乏变化,对搜索不利。

有意思的是在AlphaGo为了速度上的考虑,只用了宽度为192的网络,而并没有使用最好的宽度为384的网络(见图2(a)),所以要是GPU更快一点(或者更多一点),AlphaGo肯定是会变得更强的。

所谓的0.1秒走一步,就是纯粹用这样的网络,下出有最高置信度的合法着法。这种做法一点也没有做搜索,但是大局观非常强,不会陷入局部战斗中,说它建模了“棋感”一点也没有错。我们把DarkForest的走棋网络直接放上KGS就有3d的水平,让所有人都惊叹了下。可以说,这一波围棋AI的突破,主要得益于走棋网络的突破。这个在以前是不可想像的,以前用的是基于规则,或者基于局部形状再加上简单线性分类器训练的走子生成法,需要慢慢调参数年,才有进步。

当然,只用走棋网络问题也很多,就我们在DarkForest上看到的来说,会不顾大小无谓争劫,会无谓脱先,不顾局部死活,对杀出错,等等。有点像高手不经认真思考的随手棋。因为走棋网络没有价值判断功能,只是凭“直觉”在下棋,只有在加了搜索之后,电脑才有价值判断的能力。

2、快速走子

那有了走棋网络,为什么还要做快速走子呢?有两个原因,首先走棋网络的运行速度是比较慢的,AlphaGo说是3毫秒,我们这里也差不多,而快速走子能做到几微秒级别,差了1000倍。所以在走棋网络没有返回的时候让CPU不闲着先搜索起来是很重要的,等到网络返回更好的着法后,再更新对应的着法信息。

其次,快速走子可以用来评估盘面。由于天文数字般的可能局面数,围棋的搜索是毫无希望走到底的,搜索到一定程度就要对现有局面做个估分。在没有估值网络的时候,不像国象可以通过算棋子的分数来对盘面做比较精确的估值,围棋盘面的估计得要通过模拟走子来进行,从当前盘面一路走到底,不考虑岔路地算出胜负,然后把胜负值作为当前盘面价值的一个估计。这里有个需要权衡的地方:在同等时间下,模拟走子的质量高,单次估值精度高但走子速度慢;模拟走子速度快乃至使用随机走子,虽然单次估值精度低,但可以多模拟几次算平均值,效果未必不好。所以说,如果有一个质量高又速度快的走子策略,那对于棋力的提高是非常有帮助的。

为了达到这个目标,神经网络的模型就显得太慢,还是要用传统的局部特征匹配(local pattern matching)加线性回归(logistic regression)的方法,这办法虽然不新但非常好使,几乎所有的广告推荐,竞价排名,新闻排序,都是用的它。与更为传统的基于规则的方案相比,它在吸纳了众多高手对局之后就具备了用梯度下降法自动调参的能力,所以性能提高起来会更快更省心。AlphaGo用这个办法达到了2微秒的走子速度和24.2%的走子准确率。24.2%的意思是说它的最好预测和围棋高手的下子有0.242的概率是重合的,相比之下,走棋网络在GPU上用2毫秒能达到57%的准确率。这里,我们就看到了走子速度和精度的权衡。

和训练深度学习模型不同,快速走子用到了局部特征匹配,自然需要一些围棋的领域知识来选择局部特征。对此AlphaGo只提供了局部特征的数目(见Extended Table 4),而没有说明特征的具体细节。我最近也实验了他们的办法,达到了25.1%的准确率和4-5微秒的走子速度,然而全系统整合下来并没有复现他们的水平。我感觉上24.2%并不能完全概括他们快速走子的棋力,因为只要走错关键的一步,局面判断就完全错误了;而图2(b)更能体现他们快速走子对盘面形势估计的精确度,要能达到他们图2(b)这样的水准,比简单地匹配24.2%要做更多的工作,而他们并未在文章中强调这一点。

http://ww3.sinaimg.cn/mw690/7cc829d3jw1f1rx1daxzyj20fs08ygng.jpg

在AlphaGo有了快速走子之后,不需要走棋网络和估值网络,不借助任何深度学习和GPU的帮助,不使用增强学习,在单机上就已经达到了3d的水平(见Extended Table 7倒数第二行),这是相当厉害的了。任何使用传统方法在单机上达到这个水平的围棋程序,都需要花费数年的时间。在AlphaGo之前,Aja Huang曾经自己写过非常不错的围棋程序,在这方面相信是有很多的积累的。

3、估值网络

AlphaGo的估值网络可以说是锦上添花的部分,从Fig 2(b)和Extended Table 7来看,没有它AlphaGo也不会变得太弱,至少还是会在7d-8d的水平。少了估值网络,等级分少了480分,但是少了走棋网络,等级分就会少掉800至1000分。特别有意思的是,如果只用估值网络来评估局面(2177),那其效果还不及只用快速走子(2416),只有将两个合起来才有更大的提高。我的猜测是,估值网络和快速走子对盘面估计是互补的,在棋局一开始时,大家下得比较和气,估值网络会比较重要;但在有复杂的死活或是对杀时,通过快速走子来估计盘面就变得更重要了。考虑到估值网络是整个系统中最难训练的部分(需要三千万局自我对局),我猜测它是最晚做出来并且最有可能能进一步提高的。

关于估值网络训练数据的生成,值得注意的是文章中的附录小字部分。与走棋网络不同,每一盘棋只取一个样本来训练以避免过拟合,不然对同一对局而言输入稍有不同而输出都相同,对训练是非常不利的。这就是为什么需要三千万局,而非三千万个盘面的原因。对于每局自我对局,取样本是很有讲究的,先用SL network保证走棋的多样性,然后随机走子,取盘面,然后用更精确的RL network走到底以得到最正确的胜负估计。当然这样做的效果比用单一网络相比好多少,我不好说。

一个让我吃惊的地方是,他们完全没有做任何局部死活/对杀分析,纯粹是用暴力训练法训练出一个相当不错的估值网络。这在一定程度上说明深度卷积网络(DCNN)有自动将问题分解成子问题,并分别解决的能力。

另外,我猜测他们在取训练样本时,判定最终胜负用的是中国规则。所以说三月和李世石对局的时候也要求用中国规则,不然如果换成别的规则,就需要重新训练估值网络(虽然我估计结果差距不会太大)。至于为什么一开始就用的中国规则,我的猜测是编程非常方便(我在写DarkForest的时候也是这样觉得的)。

4、 蒙特卡罗树搜索

这部分基本用的是传统方法,没有太多可以评论的,他们用的是带先验的UCT,即先考虑DCNN认为比较好的着法,然后等到每个着法探索次数多了,选择更相信探索得来的胜率值。而DarkForest则直接选了DCNN推荐的前3或是前5的着法进行搜索。我初步试验下来效果差不多,当然他们的办法更灵活些,在允许使用大量搜索次数的情况下,他们的办法可以找到一些DCNN认为不好但却对局面至关重要的着法。

一个有趣的地方是在每次搜索到叶子节点时,没有立即展开叶子节点,而是等到访问次数到达一定数目(40)才展开,这样避免产生太多的分支,分散搜索的注意力,也能节省GPU的宝贵资源,同时在展开时,对叶节点的盘面估值会更准确些。除此之外,他们也用了一些技巧,以在搜索一开始时,避免多个线程同时搜索一路变化,这部分我们在DarkForest中也注意到了,并且做了改进。

5、总结

总的来说,这整篇文章是一个系统性的工作,而不是一两个小点有了突破就能达到的胜利。在成功背后,是作者们,特别是两位第一作者David Silver和Aja Huang,在博士阶段及毕业以后五年以上的积累,非一朝一夕所能完成的。他们能做出AlphaGo并享有现在的荣誉,是实至名归的。

从以上分析也可以看出,与之前的围棋系统相比,AlphaGo较少依赖围棋的领域知识,但还远未达到通用系统的程度。职业棋手可以在看过了寥寥几局之后明白对手的风格并采取相应策略,一位资深游戏玩家也可以在玩一个新游戏几次后很快上手,但到目前为止,人工智能系统要达到人类水平,还是需要大量样本的训练的。可以说,没有千年来众多棋手在围棋上的积累,就没有围棋AI的今天。

在AlphaGo中,增强学习(Reinforcement Learning)所扮演的角色并没有想像中那么大。在理想情况下,我们希望人工智能系统能在对局中动态地适应环境和对手的招式并且找到办法反制之,但是在AlphaGo中增强学习更多地是用于提供更多质量更好的样本,给有监督学习(Supervised Learning)以训练出更好的模型。在这方面增强学习还有很长的路要走。

另外,据他们的文章所言,AlphaGo整个系统在单机上已具有了职业水平,若是谷歌愿意开几万台机器和李世石对决(这对它来说再容易不过了,改个参数就行),相信比赛会非常精彩。

===========================

一些更新。

问题1:“Alphago的MCTS做rollout的时候,除了使用快速走子,还用了搜索树的已有部分,看起来像是AMAF/RAVE反过来:AMAF是把快速走子的信息传导到树的其它无关部分,Alphago是把树的其它无关部分拿来增强快速走子。我怀疑这是不是它棋力比其它DCNN+MCTS强的原因之一。”

这个办法在解死活题的文章中出现过,会在一定程度上提高搜索效率,但是提高多少还不知道。

问题2:“rollout的走法质量变好可能会导致棋力下降。”

这里要分两种情况,tree policy和default policy。在AlphaGo的文章里面已经说过了,tree policy的分布不能太尖,不然在搜索时太过重视一些看起来的好着,可能使得棋力下降。但是除了这种原因,一般来说tree policy变好棋力还是会变强的。

default policy这边,即(半)随机走子到最后然后判分,就很复杂了,质量变好未必对局面能估得更准。default policy需要保证的是每块棋的死活大体正确,不要把死的棋下成活的或者反之,而对大局观的要求反而没有那么高。双方完全可以配合着把每块棋下完,然后转战另一块,而不是说抢在对方前去别处占先手。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-03-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 交互设计前端开发与后端程序设计 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
【深度】Kubernetes在京东人工智能平台的应用
“目前Kubernetes是容器圈里的“当红炸子鸡”,京东人工智能平台——登月中也大量应用了Kubernetes。在京东资深架构师范振看来,登月平台的设计出发点就是Kubernetes调度一切。” 在京东,分布式机器学习平台已经应用于包括电商,金融等多个应用场景。“我们将在9月16日,北京,国家会议中心举办的京东技术开放日——人工智能平台的系统架构与数据处理专场中,专题分享Kubernetes在京东人工智能平台的应用。” 9月16日 北京,国家会议中心 京东技术开放日:人工智能平台的系统架构与数据处理 范振
京东技术
2018/04/10
1.1K0
【深度】Kubernetes在京东人工智能平台的应用
【爆料】200张内部PPT揭开京东基础架构的秘密
11月25日,由京东IT资源服务部联合京东CTO办公室、京东商城研发基础架构部共同举办的“京东技术——11.11基础架构峰会”,在国家会议中心盛大举办! 现场有超过1000+位来自中国TOP100的互联网企业研发技术骨干,架构师和CTO技术总监。大家与来自京东、曙光、Mellanox的技术专家,共同交流和探讨了关于基础架构领域的核心技术以及应用场景。截止到活动结束,在线直播观看此次峰会的人数已经超过100000+。 容器、分布式系统、弹性数据库、微服务、机器学习、链路压测机器人等精彩话题登场京东技
京东技术
2018/04/10
8.5K0
【爆料】200张内部PPT揭开京东基础架构的秘密
【现场】京东技术平台架构峰会,整个技术圈的圣诞大爬梯!
12月23日,京东IT资源服务部联合京东CTO办公室,京东商城前台产品研发部共同举办的“京东技术平台架构峰会”,在北京国家会议中心盛大举办! 现场有超过1500+位来自中国TOP100的互联网企业研发
京东技术
2018/04/10
1.2K0
【现场】京东技术平台架构峰会,整个技术圈的圣诞大爬梯!
京东首次展示人工智能战略 建立开放平台 推动无界零售
来这里找志同道合的小伙伴! “我们将通过算法研究院强大的技术研究能力,创造一些以前从来没有过的技术能力。京东在人工智能方面绝不会纸上谈兵,而是致力于业务价值前景广阔的具体行业,提供整体的解决方案,来赋
京东技术
2018/04/24
9270
京东首次展示人工智能战略 建立开放平台 推动无界零售
从京东618数据井喷看大数据平台峰值处理制胜关键
京东集团618作战指挥中心 ,成员来自于京东各个技术体系,包括核心系统架构师、一线运维专家、科研学者等。 近200位成员在618时共同努力,确保流量洪峰来临时系统安全、稳定、可靠,致力于提供最佳的用户体验。
用户5265382
2019/05/16
9840
银行核心系统介绍
从定义与发展、银行核心总架构、银行账户体系、客户信息管理、存款核心、贷款核心、支付结算、卡与账户关系、批处理等几个模块展开
RookieCyliner
2025/06/11
1970
九三摸象-第四范式“先知”平台 | 企业AI核心系统 | 解读产品
第四范式就是给各行各业提供人工智能技术与服务的。愿景是能够基于行业应用场景及痛点,用机器学习技术开发出解决方案,为企业提升商业价值,找到下一个增长点,提升企业竞争力。目前主要覆盖的行业是金融和互联网。还积极参与了糖尿病,生物基因等公益项目的科研,未来希望覆盖到各行各业,让每个人都享受到人工智能带来的红利。
用户7623498
2020/08/04
1.9K0
九三摸象-第四范式“先知”平台 | 企业AI核心系统 | 解读产品
玉山银行数字化(上):构建台湾第一个银行自建的“微服务架构”核心系统
玉山,海拔超过 3900 米,是台湾的第一高山;玉山银行名取自玉山,成立于 1992 年,是台湾最大的银行之一。
深度学习与Python
2023/09/08
2800
玉山银行数字化(上):构建台湾第一个银行自建的“微服务架构”核心系统
【CCTC 2017】人工智能专场纪实
【CSDN 现场报道】5月18日—19日,CCTC 2017中国云计算技术大会(Cloud Computing Technology Conference 2017,简称CCTC 2017)在北京朝阳门悠唐皇冠假日酒店隆重召开。本次大会由CSDN主办,是业内极具影响力的云计算和大数据技术年度盛会。彼时,技术社区骨干、典型行业案例代表齐聚京师,解读本年度国内外云计算技术发展最新趋势,深度剖析云计算与大数据核心技术和架构,聚焦云计算技术在金融、电商、制造、能源等垂直领域的深度实践和应用,为观众献上一场最纯粹的技
用户1737318
2018/07/20
9110
京东荣获中国智能科学技术最高奖!盘点京东体系智能技术
7月16日,被誉为“中国智能科学技术最高奖”的第十一届“吴文俊人工智能科学技术奖”颁奖盛典在京举行。由京东和天津大学联合攻关的“商品智能匹配关键技术及在营销中的应用”荣获科技进步奖二等奖。 ▲第十一届“吴文俊人工智能科学技术奖”颁奖盛典现场        早在2019年,科技部公布最新一批国家人工智能开放创新平台名单,宣布由京东牵头承担打造“国家新一代智能供应链人工智能开放创新平台”的任务。从2020年7月开始建设至今,该平台聚焦C2M反向定制、智能质检、食品安全供应链等核心技术研发和产品落地,多个开源项
京东技术
2022/07/26
4740
京东荣获中国智能科学技术最高奖!盘点京东体系智能技术
剑指无界零售,周伯文挂帅京东AI三大主力部门曝光
作者:张乾、司明 【新智元导读】2月2日,中国收入规模最大的零售商京东与线下零售巨头冯氏零售集团在北京签署战略合作协议,双方将共同搭建人工智能无界零售中心,并将在人工智能平台、智能零售两个方向进行更加深入的合作。 最近周伯文有点忙。 跟冯氏零售集团签约,是他春节前在国内完成的最后一个战略协议,之后周伯文将开启两周美国出差模式——尽管在京东只有3个月的工作时间,但每天16-18个小时的工作时间,让这位科学家感受到激情的同时,也感受到压力。 2017年是京东技术转型的一年。从2017年到现在,京东先后挖来了申
新智元
2018/03/20
1K0
剑指无界零售,周伯文挂帅京东AI三大主力部门曝光
京东硅谷开放日:京东大数据与智慧供应链全球领先首秀
5月13日,京东硅谷研究院迎来了“京东大数据及智慧供应链技术”首次开放日。恰逢京东硅谷研究院正式乔迁山景城(Mountain View)新居,一切都是崭新的模样。 京东硅谷职场 此次开放日活动一经推出
京东技术
2018/06/20
2K0
京东DNN实验室:大数据、深度学习与计算平台的实践
7月26日-27日,2015中国人工智能大会(CCAI 2015)在北京召开,深度学习毫无意外地成为与会嘉宾热议的一个话题。来自京东DNN实验室的四位专家,核心科学家李成华、张晓鑫,以及京东智能通讯部
用户1737318
2018/06/05
8440
京东获得国际高性能计算委员会颁发数据中心创新技术大奖
全国高性能计算学术年会(HPC China 2017)是中国一年一度高性能计算领域的盛会。它为相关领域的学者提供交流合作、发布最前沿科研成果的平台,强有力的推动了中国的高性能计算发展。10月19日,今
京东技术
2018/04/10
9560
京东获得国际高性能计算委员会颁发数据中心创新技术大奖
腾讯云分布式数据库TDSQL在银行传统核心系统中的应用实践
本文是腾讯云TDSQL首席架构师张文在腾讯云Techo开发者大会现场的演讲实录,演讲主题是《TDSQL在银行传统核心系统中的应用实践》。 ---- 我是TDSQL架构师张文,同时也是TDSQL的开发人员之一。今天的分享内容主要包含四个部分,分别为银行行业现状介绍、核心系统分布式改造、TDSQL最佳实践和改造效果。 张文演讲现场 搜索关注“腾讯云数据库”官方微信,回复“1106张文”即可下载本视频演讲PPT。 一、关于TDSQL 银行数据库系统被外企垄断超过99%。数据库的复杂程度比拟操作系统,作为基础
腾讯云数据库 TencentDB
2019/11/21
4.8K0
腾讯云分布式数据库TDSQL在银行传统核心系统中的应用实践
金融核心系统迁移,腾讯云有何「解题思路」?
2019年1月,CDH 背后的公司 Cloudera 宣布与 Hortonworks(一家围绕着大数据平台去做发行版的公司)合并,形成了新的 Cloudera 公司。 两家公司合并之后,迅速对产品进行了整合推出了新一代产品——CDP,同时也宣布在2021年底结束对 CDH6 的服务支持。 这给国内企业敲醒警钟,要将以往使用的 CDH 大数据平台进行全面的迁移。 而时间拉到2021年12月29日,距离元旦仅三天,央行发布的一纸公文——《金融大数据平台总体技术要求》,在金融圈里炸开了锅。 以前的文件可能是从战略
腾讯专有云
2023/04/03
2K0
金融核心系统迁移,腾讯云有何「解题思路」?
当金融遇上黑科技?大数据人工智能区块链这些技术其实并不“黑”
数据猿导读 4月25日,由数据猿主办的《当金融遇上黑科技》线下主题沙龙活动在上海腾讯众创空间顺利举行。活动上,来自传统金融机构、金融科技领域新秀、大数据与人工智能专家等一众大咖汇聚一堂,畅聊了大数据、
数据猿
2018/04/23
9100
当金融遇上黑科技?大数据人工智能区块链这些技术其实并不“黑”
银行核心系统名词
同时,我们会基于核心系统的功能维度,梳理出对应的名词,力求达成“业务、功能、名词”三者的有机融合。
RookieCyliner
2025/06/17
2000
京东在世界互联网大会上描绘的无界零售蓝图,京东技术——平台架构峰会将全面解读
京东定义科技驱动无界零售,线上线下的消费场景无处不在。京东将通过开放的数据、技术,帮助消费者,供应商和平台实现用户体验极致提升;供应链效率提升,成本降低;以及让营销渠道就像“水电煤网”无处不在;成为真正的电商基础设施能力,构建更加开放、更加成熟的无界零售生态体系。 12月23日,北京国家会议中心,京东技术——平台架构峰会,一次将京东人工智能技术、IOT软硬件技术、智能购物核心能力及平台架构,向业界全面解读无界零售背后的技术。 峰会精彩议题预览: 京东Alpha智能服务平台技术体系构建实践 本议题将详解通过
京东技术
2018/04/10
1.1K0
京东CTO张晨:京东已经成为全球技术有识之士向往的热土!
各位京东的技术人: 今天是个特殊的日子,从2004年京东第一位程序员加入开始,京东的技术团队现在已经拥有超过一万名兄弟姐妹,首先我祝大家程序员节快乐! 2017年对于京东技术人来说是一个全新的起点,京东把“技术”放在京东未来战略最重要的位置。刘总在开年大会上强调,未来12年我们只有技术!京东提出“无界零售”和“积木理论”,把技术驱动的零售基础设施建设和对外赋能作为面向未来的核心,你们正是见证并推动实现这一历史使命的核心力量。 过去14年,我们对电商、金融等业务的全流程覆盖,决定了京东拥有价值
京东技术
2018/04/10
9710
京东CTO张晨:京东已经成为全球技术有识之士向往的热土!
推荐阅读
相关推荐
【深度】Kubernetes在京东人工智能平台的应用
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档