精简版开源AlphaGo来了,你也可以和TA下围棋了
【说好的源码呢. .............】
程序原理
阿尔法围棋(AlphaGo)是一款围棋人工智能程序。这个程序利用“价值网络”去计算局面,用“策略网络”去选择下子。
深度学习
阿尔法围棋(AlphaGo)的主要工作原理是“深度学习”。“深度学习”是指多层的人工神经网络和训练它的方法。一层神经网络会把大量矩阵数字作为输入,通过非线性激活方法取权重,再产生另一个数据集合作为输出。这就像生物神经大脑的工作机理一样,通过合适的矩阵数量,多层组织链接一起,形成神经网络“大脑”进行精准复杂的处理,就像人们识别物体标注图片一样。
两个大脑
阿尔法围棋(AlphaGo)是通过两个不同神经网络“大脑”合作来改进下棋。这些大脑是多层神经网络跟那些Google图片搜索引擎识别图片在结构上是相似的。它们从多层启发式二维过滤器开始,去处理围棋棋盘的定位,就像图片分类器网络处理图片一样。经过过滤,13 个完全连接的神经网络层产生对它们看到的局面判断。这些层能够做分类和逻辑推理。
这些网络通过反复训练来检查结果,再去校对调整参数,去让下次执行更好。这个处理器有大量的随机性元素,所以人们是不可能精确知道网络是如何“思考”的,但更多的训练后能让它进化到更好。
第一大脑:落子选择器 (Move Picker)
阿尔法围棋(AlphaGo)的第一个神经网络大脑是“监督学习的策略网络(Policy Network)” ,观察棋盘布局企图找到最佳的下一步。事实上,它预测每一个合法下一步的最佳概率,那么最前面猜测的就是那个概率最高的。这可以理解成“落子选择器”。
第二大脑:棋局评估器 (Position Evaluator)
阿尔法围棋(AlphaGo)的第二个大脑相对于落子选择器是回答另一个问题。不是去猜测具体下一步,它预测每一个棋手赢棋的可能,在给定棋子位置情况下。这“局面评估器”就是“价值网络(Value Network)”,通过整体局面判断来辅助落子选择器。这个判断仅仅是大概的,但对于阅读速度提高很有帮助。通过分类潜在的未来局面的“好”与“坏”,AlphaGo能够决定是否通过特殊变种去深入阅读。如果局面评估器说这个特殊变种不行,那么AI就跳过阅读在这一条线上的任何更多落子。[2-6]
主要成绩
研究者让“阿尔法围棋”和其他的围棋人工智能机器人进行了较量,在总计495局中只输了一局,胜率是99.8%。它甚至尝试了让4子对阵CrazyStone、Zen和Pachi三个先进的人工智能机器人,胜率分别是77%、86%和99%。
据国际顶尖期刊《自然》封面文章报道,谷歌研究者开发的名为“阿尔法围棋”(Alpha Go)的人工智能机器人,在没有任何让子的情况下,以5:0完胜欧洲围棋冠军、职业二段选手樊麾。在围棋人工智能领域,实现了一次史无前例的突破。计算机程序能在不让子的情况下,在完整的围棋游戏中击败专业选手,这是第一次。
阿尔法围棋程序的下一个挑战对象是世界围棋冠军李世石。这场人工智能与人类的博弈于2016年3月9日在首尔举行,奖金是由Google提供的100万美金。