alphago智能围棋软件是李世石vs.AlphaGo围棋世纪之战中的一个智能程序,很多人都在找这款应用的下载,虽然围棋水平不怎么样,但是能和alphago对战一局还是很不错的哦!
alphago智能围棋软件能下载吗?
alphago目前还不能提供给普通用户下载使用,人家要170多个GPU,上千个CPU才能运行,现在最便宜的泰坦也上万RMB了,下载了你的八核小电脑也运行不起来,去攒个200W美刀的集群还差不多……
AlphaGo的两大功能:
MCTS(Monte Carlo Tree Search)
MCTS之于围棋就像Alpha-Beta搜索之于象棋,是核心的算法,而比赛时的搜索速度至关重要。就像深蓝当年战胜时,超级计算机的运算速度是制胜的关键因素之一。
MCTS的4个步骤:Selection,Expansion,Evaluation(rollout)和Backup
MCTS的并行搜索:
(1) Leaf Parallelisation
最简单的是Leaf Parallelisation,一个叶子用多个线程进行多次Simulation,完全不改变之前的算法,把原来的一次Simulation的统计量用多次来代替,这样理论上应该准确不少。但这种并行的问题是需要等待最慢的那个结束才能更新统计量;而且搜索的路径数没有增多。
(2) Root Parallelisation
多个线程各自搜索各自的UCT树,最后投票
(3) Tree Parallelisation
这是真正的并行搜索,用多个线程同时搜索UCT树。当然统计量的更新需要考虑多线程的问题,比如要加锁。
另外一个问题就是多个线程很可能同时走一样的路径(因为大家都选择目前看起来Promising的孩子),一种方法就是临时的修改virtual loss,比如线程1在搜索孩子a,那么就给它的Q(v)减一个很大的数,这样其它线程就不太可能选择它了。当然线程1搜索完了之后要记得改回来。
A Lock-free Multithreaded Monte-Carlo Tree Search Algorithm》使用了一种lock-free的算法,这种方法比加锁的方法要快很多,AlphaGo也用了这个方法。
Segal研究了为什么多机的MCTS算法很难,并且实验得出结论使用virtual loss的多线程版本能比较完美的scale到64个线程(当然这是单机一个进程的多线程程序)。AlphaGo的Rollout是用CPU集群来加速的,但是其它的三个步骤是在一台机器完成的,这个就是最大的瓶颈。
DCNN(Deep Convolutional Neural Network)
(使用深度神经网络训练的Policy Network和Value Network)
神经网络训练的时间一般很长,即使用GPU,一般也是用天来计算。Google使用GPU Cluster来训练,从论文中看,训练时间最长的Value Network也只是用50个GPU训练了一周。
给定一个输入,用卷积神经网络来预测,基本运算是矩阵向量运算和卷积,由于神经网络大量的参数,用CPU来运算也是比较慢的。所以一般也是用GPU来加速,而AlphaGo是用GPU的cluster来加速的。
玩家观点:
1.大概也就是二十年前,IBM的deepblue战胜了当时国际象棋界的棋王,一时成为焦点,再后来我上小学的时候,看到这个故事出现在了小学课本里。那时候,就在想这IBM是何许人也,毕竟连霍金老爷子都用IBM的电脑,不过等我接触电脑接触互联网的时候,IBM却成了陌生词汇。不知道以后的中小学课本是否会将谷歌的这次战胜围棋大师的事例写入课本。不过,鉴于tg和谷歌的关系,估计不太靠谱。
2. 就在这个新闻之前不久,我还看过类似的东西,大意就是围棋比国际象棋还要难下,对于人工智能的考验还要大,国际象棋也包括中国象棋,棋盘上的棋子是越下越少的,而围棋则不然,围棋棋盘上棋子越下越多,越到后面,牵一发动全身…
3围棋棋局本身不敢妄议了,只是因为接连被邀请,也就来答一答。
4如果答不符题,请点没有帮助