首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

最后的人机大战:DeepZenGo优势却看错死活 引退棋首局不敌芈昱廷

芈昱廷与DeepZenGo对弈(资料图)

来自日本加藤英树团队的老牌计算机围棋强豪——DeepZenGo引退三番棋第一局,3月24日在北京进行,对手是世界冠军芈昱廷九段。这被认为可能是最后的人机大战正式比赛,因为人工智能越来越强,成长速度惊人,给人类棋手当对手的意义越来越小。

比赛的进程和结果既出人意料,又似乎在情理之中。DeepZenGo在优势了大半盘,下出很多好棋的情况下,再度出现死活判断错误,最终被芈昱廷逆转。引退棋首局饮恨,与芈九段的“旧仇”未了,又添“新恨”。可惜DeepZenGo告别在即,以后恐怕是没机会上演“复仇之战”了。

去年五月,柯洁与AlphaGo的人机大战第二季引起了新的一波“围棋热”和“人工智能热”。懂不懂行不要紧,哪怕是既不懂围棋也不懂人工智能的人,都能随口说两句围棋和人工智能的话题。柯洁也借着这阵东风一跃而升为“全民网红”,在《开学第一课》、《朗读者》、《经典咏流传》和新年晚会、春节晚会中频频登台,声名大噪。

不过,随着人工智能的迅速发展,各路“机器围棋高手”的实力突飞猛进。从AlphaGo发表在《Nature》的第一篇论文,升级到去年的第二篇论文,两代技术的提升明显,而更重要的是新一代技术更简洁、更高效,也更容易实现。大道至简,便是如此。

后浪奔涌,前浪倍感压力。DeepZenGo的前身Zen曾经多年雄踞计算机围棋界的榜首之位,拿了很多计算机围棋比赛的世界冠军。但AlphaGo出现后,加藤英树团队此前的积累就成了冷兵器对抗热武器,几乎没有任何优势可言。

从Zen变成DeepZenGo,多加的这个单词Deep是“深度学习”的意思。加藤英树团队也借鉴了AlphaGo的机器学习技术,引入深度神经网络,使得DeepZenGo达到了职业棋手的水准,并经过一年多的发展,进一步达到接近或略高于职业顶尖高手的水准,面对朴廷桓这个等级的高手也能达到七成以上的胜率。(参考:朴廷桓在接受采访时说,以前遇到DeepZenGo,三盘还能赢一盘,现在赢不到这么多了。姑且算四盘赢一盘的话,DeepZenGo胜率就到了75%)

如果没有新版绝艺或BensonDarr的衬托,DeepZenGo的这个成绩绝对是很耀眼的。但不怕不知货,就怕货比货。前两者已经接近了AlphaGo Master版本的水平,棋下得很严谨,明显的高棋风范,分先对局,人类棋手的赢棋概率已逐渐变得无限小;而DeepZenGo则时不时地出现死活判断错误、官子莫名其妙、打劫突然就乱了,等等。这不光是简单的围棋技术失误,而是证明DeepZenGo的算法中存在某些“顽疾”,若不根除,则永远无法避免这种低级错误的反复上演。

DeepZenGo的这种在围棋技术上看属于“低级失误”的BUG,是前AlphaGo时代的所有计算机围棋程序都存在的,因为蒙特卡洛树搜索存在随机性,它本来也不是一个逻辑算法,而是一种随机覆盖性质的算法,理论上,如果计算力无限强,那么随机覆盖与逻辑推演没有区别,因为可行路线的覆盖率都是100%。但是,以目前的硬件水平,做不到计算力的无限提升,除非动用超庞大的计算资源,可以达到相对于人类的计算力“远远大于”的程度。不过,哪怕是以AlphaGo Lee的计算力,在人机大战第一季的时候,也出现了第4局的BUG,更别说算法和硬件都明显不及AlphaGo的DeepZenGo了。

AlphaGo解决这些BUG的办法是不作人工干预,不打“专家补丁”,不储存“人类专家知识库”作机器法则的补充,让机器自己学习和修正,而且尽量减少原有算法中的“人类智慧积累”因素,直至达到几乎“纯净”的机器学习版本,只输入基本规则,这就是AlphaGo Zero和AlphaZero。这也是为什么AlphaGo被称为围棋人工智能、而非传统的计算机围棋程序的理由,它可以自己学习、自己修正、自己提高,并在围棋领域具有超越人类的创新能力。

DeepZenGo团队

而DeepZenGo则走了完全相反的路。加藤英树团队一方面把深度神经网络引入自己的Zen的算法中,另一方面又大量保留旧有的算法框架。它很像是“Zen学为体,西学(AlphaGo)为用”思路。加藤英树的坚持是对自己过去九年取得成绩的信心和坚守。“我们要做一个不同于AlphaGo的围棋人工智能,走出我们自己的路和风格!”话语感人,老先生能坚持这么多年,值得敬佩。

但客观事理不因人的精神可贵而变移。DeepZenGo升级后的第一次人机大战是三番棋对赵治勋九段,一度在布局和前半盘下出了令这位围棋传奇都感到敬佩的招法,但后半盘的死活判断和官子实在堪忧,结果1-2落败,这是2016年的事了;到了2017年3月,第一届世界围棋冠军赛,DeepZenGo在面对芈昱廷和朴廷桓时,以强势的前半盘和中盘力量取得距胜利一步之遥的胜势,结果官子下错,不停地损目,直至输棋,如此低级的失误,让“围棋人工智能”显得一点都不“智能”;而后被邀请参加第三届梦百合杯世界围棋锦标赛,这是人工智能第一次参加人类棋手的正式世界大赛,大概也是唯一一次,赞助方的倪总为了邀请DeepZenGo顶住了来自各方面的压力,甚至愿意为此给棋手专门提供奖金作补偿,结果首战告捷赢了李世石的弟子申旻埈,第二局却再次出现低级错误输给中坚棋手王昊洋,这也是王昊洋职业生涯中或许是唯一一局可能历经岁月冲刷后被众人铭记的一张棋谱;之后,DeepZenGo又曾在一些人机比赛中出场,有胜有负,难言稳定。

DeepZenGo频频显出难以克服的不足,赶不上围棋人工智能最高水平的潮流,这已经是明眼人都看得出的现实。DeepZenGo可以下出很漂亮的围棋,在一些招法和大局观上超越人类顶尖棋手,却始终无法避免低级错误的时隐时现,自然也就无法更上一层楼了。

这次,DeepZenGo宣布引退三番棋的对手——芈昱廷、朴廷桓和赵治勋,正是此前在与DeepZenGo下人机大战正式对局中赢棋的三位棋手。

今日的对局,芈昱廷九段执黑,保留时间3小时,是正规的慢棋比赛。DeepZenGo团队的加藤英树老先生这次行程有点小波折,在机场遗失了本来要在比赛中使用的笔记本电脑,比赛用电脑还是临时借的。

布局阶段,已经经过AlphaGo Teach和Master棋谱熏陶的芈九段下得更像人工智能。比如黑29这手棋,放在三年前,不能说绝对没人敢下,但也一定很稀少。现在嘛,职业棋手都会下这种“机器”棋了。

芈昱廷 执黑 vs DeepZenGo(布局黑棋更像是人工智能在下)

DeepZenGo最大的问题就是死活判断不清,——并不是总不清,而是不知道什么时候就不清,带有随机性。通常,越是涉及到大区域、多块棋的死活,DeepZenGo出错的概率就大;倘若还有劫争和假眼,DeepZenGo就更容易犯错了。两只眼活棋,这么简单的道理对于DeepZenGo,仿佛永远也讲不清楚,它有时候懂,有时候不懂。

白70这手棋,如果是人类棋手下出来的,那就是进攻欲旺盛的招法,不敢说一定好,但至少是很主动。

但由DeepZenGo下这种棋,我们注意到,棋盘左半边有黑白几块棋的死活不确定,而且还可能有假眼,那么,白70就是DeepZenGo在给自己挖坑了。

芈昱廷 执黑 vs DeepZenGo(白70如果是人类在下,是进攻欲旺盛的表现,但是!)

至白106,形势是白棋不错。但是第106手,无论是从人类围棋,还是计算机围棋的角度,这都是一步坏棋。

白棋当然应该挡住下边,这样很实惠,——人类会这么想。而机器呢?DeepZenGo显然对黑棋左边的死活有想法,想要攻击杀棋,但是DeepZenGo可能不知道,它自己对死活的判断不怎么靠谱,复杂纠缠的大范围死活题,它杀崩的概率是不低的。白106等于是DeepZenGo给自己提供了一个犯错的机会。老实收空当然更保险。

芈昱廷 执黑 vs DeepZenGo(白106无论从人类的角度,还是计算机围棋的角度,都是坏棋)

白棋很凶,到处都想攻击黑棋,四处威胁着要杀棋。涉及到死活问题的棋越来越多。

芈昱廷本来就是这种乱战拼力量的棋风,喜爱对杀。DeepZenGo呢,也喜欢。如果死活判断不是DeepZenGo的漏洞之源,其实倒也无所谓。

形势是白棋好,但也是DeepZenGo很容易犯错的一个局面。

芈昱廷 执黑 vs DeepZenGo(这么下依然是白棋优势,但不确定的地方太多)

至白156,如果让巅峰期的古力或李世石来下这盘棋,继续攻击,或者让巅峰期的李昌镐来下,将优势平稳运转为胜势,估计问题都不大。

DeepZenGo不知道什么是“不得贪胜”,从它的棋里也很少见到“不得贪胜”的风格。在这方面,AlphaGo、绝艺和BensonDarr等强大的围棋人工智能却经常或时常在棋中有所体现,一旦获得优势,它们会将优势平稳运转为胜势。

DeepZenGo则是另一条路。它经常通过强烈的进攻继续追击,好像一个年轻气盛的人类棋手。

芈昱廷 执黑 vs DeepZenGo(白棋优势赫然,但左边有劫、有多块棋的死活,是个坑)

保留了大量前AlphaGo时代计算机围棋算法的DeepZenGo在收官时,经常损得莫名其妙,退而不稳,——AlphaGo Master是越退越稳,你没有翻盘的机会,天堑一般。

这盘棋是采用日本规则,贴6目半。白棋的优势已经很小了。在这一阶段的定型收官显得很“笨”。而白226是杀棋的先兆,DeepZenGo对左边黑棋的死活有想法了。

之前我们也在讲,涉及到多块棋的死活、较广大区域的对杀,再伴以劫争和假眼,DeepZenGo出错的概率将大增。这一年多来,怎么也克服不了。

现在这盘棋的左半边就很符合上述特征。看DeepZenGo是否再次错判死活,给芈昱廷机会?

芈昱廷 执黑 vs DeepZenGo(白棋的优势越来越小,而且白226是动手杀棋的先兆)

果然,DeepZenGo错看了左边的死活,导致官子连损,最终小败不可避免。至261手,白棋认输。

DeepZenGo的引退棋第一局就挨了当头一棒。

芈昱廷 执黑 vs DeepZenGo(白棋错判死活,官子连损,小败难以避免)

这也再次证明了如果不抛弃旧有的算法,即便是嫁接了部分AlphaGo的理念,也是无法达到同样高度的。反而是后起之秀,如BensonDaar,不需要什么之前的基础,直接照AlphaGo作一遍,迅速达到极高的水平。DeepZenGo的瓶颈成了它无法突破的永久天花板。

引退棋的第二局将在4月1日进行,比赛地点是韩国首尔,朴廷桓出战。我们来期待一下DeepZenGo会不会再犯类似的错误。

加藤英树先生

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180324A0Q67500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券