人机大战之AlphaGo的硬件配置和算法研究

AlphaGo的硬件配置

最近AlphaGo与李世石的比赛如火如荼,关于第四盘李世石神之一手不在我们的讨论范围之内。我们重点讨论下AlphaGo的硬件配置:

AlphaGo有多个版本,其中最强的是分布式版本的AlphaGo。根据DeepMind员工发表在2016年1月Nature期刊的论文,分布式版本(AlphaGo Distributed)使用了1202个CPU和176个GPU,同时可以有40个搜素线程。

维基百科上有各种版本的AlphaGo硬件配置 :

最后一列是等级分,代表了论文送审时(2015年11月)的水平。

下面是2016年3月14日GoRatings 发布的全球等级分列表,AlphaGo也被列在其中,排在第四位,可以看见各个版本AlphaGo的实力。

硬件配置Google官方没有给出明确说明,根据各方报道跟李世石对战的应该是最强的两个分布式“阿法狗”之一:

-(1920 CPUs + 280 GPUs,同时有64个搜索线程)

-(1202 CPUs + 176 GPUs,同时有40个搜索线程)

有Twitter网友作图:


从这个角度来看韩国人抗议比赛时间对于李世石不公平,也是可以理解的。

AlphaGo的算法结构

本文尝试用最简单的方法来讲述AlphaGo的算法,了解AlphaGo是如何下棋的。

AlphaGo的技术总体架构如果一句话总结的话就是:深度CNN神经网络架构结合蒙特卡洛搜索树(Monte Carlo Tree Search)。

深度学习神经网络训练出两个落子策略和一个局面评估模型,这三个策略的神经网络架构基本相同,这是参数不同而已。

两个落子策略:SL(supervised-learning policy network),RL(Reinforcement learning policy network)。

落子策略SL是通过学习人类对弈棋局,来模拟给定当前棋局局面,人如何落子的思路,这是纯粹的学习人类下棋经验,它的学习目标是:给定某个棋局形式,人会怎么落子?那么AlphaGo通过人类对弈棋局来学习这些落子策略,也就是说SL策略学习到的是像人一样来下下一步棋。

(数字表示人类棋手会下在该地方的可能性)

落子策略RL是通过AlphaGo自己和自己下棋来学习的,是在SL落子策略基础上的改进模型,RL策略的初始参数就是SL落子策略学习到的参数,就是它是以SL落子策略作为学习起点的,然后通过自己和自己下棋,要进化出更好的自己,它的学习目标是:不像SL落子策略那样只是学习下一步怎么走,而是要两个AlphaGo不断落子,直到决出某盘棋局的胜负,然后根据胜负情况调整RL策略的参数,使得RL学习到如何能够找到赢棋的一系列前后联系的当前棋局及对应落子,就是它的学习目标是赢得整盘棋,而不是像SL策略那样仅仅预测下一个落子。

局面评估网络(Position Evaluator Value Network)采用类似的深度学习网络结构,只不过它不是学习怎么落子,而是给定某个棋局盘面,学习从这个盘面出发,最后能够赢棋的胜率有多高,所以它的输入是某个棋局盘面,通过学习输出一个分值,这个分值越高代表从这个棋盘出发,那么赢棋的可能性有多大。

(局面评估是怎么看这个棋盘的。深蓝色表示下一步有利于赢棋的位置)

有了上面的三个深度学习策略,AlphaGo把这三个策略引入到蒙特卡洛搜索树中,所以它的总体架构还是蒙特卡洛搜索树,只是在应用蒙特卡洛搜索树的时候在几个步骤集成了深度学习学到的落子策略及盘面评估。

在AlphaGo与李世石的第四局中,李下出78手神之一手的时候,Google DeepMind 的 Hassabis 是这样说的:

@demishassabis 26m26 minutes ago

Lee Sedol is playing brilliantly! #AlphaGo thought it was doing well, but got confused on move 87. We are in trouble now...

@demishassabis 7m7 minutes ago

Mistake was on move 79, but #AlphaGo only came to that realisation on around move 87

简单来说就是狗没有及时认知到78的威胁,直到到87手才发现胜率下跌。这个说明狗在好几步后都不知道自己已经不妙了,计算结果里没有后来的发展。

这不是狗的bug,是标准的多算胜少算,这应该不算是bug而是value network和policy network还有待完善。

参考文献:

https://www.dcine.com/2016/01/28/alphago/

http://www.afenxi.com/post/8713

http://geek.csdn.net/news/detail/59308

http://blog.csdn.net/malefactor/article/details/50631180

http://www.leiphone.com/news/201603/Q1cWFZjnGl1wc4m1.html

时间: 2024-10-16 16:46:20

人机大战之AlphaGo的硬件配置和算法研究的相关文章

人机大战结束:AlphaGo 4:1 击败李世石

腾讯科技 雷建平 3月15日报道 人机大战第五场今日中午12时继续在韩国首尔进行,经过长达5个小时搏杀,李世石认输,最终李世石与AlphaGo总比分定格在1比4.李世石仅在3月13日结束的第四场对战中取得了唯一的一场胜利. 在第五场比赛前,李世石显得轻松很多,入场时是带着女儿一起,还面带微笑. 这也很正常,此前,当人类认为谷歌AlphaGo不可能这么快就战胜人类顶尖棋手时,结局是3:0:当人类认为AlphaGo高维打低维,轻松碾压人类时,李世石扳回一局1:3. 这场比赛无法再制造足够的意外,也无

我与小娜(36):人机大战第五局,AlphaGo必胜!

我与小娜(36):人机大战第五局,AlphaGo必胜!       小娜知道,细致阅读论文"Mastering the game of Go with deep neural networksand tree search".信心倍增.深信人机大战第五局,AlphaGo必胜!       这篇论文发表在英国<自然>杂志(2016.01.27)上.深入阐述了AlphaGo的工作原理. 3月13日.李世石声称发现了AlphaGo的弱点.这纯粹是胡说八道!       我觉得,A

围棋人机大战:为什么AlphaGo不首先挑战中国棋手?(无责任猜测,不幸猜中不胜荣幸)

人机围棋大战 最近李世石出名了,阿尔法狗出名了,谷歌上头条了! 李世石虽然连输三盘,但第四盘扳回一局,第五局明天开战.期间国内各大棋手纷纷表示"不服",要求挑战谷歌的这只狗狗,那么问题来了: 谷歌为什么 要选择挑战韩国棋手李世石,而不挑战中国棋手呢?要知道如果挑战中国围棋高手,如果此战在中国发生的话,那么这个话题的热度绝对不是现在的10倍! 为什么人工智能应用在围棋上是很牛B的? 这个问题的答案相信很多朋友已经知道了.很多年前的深蓝大战人类已经让世界为之瞩目,而围棋因为下子的可能性太多

Hadoop集群选择合适的硬件配置

为Hadoop集群选择合适的硬件配置 随着Apache Hadoop的起步,云客户的增多面临的首要问题就是如何为他们新的的Hadoop集群选择合适的硬件. 尽管Hadoop被设计为运行在行业标准的硬件上,提出一个理想的集群配置不想提供硬件规格列表那么简单. 选择硬件,为给定的负载在性能和经济性提供最佳平衡是需要测试和验证其有效性.(比如,IO密集型工作负载的用户将会为每个核心主轴投资更多). 在这个博客帖子中,你将会学到一些工作负载评估的原则和它在硬件选择中起着至关重要的作用.在这个过程中,你也

查看linux系统的硬件配置

Linux作为操作系统来说当然也是和windows一样是要架设到硬件基础上的,所以硬件配置信息对我们来说也是肯定需要了解的,下面是在Centos/redhat里面查看硬件配置的命令: CPU信息 cat /proc/cpuinfo  |grep processor|awk '{print $3}'|wc -l 2.查看内存信息 free -m |grep Mem |awk '{print $2}' 3.查看硬盘信息 fdisk -l |grep GB 4.查看网卡配置信息 (1)查看配置文件:

汉澳sinox2014最佳硬件配置

汉澳sinox2014并不支持所有的硬件,为了得到最佳体验,推荐购置新机子的配置 CPU 英特尔 Xeon E3-1230 V2 (四核) //实际上是八核心 主板 华硕 B75M-PLUS (Intel B75 (Panther Point-M Enahnced)) //内置网卡声卡 内存 32 GBytes //海盗船内存条,8G估计够了 显卡 NVIDIA(英伟达) GeForce GTX 650, 1024 MBytes of GDDR5 SDRAM //支持最新厂家nvidia驱动或下

C/C++通过WMI和系统API函数获取获取系统硬件配置信息

转载:http://www.cnblogs.com/renyuan/archive/2012/12/29/2838716.html 转载:http://blog.csdn.net/jhqin/article/details/5548656 转载:http://blog.csdn.net/dongdan_002/article/details/42460343 头文件WMIInfo.h 1 /*****************************************************

人机大战输赢不重要!重要的是说人话

一场人机大战,很体育,更娱乐,还营销,以前估计十个里,5个不知道AI,现在大约只有3个了,其中一个还是说人工智能. 文/张书乐 刊载于<株洲日报>3月14日天台时评版 3月9日,曾经击败过欧洲围棋冠军的人工智能程序"阿尔法围棋",挑战韩国围棋冠军李世石.比赛结果如何?翻翻报纸吧.至少对于这场比赛的输赢,我不关心. 赢了也好输了也罢,就那么回事.关心的话,你就中了折腾出这个下棋程序的谷歌的套了. 为什么这么说呢?因为依据我从小到大玩游戏的经验,无论是围棋.象棋.跳棋还是五子棋

命令行获取苹果电脑的主要硬件配置

最近公司想收一台苹果电脑,Boss在他的朋友圈里喊话,收到了一大堆响应.我发觉很多买了Mac的人用不来,电脑都闲置着,甚至连自己的电脑的基本配置都不知道,所以这个事情也挺困难…… 如何最方便地获取到电脑的主要硬件配置?要是在Windows下,肯定是到控制面板的设备管理器里去看看,或者安装一个第三方的软件,国产的貌似就很多,但我现在对装软件很有抵触,原因是这些免费的国产软件里捆绑了太多太多让你一不小心就装上的流氓软件,设备管理器嘛,信息很多,可有用的却不多,像显卡这种东西又不太看得出来型号,点来点