如何创建一种不会被电脑打败的儿童棋类游戏戏

最近Google宣布他们的围棋AI以5:0的战绩打败欧洲围棋三冠王。我一直对人工智能比较感兴趣,正好趁年前空闲的几天用JS写了一个五子棋的AI。其实很久以前就用自创的算法写过一个JAVA版的五子棋AI,不过棋力很不理想。这次用的是JS写的,所以无论任何平台上只要能打开网页的都可以玩。
google爆出这个新闻之后,很多人觉得这是不是意味着电脑智商已经在人类之上了,围棋已经没有意义了之类的。甚至觉得这是不是电脑统治人类的开端。对这些想法我只能呵呵了。
Alphago其实没有人类的“智商”!
智商包括很多维度比如认知能力、学习能力、记忆力、创造力、逻辑思维能力等,而人类智商最大的特点在于创造力,或者说想象力。现在的AI并不具备创造力,但是具备一定的学习能力。
不过这个学习能力也仅仅是很片面的一个领域内的,比如AlphaGo只会学习围棋,不会学习如何写作如何修车等。所以它只具备人类通过深度学习算法赋予它的一点点很初级很优先的学习能力。这个学习能力和几岁的小孩都没法比。
Alphago 基本上是以深度神经网络结合蒙特卡罗算法实现的,他可以通过不断和高手对弈或者和自己对弈来提高棋力。无论是深度神经网络还是蒙特卡罗搜索,都是现成的理论,没有在AI领域有本质上的突破。
而Alphago能赢欧洲的围棋冠军,靠的是一群大牛程序员和一大批专业棋手以及那个超强计算能力的大型计算机。
围棋也不会失去意义
首先,虽然Alphago战胜了专业二段水平,但是围棋其实是一个亚洲的游戏,高手都在中日韩三国。业界公认樊麾和顶级的李世石九段是有巨大的实例差距的,而且和Alphago的对决中樊麾发挥的非常不好。所以Alphago在和樊麾对战的时候,棋力应该是专业二段左右,和李世石九段差距甚远。当然电脑的进步是神速的,而且Alphago肯定会研究李世石之前的棋谱来找对策,所以有一定的机会能赢,但是即使赢了,也不会赢得很轻松。个人比较倾向于现阶段Alphago会输,但是几年或者十几年之后,电脑最终会以极大优势横扫围棋界,这个时间点的到来比很多人预期的要快。
即使电脑完虐人类,围棋也不会失去意义。就像汽车不会让博尔特失去意义,深蓝不会让国际象棋失去意义一样。这段新闻过了之后,围棋还是围棋,电脑还是电脑。只不过可能小朋友能借助AI在网上虐一下高手而已。
Alphago的意义
围棋是一个唯一人类可以狂虐电脑的棋类游戏,甚至业余高手都可以狂虐电脑,之前最顶尖的电脑也不过业余5段水平,而全国业余五段数以万计,并且业余五段和业余六段以及专业段位有天壤之别。
主要原因有如下两点:
围棋非常难进行局势评价。国际象棋对当前局势的评价函数比较简单,根据每个子的权重加一下就可以了(当然实际上没这么简单),而围棋这种牵一发动全身,需要纵观全局的游戏很难对当前局势设计一个好的评估函数。而且实际上并不存在一个简单的函数能对围棋的局势进行评估。
围棋所需计算量极大,唯一的每一步平均有200+的变数,基本都会下满棋盘,相比之下 国际象棋每一步的平均变数不超过50,一般几十步就会结束游戏。
所以围棋的博弈树极其庞大,而且非常难对当前的局势进行评分。相比之下象棋这种游戏就简单太多了。所以传统的基于对博弈树进行搜索和评估的算法在围棋上是行不通的。而Alphago得出现,让这个问题的求解看到了希望。很多人觉得电脑下不赢人的原因是认为围棋需要靠大局观才能赢,而alphago证明了这种大局观也不过是一个数学问题而已,完全可以考计算机来解决。
如果说Alphago的意义,那就是它攻下了人类在棋类游戏的最后一块阵地,现在全世界的人都相信,电脑已经统治了所有棋类游戏。或者说,在所有的完备信息的零和博弈游戏中,电脑已经完胜人类。
下面说下完备信息零和博弈游戏的定义,关键就是两个点:
完备信息,也就是博弈双方完全知道对方的所有信息,从第一步到最后一步,所有的走法,整个棋盘看的清清楚楚,也不存在随机性。相比之下,四国军棋就不在这个范围内,因为看不到对手的棋,德州扑克也不再这个范围内,因为看不到对手的牌,而且下一次发出的牌是随机的。
零和博弈,也就是双方的收益之和为0。电脑优势则玩家必然劣势,不存在双方都是优势或者双方都是劣势的情况。
围棋和象棋都是典型的这类游戏,我们要讲的五子棋也是。
我们要讲的五子棋算法是用JS实现的,源码在github上,大家可以先看一下,跟电脑对战几盘感受下电脑的棋力:
线上地址:
下一章讲五子棋AI的三个关键算法。
另外七周其中前端框架系列明年会继续写的,保证不会太监。
本文已收录于以下专栏:
相关文章推荐
关于本博客这个博客不是把五子棋算法研究透彻之后再写的,而是一边研究算法一边写代码,同时一边写博客,所以有些博文的顺序不太对,比如 Zobrist 其实应该放在算杀之前就讲的。不过这并没有大的影响,总体...
AI实现的基本思路-极大极小值搜索算法五子棋看起来有各种各样的走法,而实际上把每一步的走法展开,就是一颗巨大的博弈树。在这个树中,从根节点为0开始,奇数层表示电脑可能的走法,偶数层表示玩家可能的走法。...
谷歌人工智能深度解剖:从HAL的太空漫游到AlphaGo,AI的春天来了
人工智能驱动的年代到了—谷歌以AI为本,融入生活,化不可能为可能
早在1968年斯坦利库布里克作品《2001:太空漫游》里的H...
谷歌DeepMind开发的人工智能围棋程序AlphaGo以5:0的压倒性优势击败了欧洲围棋冠军、专业二段棋手Fan Hui,这是最近一周来最火爆的新闻了。16年3月份AlphaGo会和最近10年平均成...
最近大家比较关心的围棋人机大战(google alphago深度学习+蒙特卡洛搜索算法 vs 李世石)中,google deepmind基于Nature2016文章的alphago算法在5局制的比赛中...
今天我想要分享一下我做五子棋AI的思路。因为在做这个之前,我没有接触过任何像这种类似的东西。通过这一次,我也算是有所了解,我的思路也是来自很多网络上的博客,看了很多,最终总结出了自己的这样一个。
今天把VCT改成了“全面VCT”,即可以解决全部VCT局面(当然,做棋不在其中,我也不打算写做棋的代码,但这不代表做棋不存在于软件当中,后面会介绍),然后灵光一闪,发现了PVS搜索时快速找到对方VCT...
α—β剪裁函数会一直搜索到指定深度然后返回,但是当走法生成器生成较多走法或深度设置较深时,往往会导致较长时间无法返回,从而无法进行较为准确的时间控制——因为如果即时返回,我们还没有得到结果,很尴尬的说...
1.五子棋胜负算法(使用了对棋盘进行全盘判断)function win():void
//将胜负判断封装成函数,便于调用
ww=new wh...
关于剪枝问题前面讲到的通过Alpha-Beta剪枝和启发式搜索可以将4层搜索的平均时间降低到1秒以下。只有这两个优化方式其实目前最多可以做到6层搜索,就是把AI和玩家各向后推算三步。6层搜索的棋力其实...
他的最新文章
讲师:李江龙
讲师:司徒正美
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)2013年10月 Java大版内专家分月排行榜第二2013年3月 Java大版内专家分月排行榜第二2013年2月 Java大版内专家分月排行榜第二
2013年7月 Java大版内专家分月排行榜第三2013年5月 Java大版内专家分月排行榜第三2013年4月 Java大版内专家分月排行榜第三
2012年5月 Oracle大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。谷歌程序战胜围棋冠军 并非计算机打败了人类
(原标题:谷歌AlphaGo的胜利:不是计算机打败了人类,而是人类打败了人类)
高飞龙【编者按】作者北大软件与微电子研究院研究生毕业,围棋业余5段,现参与在线围棋教育开发项目。“珍珠港遭到空袭!这不是演习!这不是演习!这不是演习!”——日凌晨从昨晚开始,一条声称某AI在19路棋盘上分先战胜樊麾二段,并且论文已登上Nature的消息刷爆了朋友圈。一开始,就像以往的那些“大新闻”一样,大家都认为是标题党,甚至某业余7段还查验到其论文尚未被Nature审核通过。然而随着时间的推移,越来越多的近距离详细消息传来,开始有人相信消息的真实性。围棋圈内的各种群、朋友圈都在不断地争论,相信的人越来越多,不信的人也坚持己见。终于,在接近凌晨两点,又一条最新报道来了,这次还附带着棋谱:《面对围棋AI,人类最后的智力骄傲即将崩塌……》(虽是真消息,但稍有标题党之嫌)至此,看到棋谱的所有人几乎都相信了:人工智能AlphaGo,实现了里程碑式的一步。首先,在客观上要肯定AlphaGo实现的水平进步&从昨晚开始,一条声称某AI在19路棋盘上分先战胜范麾二段,并且论文已登上Nature的消息刷爆了朋友圈。一开始,就像以往的那些“大新闻”一样,大家都认为是标题党,甚至某业余7段还查验到其论文尚未被Nature审核通过。然而随着时间的推移,越来越多的近距离详细消息传来,开始有人相信消息的真实性。围棋圈内的各种微信群、朋友圈都在不断的争论,相信的人越来越多,不信的人也坚持己见。终于,在接近凌晨两点,又一条最新报道来了,这次还附带着棋谱:以往最强的围棋AI,大致是CrazyStone、Zen和银星围棋这几个。而AlphaGo在让以上几个程序(无银星围棋)4子的情况下,取得了80%左右的胜率。我们据此基本可以判断,人工智能将自己的水平上限一下子提高了5个子。樊麾二段,虽然以欧洲冠军闻名于世,但其实圈内谁都知道他是一名中国旅欧教学的职业棋手。虽然远离东亚职业一线,但樊老师的水平仍然是不容置疑的,他依然有着职业的水平(虽然是较弱的职业),一般的业6仍然是比他不上的。AlphaGo在正式比赛中对樊老师5:0(棋谱已可见),据说加上非正式比赛的总分为8:2(已确认),再加上棋谱里AlphaGo显示出的惊人的表现,我们可以认为,人工智能在围棋上的水平已经迈入了职业的大门。(最新:据多位顶尖棋手对棋谱的鉴定,认为AlphaGo的水平应该在业余强6段到弱职业之间,离人类顶尖大概还有一先到两先的差距)说的更明白点,之前的AI在蒙特卡洛算法的帮助下虽然取得了革命性的进步,战胜了绝大多数的人类,但人类中能战胜那些AI的人数可能仍然在近百万的级别。而自今日(其实已经是三个月前了)的AlphaGo起,能在围棋盘上战胜AI的人类人数可能已经不到千人了。按照人工智能研究院的田渊栋老师的说法,这个消息在相关研究圈内应该早就不是新闻了。甚至回想一下昨天扎克伯格在facebook上突然发声支持自己的研究团队,也因为是知道了google团队的成果即将在一日内公示,所以想要抢占一个在舆论的位置。(田老师参与的facebook的研究团队,是google现在最大的竞争对手,田老师他们使用的方法应该不太一样,虽然他们暂时落后,但我同样也很期待他们的下一步进展)总之,从事实看来,这不是演习已经是显而易见的事实。接下来谈点个人对人工智能的粗浅理解。蒙特卡洛算法之后,我看到了新的天地&近些年来,尽管在蒙特卡洛算法的帮助下,AI实现了革命性的进步,达到了能战胜大部分人类的水平(中等业余5段),但随着摩尔定律的走向终点,计算机硬件的发展速度在旧有的道路上暂时无法按以前的速度爆炸发展下去,大家都认为仅凭蒙特卡洛算法是无法帮助AI战胜人类的。依据个人的理解,我曾将围棋的思维过程分解为四步的演进:常识→棋感→计算→判断。大约一年前,我曾和李喆七段就此问题进行过简单讨论,当时我认为蒙特卡洛算法的成功主要在于为人工智能建立了“棋感”,而以往的人工智能只能在“常识”和“计算”具有天然优势。在蒙特卡洛算法之前,虽然计算机凭借强大的计算力可以积累大量“常识”,但由于“棋感”的缺失,人工智能无法对计算方向进行有效的筛选,最终就不免沦于蛮力搜索。而蛮力搜索虽然可以在一定程度上实现高水平的“计算”,甚至很多其他棋类都在这一环节上被人工智能打败,而由于围棋的过度复杂和摩尔定律结束对计算机发展前景的限制,走到这一步仍然无法让人工智能战胜人类。(注:上图为计算机眼中的国际象棋落子思路,而下图为计算机眼中的围棋落子思路,来自谷歌deepmind官网AlphaGo |
DeepMind)而蒙特卡洛算法出现后,凭借大量储备的棋局,通过胜负概率来判断下一步着点以作为计算方向,极大的提高的计算的效率,所以AI的水平才实现了革命性的进步。而这次的AlphaGo,使用了深度神经网络与蒙特卡洛树状搜索相结合的方法。依据已经能看到的Nature上的论文(可见雷锋网文章:《Google人工智能击败欧洲围棋冠军, AlphaGo 究竟是怎么做到的?》),研究者们在AlphaGo中加入了两个深度神经网络,以value networks来评估大量的选点,而以policy networks来选择落子,并且开发了一种新式算法来结合蒙特卡洛算法和以上两个神经网络。(注:上图为AlphaGo使用的神经网络结构示意图,来自原论文)在这种结合下,研究者们结合参考人类职业对局的监督式学习,和AI大量积累自对弈实现的深度学习,来训练和提高AI的围棋实力。在蒙特卡洛算法之后,我看到了新的天地。这种结合以及新式的思路,让人感到前景无限。最后谈一谈,我认为我们应该保有的态度。如何面对人工智能?&这里,我首先想引用李喆七段在今天早上说的话:“我们已来到两个时代的连接处,无论你是否愿意,这都是一个需要接受的事实。工具无善恶,善恶在人心。未来的路通往何方,将由我们自己决定。”从凌晨到早上,朋友圈里的评论区一直争论不休,甚至某世界冠军一直在说“不信”,毕竟大家在没有看到板上的钉子之前,从情感上都是不愿意相信的。直到另外两位一线棋手告诉他,已经可以看到棋谱了......面对这个事件,接下来将会有很多的爆炸性新闻报道,以及各种各样姿势的讨论。我们要知道:一.人工智能的确实现了很大的进步。这次的进步可能是革命性的,这次新闻宣称的AI取得的成绩并不是“标题党”。二.人工智能还没有战胜人类(什么所谓“人类最后的骄傲陷落”都属于“标题党”)。但朝着这个方向迈出了一大步,而且是在很多人在蒙特卡洛之后不看好AI下一步发展的情况下,来了一个突然袭击(谷歌从开始研究到出成果再到发布,一直憋一个大新闻憋这么久也真是能忍)。三.人工智能战胜人类的时点,可能比很多人想象的要来得更早了。不是之前设想的生物计算机或者量子计算机出现后,甚至都不是新材料取代硅晶片之后,在这个时代就有可能出现了。也许是五十年后,也许是二十年后,甚至可能是十年后。从小学时开始,我就痴迷于许峰雄教授对于计算机国际象棋项目的研究和成就,一直追踪到97年“深蓝”战胜卡斯帕罗夫。(就是在那之后不久,我才从国际象棋转投了围棋......)(注:上图为第一个打败人类的计算机国际象棋程序“深蓝”之父——许峰雄)从中学时代到大学时代,我一直追寻着许教授的动态和他撰写的各种文章、书籍,他写的《“深蓝”揭秘》被我翻的都烂了,我甚至在中学时代一直想以此作为未来的求学从研的方向。许教授离开、前往亚研院并声称准备致力于作为最终问题的计算机围棋难题之后,我仍然一年年心心念念的期待着许教授的后续动作。然而十多年过去,等来的却是无数的后来者。这也挺好,人类就是不缺后来者。看许教授对当年研究过程的讲述,最大的感受就是:其实并不是计算机打败了人类,而是人类打败了人类。大量的计算机专家,配合大量的国际象棋职业棋手,在算法上不断革新,再搭乘上摩尔定律的东风,不断的失败再重来、输了再修正,最终才解决了计算机国际象棋难题。卡斯帕罗夫,是败给了数以百计的人类专家的智慧的合力。围棋也会是一样,计算机——今天说人工智能更合适,战胜人类的那一天迟早会来,大部分人都从来不否认这一点。争论,始终在于这一天的早晚。而棋手和围棋从业者们,出于可以理解的感情,总是希望并认为这一天不会来得那么快,但他们绝对不会拒绝甚至仇视这种进步。其实我看到的很多人,都一直期待并赞许着人工智能的进步,甚至很多职业高手还亲身参与和帮助着计算机围棋项目的研究。我们努力打造着一个“大玩具”,一个能战胜自己的“大玩具”。所以最终的成功,是我们人类自己的成功,而不应该对计算机感到恐惧。
同时,这“大玩具”也不只是好玩而已,人工智能对于现代乃至未来科技的发展有着极大的意义,这意义甚至会超出当年原子弹研究的后续红利。所以不要害怕,不要烦恼,让我们期待着人工智能在围棋上战胜人类的那一天的到来吧。我之前一直认为在我有生之年是看不到这一天的,然而现在看来,我错了。我一点也不失望,反而感到很兴奋,很激动,并且期待着以google和facebook为首的前沿研究团队们的进一步的表现。最后的最后,恭喜谷歌,恭喜围棋,恭喜人类。(来源:雷锋网)
本文来源:雷锋网
责任编辑:郭浩_NT5629
关键词阅读:
不做嘴炮 只管约到
热门产品:   
:        
:         
热门影院:
用微信扫描二维码分享至好友和朋友圈4567被浏览455936分享邀请回答arxiv.org/abs/0,目前投稿于ICLR 2016。如知友所说,我们用了DCNN(深度卷积神经网络)进行模式匹配再加MCTS(蒙特卡罗树)搜索的办法。DCNN其实要比简单的开局库或者搜索引擎要厉害得多,在看过十几万局棋之后,它会有比较强的泛化能力,或者通俗地说是举一反三的能力。围棋虽说是“千古无同局”,但在局部及开局还是有很多相似或者相同的模式会反复出现,DCNN能够抓住这些模式并且在实战中灵活运用。完全不用搜索的DCNN挂在KGS上就有3d的水平,这是非常让人吃惊的,甚至比我们通过搜索能达到5d更让人吃惊,我们只在这个项目上花了五个月的时间,若是用传统方法来做这个模式识别,估计耗时几年1k都不一定上得了(要是这样我也不会开这个项目了)。单单拿游戏的状态个数去比较它们的难度,是不准确的。有很多状态空间广阔但是易解的例子。比如状态空间的估值函数很平滑,用一个简单的函数就容易拟合,在这种情况下即使状态数目是无穷大(比如说连续相空间),问题也不难。让计算机投篮,出手的方向,速度,篮球的旋转,每个变量都是连续因而有无限可能,但是计算机试几次之后很快就能找到最优解。又比如状态空间存在可以用数学表达的全局结构,这样用贪心法或者动态规划也可以很快地解决,其难度和状态个数就无关。比如说棋盘上放些黑子作障碍物,要求白子从左上角走到右下角,那哪怕是千路万路棋盘,尽管可能的路径有指数条,一个最短路径搜索也就可以搞定了。围棋难的地方在于它的估值函数非常不平滑,差一个子盘面就可能天翻地覆,同时状态空间大,也没有全局的结构。这两点加起来,迫使目前计算机只能用穷举法并且因此进展缓慢。但人能下得好,能在几百个选择中知道哪几个位置值得考虑,说明它的估值函数是有规律的。这些规律远远不是几条简单公式所能概括,但所需的信息量还是要比状态空间本身的数目要少得多(得多)。现在的深度学习能在大量对局中找到这样的一些规律,但仍然没有人脑厉害。这一方面说明我们现在算法的局限性,另一方面它还有巨大的发展空间。一句话,穷举状态并不是最终目标,就算以后超超级计算机能做到这一点,也不能说解决了人工智能。只有找到能学出规律的学习算法,才是解决问题的根本手段。像NP-hard的问题也是如此,不太可能会在多项式时间内被一个简单算法解决,也不太可能需要超级计算机穷举解决,而是会被过去的大量经验加上适当搜索解决。这个方向最近开始有一些文章了(比如说用深度学习解决旅行商问题),我觉得这是个有趣的方向。 另外,创造力并不是什么特别神秘的东西,除开少数天才之外,大部分的创造工作其实是对于事物高层抽象的理解,联系和搬运。大家都知道创造是需要素材的,艺术家只有体会大自然才有作品,小说家要去体验现实才有灵感,工程师要看过大量前人的轮子才能造出更好的轮子。从机器学习的角度来说,素材就是给自己大脑的训练样本,在从这些样本中抽取别人不曾抽取到的共同点,找到潜在的联系及局限性,创造力就会自然而然地产生。现在机器不如人的地方就是它抽取的效率太低,需要大量的样本,而人脑在过去经验加上更有效算法的基础上,(似乎)只要几个样本就可以做到。如何让计算机也做到这一点?我们还需要进一步的研究。最近去开NIPS和D-Wave的几个人聊过,大概知道量子计算现在的水平。量子计算现在主要有两个问题,其一是条件太苛刻,其二是只能解决特定问题。要让这个量子计算机工作,需要放在比绝对零度高零点零几度的超低温下,并且工作时间不能太长,不然一旦量子态退相干就没有用了。我觉得人脑应该不具备这个条件。然后D-Wave的系统只能解决特定优化问题(马尔可夫随机场,MRF)。谷歌前一阵子宣称,他们的量子计算机比现有的计算机快一亿倍,就是在D-Wave原型上开发的,也同样是解这个特定问题。如果细看他们发表的文章就会发现,他们比较的对象是最简单性能最差的模拟退火经典算法,这个算法用过的人都知道,经常等到猴年马月都没有动静的。如果他们和量子蒙特卡罗方法(注意这是个模拟多体薛定谔方程的经典算法,可以在现有计算机上跑,名字比较误导人 )比较,其实没差多少,没看出有什么特别大的进展,要真正能证明比传统的计算机好,需要制备更多的量子态,然而如何让它们不会退相干,又是个令人头疼的问题。而多用途的量子计算机,即用量子门搭出来的计算机,现在还处于比较早期的阶段。当然我对这个领域不太熟悉,所以也无法对此作非常细致的评判,但还是那句话,穷举并不是人脑采取的手段,也不应该是人工智能采取的手段,以后即便用量子计算机做人工智能,还是要以从数据中学出规律为目标的。4.6K244 条评论分享收藏感谢收起和后续挖来了deep learning的开拓者导致我们Facebook AI lab在业界名声大噪。也是因为Facebook这个平台,我结识了算是同事或者CMU学长的
大牛。看过他的很多回答和专栏文章,都很喜欢,而且文字非常inspiring。直到前两天在 Zuck 的 news feed 上看到下面的一段话,着实对他佩服:Zuck先是简单说了下 Go(围棋)的AI现状和Facebook AI lab的工作,然后说Facebook AI lab可以在0.1秒内做出和之前系统一样好的判断。而后点名表扬了田渊栋的成绩(对了,他的工位就在Zuck旁边20英尺处)。Zuck的原话:The researcher who works on this, Yuandong Tian, sits about 20 feet from my desk. I love having our AI team right near me so I can learn from what they're working on.附上田哥论文的链接:以及 Zuck feed 中视频链接:当然,Zuck的帖子下面的评论也是各国群众秀智商下限:有人问,以后是不是都是AI选手在下棋了?还要人干嘛? 有人鼓励说“田哥威武!加油”。有人问:“如果AI和人一样聪明了,对于人类是不是巨大的威胁?” 还有人问:“你娶你老婆 Priscilla Chan 是不是为了让Facebook进中国?”(我看得醉了。。。)当然,今天最火的莫过于几个小时前Nature的发文: : Google DeepMind实验室的 AlphaGo 程序把欧洲围棋冠军 Fan Hui 干翻了,5:0直接碾压。同时 AlphaGo 99.8%的胜率可以干掉其他的围棋程序。另外,AlphaGo 已经和韩国职业
Lee Sedol(公认现在围棋的世界第一选手)预约好了三月份的一场比赛。让我们所有人拭目以待吧!最后推荐一篇
的专栏文章: 里面有着他这一年来的心路历程。之前在张溪梦先生聊天的时候,说到在湾区的老美公司打拼,一个中国人要付出三倍左右的努力,才能达到一个白人获得的同样的成就。所以田哥这一路来着实不容易;我能体会他的文章里所提到的艰辛。希望Facebook提供的平台能让他觉得从Google跳槽Facebook是一个无比正确的决定。借用他的文字结尾:我有时候会问自己:“我是不是背弃了梦想?”我想除了我自己,任何人都不会给我答案,任何评论也不具效力。我记得有人问过,如果梦想从践行的一开始,就在不自觉地向现实妥协,那样的梦想还是最初的梦想么?其实,这样的问题没什么可纠结的,因为世界从来就不是二元的,梦想和现实,如同高悬的日月,日月之间,有一条灰色的路,在自己脚下蜿蜒曲折,绕过各种险阻,一直向前。而我能做的,只是要在奔跑时,不停提醒自己,还记得“梦想”这个词的含义。对了,突然想到忘记说了:我大二的时候非常喜欢看棋魂,一周内把所有棋魂集数都看完了 --- 真是非常经典的动画片。来,让我们重温一集:--- 在希望的田野上26355 条评论分享收藏感谢收起查看更多回答人类要被人工智能打败了吗?
腾讯较真 | 丁阳
昨日,不少网友可能都被一条消息给“震住了”――“面对谷歌围棋AI,人类最后的智力骄傲即将崩塌”①。这则消息讲的是谷歌公司旗下团队研制的计算机程序“阿尔法围棋”首次在没有让子的情况下,战胜里人类职业围棋选手。这个事情是真的吗?如果是真的,能说是人类被电脑打败了吗?《较真》为你解读。
查证过程1、人工智能打败职业围棋选手确有其事这次“阿尔法围棋(Alpha Go)”打败人类职业围棋选手的新闻,来自国际知名的科学期刊《自然(Nature)》的最新一期封面论文,谷歌旗下的这支团队在论文中介绍了如何大幅度提高里人工智能围棋的水平。被“阿尔法围棋”5:0比分打败的这名职业棋手叫樊麾,是连续几年的欧洲冠军。有读者或许清楚欧洲围棋水平远不如东亚,但樊麾本人是来自中国的棋手,在中国取得了职业二段证书。虽然樊麾定段的年代比较早,但终究也是职业棋手,与现在活跃的顶尖高手李世石、柯洁等,最多也就让两子水平的差距。欧洲围棋冠军、职业二段樊麾所以,至少可以认为,“阿尔法围棋”的水平已经摸到了人类职业棋手的边了,如果能在接下来在今年三月的人机大战中战胜曾经统治棋坛的李世石九段,其意义就相当于当年IBM超级电脑“深蓝”战胜国际象棋世界冠军卡斯帕罗夫。按国内职业高手李戳蔚某醪脚卸希鞍⒍ㄎ濉痹谄迤字姓瓜值钠辶Γ按笤际嵌ゼ馄迨秩孟然蛉孟鹊固氖盗Γ胝绞と死嗷褂幸恍《尉嗬搿保馐侨ツ10月的水平,今年3月会有怎样的表现,非常值得期待。2、回顾电脑围棋的发展历史,“阿尔法围棋”的成就确实令人震惊棋类运动,通常都是“完全博弈”,即所有信息都在棋盘上呈现,胜负完全不取决于运气,被认为是智力竞赛的极佳载体。在围棋之前,人工智能早已打败几乎所有棋类领域的人类专家,最典型的如国际象棋――电脑程序已经几乎研究透所有的开局库、残局库,中局计算的深度也远超人类,更重要是几乎从不犯错,已经没有任何人类能打败程序。而来自东方的、具有数千年历史的围棋则不同,围棋被认为是“人类发明的最复杂也是最美的游戏”(谷歌团队就这个观点)。称围棋最复杂,是因为其变化非常之多――在国际象棋的任何一个回合,平均可能的走法有35种。但围棋的走法却能达到250种。而且,国际象棋或象棋的目标非常明确,就是“杀王”,每一个着法之后,对“杀王”有多少好处较易通过函数评估,而围棋是“地多者胜”,这个目标要相对抽象,导致估值函数非常不平滑,差一个子盘面就可能天翻地覆。人类高手可以轻易驾驭围棋,但程序却相当困难②。可以非常粗略地把电脑围棋的发展历史分为三个时期。在电脑围棋发展的早期,主要是通过“人类手把手教电脑”的方式,来提升电脑围棋的水准――人类告诉电脑在特定情况下有哪些招法,告诉电脑怎么评估一手棋的好坏,然而这种函数评估都是“静态”的,而且很不准确,非常不善于应对变化,一般只对处于棋局初期的局面有一定作用,当棋局进入激烈厮杀后的中后盘后,往往就乱下一气。早期围棋程序,是基于“特征识别”来对局面进行静态评估,这种方法成就有限在网站上面,有个记录人机围棋大战历史( Human-Computer Go Challenges)③的页面 ,从中可以看出电脑围棋程序挑战人类业余围棋高手乃至职业选手的艰苦历程。围棋人机对战最早从1986年就有记录,但一直发展到2005年,电脑程序还只能在被让15个子的情况下,与人类业余棋手苦苦抗衡。所以2008年的时候,聂卫平九段还认为“电脑围棋水平还停留在被人让二十多个子”。这足以说明早期围棋电脑程序实力还相当有限。不过重大的变化在年已经发生了,围棋程序普遍用上了一种叫“蒙特卡洛树搜索(MCTS)”的方法,来改进其算法的估值函数,这可以算作电脑围棋发展的第二个时期。“蒙特卡洛树搜索”是一种概率论的方法,通俗地来说,在一个特定的局面下,电脑大概有几个着点可以选择,怎么判断哪个着点最好?就是每个点都“试一下”,“试”的方式如下:选定一个着点后,用随机着法模拟完对局,模拟几千几万盘后,看胜率如何,胜率最高的着点就是最好的着点。使用这种方法改进算法后,电脑围棋的水平有里大幅度的进步,2007年,一个叫“MoGo”的程序在9路棋盘上打败了人类职业棋手。随后涌现的“Zen”、“Crazy Stone”等程序,慢慢达到了业余围棋好手的水平,与职业棋手的差距在四、五个子左右。然而这种方法有其极限,其实质是一种“穷举法”,但围棋的变化实在太多了,再先进的硬件也无法穷举完所有变化,电脑计算能力变强也无济于事。而且,在很多人工智能的研究者看来,就算以后超超级计算机能够用穷举法战胜人类,也不能说解决了人工智能。直到最近几个月,以“蒙特卡洛树搜索”为核心的围棋程序还与职业棋手有鸿沟般的差距。去年下半年的时候,大部分围棋程序面对人类高手(名字后面带"p"的,表示职业)仍有4个子以上的棋力差距,“阿尔法围棋”能在平等条件下(Even)横扫2p,令世人震惊这就是为什么“阿尔法围棋”的横空出世极具震撼性。据《自然》上的这篇论文,“阿尔法围棋”不仅5:0战胜了樊麾二段,还在对阵其他围棋程序中,取得了495局比赛中494次胜利的成绩(99.8%)④。甚至在“阿尔法围棋”让其他程序四个子的情况下,还取得了绝对优势。这可以说是电脑围棋发展历史的第三个时期,目前距离人类顶尖水准已经非常接近了,而其中关键,正在于电脑已经能够“真正地”向人类学习如何来下棋,这与国际象棋程序“靠计算能力打败人类”有着本质上的不同。3、“阿尔法围棋”取得如此成就的原因:机器学习谷歌旗下团队之所以能够取得如此的重大突破,并不是毫无预兆的,与同样正在攻关电脑围棋的Facebook团队一样,他们都应用了一种叫做“深度卷积神经网络”的技术。这是人工智能领域非常热门的一项技术,广泛用于图像和语音的智能识别方面。从广义的层面来说,“深度卷积神经网络”是“深度学习”的一个分支,而“深度学习”又是“机器学习”的一个分支。机器学习,指的是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法,是人工智能的热门领域⑤。这个说法听起来没有什么稀奇之处,然而,“深度学习”是一种模仿人类大脑神经元工作的技术,加上这一技术强调的是“自动”,所以深度学习会给人一种“活物”的感觉。在谷歌团队的论文里,多处用到了“训练”这个词――“阿尔法围棋”之所以这么厉害,就是因为团队用职业棋手的棋谱“训练”它,让它总结出职业高手下棋的招法和规律――用爱丁堡大学教授Amos Storkey的话来说,程序“并不是希望找出最优走法,而是学习人类的下棋风格,然后对人类棋手进行有效的复制。”⑥谷歌团队的论文也提到,“在与樊麾的比赛中,阿尔法围棋在评估位置方面要比深蓝与卡斯帕罗夫比赛时所评估的位置少几千倍”。在谷歌团队的论文中,提到“我们用19X19的图像来传递棋盘位置”,来“训练”深度神经网络⑦与初期的“人类手把手教电脑下围棋”相比,“自动学习”无疑是革命性的。据谷歌团队的说法,用这种方法做出的围棋程序水平,轻易就达到了最先进的蒙特卡洛树搜索算法的级别,两者再一结合,就达到了接近职业棋手的程度。4、这是否能说明人工智能已经可以打败人类?说不定会全方面来临电脑围棋真的战胜人类围棋高手了,到底有什么意义呢?能说明人类被人工智能打败了吗?很多人不以为然――“人工智能不也是人类创造出来的吗,即使人类下围棋下不过电脑了,那也不过是人类打败人类,怎么能说人类的智力骄傲崩塌了呢?”一个深度学习的典型过程:通过具象到抽象,机器能够自动提取出分析对象的特征,从而完成“学习”从某种意义上来说,这种说法不算错。但在很多“未来学家”眼里,这种“青出于蓝而胜于蓝”的景象,说不定是令人恐惧的。机器并不是通过“死算”,而是通过“自我学习”,在能够象征人类智慧的棋类项目上战胜人类,在其他一些以前看起来只能人类做到而机器人无法做到的领域――诸如自动驾驶、人工智能客服等等,智能机器人说不定都能胜于人类,这种现象说不定会全方面地来临。到时候普通的人类们该如何自处呢?虽然这种人工智能还不具备“自我意识”,与科幻电影中那些跟人类无异的机器人还相去甚远,但会让这个世界会发生怎样的改变,恐怕也已经很难想象了。《较真》栏目微信公众号已开通,欢迎扫描二维码或微信公号搜索“全民较真”,查看更多内容,提供疑似不实新闻,并与我们进行互动。
人工智能打败职业围棋选手确有其事,而且关键之处在于,人工智能并不仅仅是具有强大的计算能力,还能够通过“自动学习”的方式模仿人类的行动。人工智能的最新发展正展示着一个广阔而未知的未来。
①《》,果壳网&②《》,《科学世界》,2014③“”,④《》,微信公众号:新智元&⑤《》 ,吴怀宇⑥《》,微信公众号:机器之心⑦“”,《自然》,2016&
扫一扫,用手机看新闻!
用微信扫描还可以
分享至好友和朋友圈

我要回帖

更多关于 兵棋类游戏 的文章

 

随机推荐