谷歌阿尔法狗 喧嚣过后,让我们来看看谷歌阿尔法狗的“大脑”...

本文由技术狗江南大学设计学院虞昊博士生原创撰写。


首先需要说明的是,AlphaGo本身的智能化程度还仅仅停留在弱人工智能的层面。甚至某种意义上来说,AlphaGo的人工智能化程度还不如Siri。因此没必要杞人忧天的担心人工智能会超过人类。


就让我这技术狗,基于《Mastering the game of Go with deep neural networks and tree search》,拆解下AlphaGo的算法究竟是神马鬼。


之所以称AlphaGo为弱人工智能,其最本质的一点是当前任务的执行可能性是有限的。棋盘361个点位,每一回合单次落子的可能性总是不大于这个数。这一点上,Siri相反面对的可能性要大的多:寻找某一首歌曲,打电话,执行App等等,因而某种意义上说,Siri中一部分已经开始进入强人工智能的范畴了,因为Siri具备了部分“抽象思维”。







胜负判定


任何棋类比赛,都有严苛的规则,如果进行分类整理,取胜的原则只有以下几种:


1.重叠击杀。

以后子行走至对手前子位置完成占据。如中国象棋、国际象棋。



2.完成形状。

以特定的组合方式进行判定,从而决定胜负,如五子棋、跳棋。


3.占据总数。

以累积占有数量多少来取胜,如围棋、黑白棋。



相对来说,围棋的总胜利使用了占据原则,然而局部又允许完成形状(打劫),因而相比象棋或者五子棋要复杂,加上棋盘大,可能性也就更多。某种意义上说,AlphaGo的算法架构可能早几年也能开发出来了,只是等待到了硬件高度发展之后,计算能力才能远超越人类。







谷歌阿尔法狗 喧嚣过后,让我们来看看谷歌阿尔法狗的“大脑”...

落子的威胁度


既然每一个回合有这么多的可能性,那又该如何计算花落谁家呢?


核心思想在于【威胁度】。

围棋比较复杂,我们先用五子棋来说明。

对于任意一个位置,想要和周边的组成五子,可能性就只有四个方向,每个方向上5种可能,总计20种可能。


@@@@O


@@@O@


@@O@@


@O@@@


O@@@@


@ @ @ @ O

@ @ @ O @

@ @ O @ @

@ O @ @ @

O @ @ @ @


@ @ @ @ O

@ @ @ O @

@ @ O @ @

@ O @ @ @

O @ @ @ @



@ @ @ @ O

@ @ @ O @

@ @ O @ @

@ O @ @ @

O @ @ @ @



但是 如果中间有一个子是对手的,那么这一种可能性就拜拜了,而如果这种可能性中,只有自己的子,包含的已经下的子越多,赢的可能性就越大。

相对应的,如果只有对手的子,下的越多,输的可能性也越大。


所以【威胁度】的含义是某一个空白位置上,双方的一种不平衡度,不平衡度越大,对对手产生的威胁就越大,而处于相互制衡状态时则【威胁度】相对较小。


那么就可以排列出某一个可能性的【威胁度】的大小:

自己4=1

> 对手4=1

> 自己3=2(连续四个)

> 对手3=2(连续四个)

> 自己3=2(中间留空)

> 对手3=2(中间留空)

> 自己2=3

> 对手2=3

> 自己1=4

> 对手1=4

> 自己下正中


那么最值得下的点,就在于所有20种可能性,每种可能性的威胁度累积起来的总威胁度最高的那一处。


因为五子棋极强的连续性要求,因此计算需求通常仅需考虑对手刚下的子附近几个空白点即可,因此总计算量限制在单次不超过32个点,每个点20种可能内。如果需要提高算法准确度,可以虚拟对手的回合,进行多个回合的推演,从而找出更具备威胁度的点。


对于围棋来说,这一威胁度的算法相对来说更为复杂,涉及到圈地、连片、打劫三个层面。


威胁度:

空白圈地(初期)

> 靠边巩固性圈地(初期)

> 连片存活(中期)

> 打劫(中后期)


当然这里面威胁度并不像五子棋这般有绝对的高低评判,因此计算也更加复杂,不过就目前而看,如同天龙八部中出现的珍珑棋局那般先打自己的劫然后死地而复生的神奇算法,估计还暂时没有。




思维架构


围棋相对于五子棋来说,更多的时候是难在所谓的厮杀往往要中盘才开始。对于早期来说,计算方式为落一个子时,该子所具备的覆盖周围区域的度。当然相对越靠近的位置,安全性越大,而越靠近对手棋子的位置,安全性越小。到了中盘,随着双方为了细分疆域而进行贴身绞杀,这一算法的判断优先级将从战略的覆盖,转变为战术的分界线推进。围棋相比五子棋,有很多预埋的手法,往往出现在十步甚至数十步之前,这使得简单的穷举法变得无法适从。因而围棋的算法,如原文中所指,是一种【深度卷积神经网络】加上【蒙特卡罗树搜索】的算法。


不必觉得头大,我们来拆解下这两个概念。


【深度卷积神经网络】


先理解卷积神经网络。整个架构就好比人类的神经系统。每一个神经细胞一方面功能是储存和分析,另一方面功能是信息的传递。这就好比人类的神经系统,受到外界刺激,如果是光,那就通过视觉系统传达到大脑,如果是声,就通过听觉。一个神经细胞内部含有的信息有很多,而这些信息往往是集成后的信息块,比如一个人的声音特征等。


对于围棋来说,把下好的基本已经划分清楚归属的区域打包成片,就是卷积神经网络的神经单元。围棋中,同一色的子连接而成的区域,可以划分成活区(两眼,永久占有),半活区(一眼,可以争夺,但是难度较大),碎片区域(尚未归属)三种类型。对于已经是活区的,不做计算,半活区的,根据对手落子所在区域与这一片区域的远近联系进行判定,可以选择整体不计算或者需要计算。碎片区域则基本对手落子的每一个位置周边都需要计算。通过分类的方式进行打包,能极大压缩无效计算量。



所谓的深度卷积神经网络,则是通过算法分析出相对来说联系较为紧密,不存在较大变数的相邻区域,将打包后的多个区域进行二次或者多次打包,进一步加速计算效率。


这就好比日常生活中人类分类整理物品。思维模式:食品(厨房壁柜)==》干果(某一个全部是可直接食用食物的柜子)==》找到干果包装==》拿出某一粒。


对于围棋来说,这块区域与另一块区域都已经是活区,而之间的区域太小,对手难以占领,这就可以进一步打包成为一个更大的区域,从而减少计算量,直到对手对这一区域进行介入为止。


深度卷积神经网络算法有着非常广泛的运用,不仅仅在于棋类思考,也可以用于绘画创作。Photoshop中大量的滤镜也借鉴了这一算法的理念。


可以看出,PS中的卷积是以颜色相近的像素点做打包,形成第一步的卷积,然后用深色线条来描述卷积之间的边界,形成圆圈状纹理。在此基础上,再算第二次卷积、第三次,则纹理逐渐加深,最后形成类似抽象画的效果。





蒙特卡罗树搜索这个概念是和拉斯维加斯检索相对的。

国际象棋和围棋的蒙特卡罗树搜索对比。

(图片来源:杭州数梦工场科技有限公司)


假设有一大筐个苹果,需要找到其中砸过牛顿的那个。

拉斯维加斯检索:这个砸过么?没有?!扔,下一个。这个砸过么?没有?!扔,下一个。这个砸过,OY!就他了。


假设有一大筐个苹果,需要找到把牛顿砸得很疼的那个。

蒙特卡洛:一只手拿一个,比一比,小的丢一边。再拿再比。如果这一筐全部比完之前觉得差不多就行了,可以停下,手上的未必是最大,但是有很大概率拿到最大的那几个中间的一个。


对于拉斯维加斯检索来说,首先要求的是有明确解,然而围棋并不存在一个所谓的非此处不可的明确解;其次是必须所有的可能挨个走一遍,然而对于围棋来说太累也太不现实。


对于蒙特卡洛树搜索来说,首先两点是明确的:如果一个位置是最优解,那么紧挨着这个位置的解的威胁度也比其他低威胁度地区要高;计算量越多,相对达到的近似解越接近最优解。



算法的融合

那么现在把前面提过的两种方法结合起来。在深度卷积完成分类的情况下,相对来说较为可信的进行随机取样(加密对手刚落子附近位置的计算,其他空闲区域相对均匀)。先计算一遍威胁度,从中间找出附近几个威胁度都比较高的点,然后这些点围绕而成的区域内着重计算分析,找出有限时间内的最优解。


正是因为围棋讲究的是重战略而战术次之,才有了这一算法。对于象棋或者五子棋来说,每一手和后续几手的相互关联非常的明显。而围棋则可能预埋很久,对于人类来说,有限的时间和能力内做过的思考,会基于某一点想好一套大致不差的Combo,而机器产生这一预设相对较难,因而干脆不预设,全凭全局评估来执行。这也反过来使得很多被全球各围棋顶级选手解说为差手、败手的电脑招式,在后续的比赛中居然能成为神来之笔。


评价为怪招的另一个可能性,就在于人类的思维总有局限性。一般来说遇到棋力相当的对手,人类对弈时往往存在试探性招式。出于扰乱对手思维的需要选择下一个相对风险大的一手,又或者出于稳妥选择相对偏保守的一手,这里存在很多的主观不确定性。而对于机器来说,则完全不存在。


或许正是因为机器算法的介入,会改变许多目前围棋常见的套路和初期策略,这正是科技所能带给人类的喜闻乐见的进步。



学习能力

很多人担心的是计算机的自我学习能力。自我学习能力分为三个层面,也正是弱人工智能、强人工智能和超人工智能之间的区别所在。


弱人工智能:只能学习改变数据库和部分参数的数量,而不会改变架构。

强人工智能:能够改变部分代码,延展数据的输入和输出能力,但能力仍局限在固有硬件的执行范围内。

超人工智能:能够自我改变硬件,从而延展更多的输入输出媒介,具备完整的进化能力。


对于AlphaGo来说,高手对弈的公开棋谱可以随着网络更新,用于部分参数的分析获取,临场对弈时,分析李世石的棋路棋招,找出其固有的思维习惯。从而策略性的调整战术以便更好的匹配对手,仅此而已。这些本质角度讲,只是参数层面的不断调整,而且所谓的修正,对于整个机器的计算思维模式,影响并不大,只是影响结果罢了。


当然参数的调整过程中也会出现所谓的异常,导致AlphaGo出现第四局的败手。不过凭此就高喊是不是机器故意输给了人类选手,那绝对不会,除非是谷歌技术人员的刻意放水。但我相信还是参数的边界失调可能性更大一些。





伏笔预埋

高手过招,往往攻击性并不会直接放在桌面上。通常是先进行几处预埋,形成潜威慑,使双方的势力出于平衡胶着对峙的状态,然后借由杀手招突然闯入打破这一制衡,从而进行连续性的进攻。对于计算机来说,有的时候计算所得的主动产生的最高级别的威胁,因为太过明显,往往会直接引起对手的警觉,因而需要进行一系列铺垫和误导来分散对手的注意了,而后条件具备再下杀手。这就要求计算机具备多个回合的计算推演能力。


当年的深蓝战胜人类国际象棋大师,靠的就是计算机能推演大约12步,而人类顶级选手之能推演10步左右。转折点居然是因为一枚微不足道的小兵引起的不平衡。与其说这是计算机的“聪明”,倒不如说这是计算机的编程者将人类的狡诈思维数字化和逻辑化之后的杰出成果。


所以不必担心人工智能存在思维的欺骗性和狡诈性。


到这里可以看出了,其实AlphaGo的算法本身一点也不难,只不过为了支撑这一算法,需要大量的数据变量的存储和交换,以及能够配合计算机特性将数值计算发挥到极致的架构,人类或许真是因为等待硬件的发展,才让AlphaGo到今日才出现在公众的视野。而AlphaGo的算法智能程度只属于弱人工智能,因此也不必担心会取代人类等云云。


说得再透一点,AlphaGo机器就好比是个速度极快的见招拆招的用剑高手。无论你用太极八卦剑还是气宗剑宗,又或者独孤九剑,只要他速度远快于你,那就没有挡不住的招。对于人类用剑的高手来说,有几个自己发明的套路,能诱导经验不足的对手逐渐露出破绽,但对于机器来说,只要他能跟得上你的思维速度,做到后发先至,那你确实一点办法也没有。


汽车能跑过人类,却不懂什么叫自驾。AlphaGo未必懂围棋,却能够战胜人类。



世界那么大,

不一定能出去看看,

那么...就关注ivimeo吧,

我们一起看短视频,一起听好故事!


  

爱华网本文地址 » http://www.aihuau.com/a/373551/478494128519.html

更多阅读

对比360、搜狗、谷歌、百度图片搜索 搜狗搜索

1.搜索方式:均有文本查询、以图查图功能,谷歌多了语音输入功能其中,以图查图的方式分为:粘贴网址、上传图片。360、百度的上传图片点击后直接弹出文件选择框,搜狗、谷歌显示选择文件按钮,按下后再弹出文件框。前两者的方式减少用户操作步

如何让谷歌浏览器支持迅雷下载 支持迅雷下载的浏览器

谷歌浏览器以其速度快受到了大家的欢迎,但是在下载文件的时候,谷歌浏览器都会使用自己内置的下载器对其进行下载,我们知道迅雷下载的时候,速度是非常快的,如果让谷歌浏览器也可以支持迅雷下载的话,那样以后在使用谷歌浏览器的时候,就可以方

梅艳芳妈妈争遗产 争食谷歌遗产(1)

 “整个市场太小了!”张朝阳不由得笑起来,在闻听李彦宏“进军香港”的计划后,他表现出了“不屑”。但他对谷歌空出的市场很感兴趣,“我们今年真的要尽全力来做搜索了。”   时间是3月24日下午3点,这位搜狐董事局主席紧急召开记者发布

谷歌浏览器撤回 谷歌“撤华”

 本刊评论员 李 靖  “入则无法家拂士,出则无敌国外患者,国恒亡”,以一种开阔的心胸看待谷歌“撤华”,我们会发展得更好。     我们自己该反思什么?  谷歌着实做了一件让中国人矛盾的事情。  谷歌在全世界面前“公开通牒”:“

声明:《谷歌阿尔法狗 喧嚣过后,让我们来看看谷歌阿尔法狗的“大脑”...》为网友独揽帅氕分享!如侵犯到您的合法权益请联系我们删除