登顶世界第一! 相比其他AI,AlphaGo究竟有何不同?

世界职业围棋排名网站GoRatings最新排名显示,连续24个月排名世界第一的中国棋手柯洁被谷歌人工智能机器人AlphaGo反超。截止目前,AlphaGo以3612分登顶世界第一,超越了所有人类棋手。

如上图所示,目前Google Deepmind AlphaGo以3611分排名世界第一,柯洁以3608分排名世界第二,而之前与AlphaGo进行“人机大战”以1:4告负的韩国棋手李世石以3557排名第四。

按照Goratings世界围棋排名的规则,如果一名新加入的棋手只赢不输的话,是不能被算入正式排名的。而此前AlphaGo正好输了李世石一盘,因此给了AlphaGo入围排名榜单的机会,此前一直排名世界第二。另外,Goratings的规则要求之前有过交手的双方,如果对手的积分发生改变,则自身积分也会相应调整。AlphaGo此前以4胜1负战胜李世石,因此只要李世石的积分提升,AlphaGo也会跟着提升。而柯洁的排名之所以下降是因为近日在金立杯两岸世界冠军争霸赛表现不佳,胜周俊勋,负时越和唐韦星,这才给了AlphaGo称为世界第一的机会。

至此,AlphaGo以3612分登顶世界第一,超越了所有人类棋手。这让我们不由得想,到底是什么使得AlphaGo如此不同,能在所有的围棋AI中拔得头筹,甚至打败人类登顶世界第一?

在刚刚过去的IJCAI2016(第25届国际人工智能联合会议)学术大会中,谷歌 DeepMind 研究员、AlphaGo幕后英雄之一David Sliver 发表了题为“使用深度神经网络和树搜索来精通围棋游戏(Mastering the Game of Go with Deep Neural Networks and Tree Search)”的特邀演讲。在演讲中,他主要阐述了AlphaGo的实现原理并对AlphaGo与人类棋手对弈结果进行了分析。

在演讲中他提到AlphaGo主要是改进了以下两种方法

l MCTS搜索(蒙特卡洛树搜索) l CNN(卷曲神经网络)

Value Networks(价值网络)和 Policy Networks(策略网络)方面:

Value Networks 评估棋盘位置,Policy Networks 选择下棋步法,这些神经网络模型通过一种新的方法进行训练,结合人类专家比赛中学到的监督学习,以及在自己和自己下棋(Self-Play)中学到强化学习,其实质是深度学习网络(CNN)跟蒙特卡罗搜索树(MCTS)进行结合。

基于全局特征和深度卷积网络(CNN)训练出来的策略网络(Policy Network),其主要作用是给定当前盘面状态作为输入,输出下一步棋在棋盘其它空地上的落子概率。

另一个是利用局部特征和线性模型训练出来的快速走棋策略(Rollout Policy),策略网络速度较慢但精度较高,快速走棋策略则反之。

策略网络上的监督学习

l 12层的卷曲神经网络 l 使用Google Cloud在超过50个GPU中训练四周的时间 l 在测试数据集上57%的准确率(目前最佳44%)

策略网络上的强化学习

l 12层的卷曲神经网络 l 使用Google Cloud在超过50个GPU中训练一周的事件 l 相比监督学习实现了80%的结果,业余3段水准

策略网络与先前训练好的策略网络互相对弈,利用增强式学习来修正策略网络的参数,最终得到增强的策略网络。

实现过程如下:

利用普通的策略网络来生成棋局的前U-1步(U是一个属于[1, 450]的随机变量),然后利用随机采样来决定第U步的位置(这是为了增加棋的多样性,防止过拟合)。

随后,利用增强的策略网络来完成后面的自我对弈过程,直至棋局结束分出胜负。此后,第U步的盘面作为特征输入,胜负作为label,学习一个价值网络(Value Network),用于判断结果的输赢概率。价值网络其实是AlphaGo的一大创新,围棋最为困难的地方在于很难根据当前的局势来判断最后的结果,这点职业棋手也很难掌握。通过大量的自我对弈,AlphaGo产生了3000万盘棋局,用来训练价值网络。但由于围棋的搜索空间太大,3000万盘棋局也不能帮AlphaGo完全攻克这个问题。

AlphaG的一个关键之处在蒙特卡罗搜索树(MCTS)中嵌入了深度神经网络来减少搜索空间,这大大减少了不必要的搜索步骤,通过价值网络和策略网络显著提升了其胜率。

使用策略网络减少其宽度

使用价值网络减少深度

利用这两个改进的网络来分别判断局势,两个局势得分相加为此处最后走棋获胜的得分。这里使用快速走棋策略是一个用速度来换取量的方法,从被判断的位置出发,快速行棋至最后,每一次行棋结束后都会有个输赢结果,然后综合统计这个节点对应的胜率。而价值网络只要根据当前的状态便可直接评估出最后的结果,两者各有优缺点并进行互补。

在2015年10月5:0战胜欧洲围棋冠军樊麾(三届欧洲围棋冠军)之后,AlphaGo于2016年3月4:1战胜韩国传奇棋手李世石(近十年内围棋顶尖棋手之一)。在第四局中由于李世石棋手的“神之一手”,AlphaGo落败,也给了AlphaGo入围Goratings排名榜单的机会。

在David Silver看来,AlphaGo已超越了所有其他围棋AI程序。在首尔与李世石对弈过程中,他认为AlphaGo已经展现出超越专业9段棋手的水准,按Goratings分数来排名的话应该接近4500分左右。这个分数不仅超过中国棋手柯洁九段的最高分数,也比其自身目前分数要高。究竟这个惊人的成绩是否属实,让我们期待AlphaGo与柯洁九段的终极“人机大战“。

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2016-07-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我和未来有约会

silverlight向服务器post数据类

using System; using System.Net; using System.Windows; using System.Windows.Co...

2055
来自专栏菩提树下的杨过

MSDN官方的ASP.Net异步页面的经典示例代码

示例1.演示异步获取一个网址的内容,处理后显示在OutPut这一Label上 using System; using System.Web; using S...

2115
来自专栏积累沉淀

Hive2.0.0操作HBase 1.2.1报错解决

首先看错  org.apache.hive.service.cli.HiveSQLException: Failed to open new session: ...

2549
来自专栏DT乱“码”

简单的考勤系统

连接数据库类 package com.lianrui.it; import java.sql.Connection; import java.sql.Driv...

3699
来自专栏跟着阿笨一起玩NET

[C#]工具类—FTP上传下载

  不错的文章:http://www.cnblogs.com/greatverve/archive/2012/03/03/csharp-ftp.html

1531
来自专栏c#开发者

C# : row-clickable GridView and get and set gridview rows using JavaScript

Complete C# code: ---------------- using System; using System.ComponentModel; ...

3126
来自专栏跟着阿笨一起玩NET

winform treeView 数据绑定

1072
来自专栏菩提树下的杨过

SqlTransaction事务使用示例

using System; using System.Data; using System.Data.SqlClient; using System.Co...

1988
来自专栏c#开发者

jquery easyui datagrid mvc server端分页排序筛选的实现

1自定义一个ModelBinder public class filterRule { public string field { g...

4239
来自专栏飞扬的花生

日志帮助类

 1.代码 using System; using System.Collections.Generic; using System.Linq; using S...

2019

扫码关注云+社区