如果alphago 算法跟自己下棋会怎样

AlphaGo如何用“大脑”下棋?
(原标题:迎战李世石:AlphaGo如何用“大脑”下棋)
文:知识分子公众号 作者:董飞(硅谷工程师)编者按:韩国时间2月22日下午5时,“李世石-AlphaGO人机对战”的第二次新闻发布会在韩国棋院二楼进行,公布本次人机大战更多比赛细节:比赛将分别于3月9日、10日、12日、13日、15日在韩国首尔的Four Seasons酒店进行,开赛时间为每日韩国时间下午1点(中国时间中午12点)。比赛最终决定采用中国围棋竞赛规则,黑贴3又3/4子(7.5目),用时为每方2小时,3次1分钟读秒。Deep Mind公司youtube频道和韩国棋院围棋TV将对本次比赛进行全程直播报道。之前0:5不敌AlphaGo的欧洲围棋冠军樊麾,作为比赛裁判团队一员参与其中。谷歌开发的人工智能围棋程序AlphaGo是如何用“大脑” 下棋的呢?你认为谁会赢?看完解读,去文末投票亮出观点吧。在象棋和国际象棋中,电脑软件都非常厉害,只有围棋是唯一“电脑下不过人类”的项目。而今年1月份有个爆炸性新闻:谷歌DeepMind开发的人工智能围棋程序AlphaGo以5:0的压倒性优势击败了欧洲围棋冠军、专业二段棋手。那么3月份AlphaGo会和韩国九段、世界冠军李世石进行对弈。如果此役AlphaGo获胜,这意味着人工智能真正里程碑式的胜利。围棋。Gif来源:Wiki这也引起了笔者好奇心,在春节期间,跟Facebook的田渊栋(他的背景无可挑剔,卡耐基梅隆大学机器人系博士,Google X 无人车核心团队,Facebook人工智能组研究员)交流,他做的也是计算机围棋AI--黑暗森林(熟悉三体的朋友知道怎么回事),今年1月份他的文章被机器学习顶级会议ICLR 2016接受(表达学习亦被江湖称作深度学习或者特征学,已经在机器学习社区开辟了自己的江山,成为学术界的一个新宠)。他聊天中谈到自从谷歌收购了DeepMind,投入大量资源去做好人工智能项目,不为别的,就是要向世界证明谷歌智能的强大。发表在顶级期刊《Nature》的论文光看作者就20个,明显是下了血本,前两位都是计算机围棋界的大牛,一作David Silver是计算机围棋和强化学习的顶级专家,整个博士论文就是做的围棋; 二作Aja Huang以前写过多年围棋软件,自己又是AGA 6D的水平。还是不多说废话,下面是SpinPunch CTO 对AlphaGo的工作原理解读(原文见参考资料):谷歌DeepMind宣布他们研发的神经网络围棋AI,AlphaGo,战胜了人类职业选手。这篇论文由David Silver等完成。里面的技术是出乎意料地简单却又强大。为了方便不熟悉技术的小白理解,这里是我对系统工作原理的解读。深度学习“深度学习”是指多层的人工神经网络和训练它的方法。一层神经网络会把大量矩阵数字作为输入,通过非线性激活方法取权重,再产生另一个数据集合作为输出。这就像生物神经大脑的工作机理一样,通过合适的矩阵数量,多层组织链接一起,形成神经网络“大脑”进行精准复杂的处理,就像人们识别物体标注图片一样。虽然神经网络在几十年前就有了,直到最近才形势明朗。这是因为他们需要大量的“训练”去发现矩阵中的数字价值。对早期研究者来说,想要获得不错效果的最小量训练都远远超过计算能力和能提供的数据的大小。但最近几年,一些能获取海量资源的团队重现挖掘神经网络,就是通过“大数据”技术来高效训练。两个大脑AlphaGo是通过两个不同神经网络“大脑”合作来改进下棋。这些大脑是多层神经网络跟那些Google图片搜索引擎识别图片在结构上是相似的。它们从多层启发式二维过滤器开始,去处理围棋棋盘的定位,就像图片分类器网络处理图片一样。经过过滤,13 个完全连接的神经网络层产生对它们看到的局面判断。这些层能够做分类和逻辑推理。这些网络通过反复训练来检查结果,再去校对调整参数,去让下次执行更好。这个处理器有大量的随机性元素,所以我们是不可能精确知道网络是如何“思考”的,但更多的训练后能让它进化到更好。第一大脑: 落子选择器 (Move Picker)AlphaGo的第一个神经网络大脑是“监督学习的策略网络(Policy Network)” ,观察棋盘布局企图找到最佳的下一步。事实上,它预测每一个合法下一步的最佳概率,那么最前面猜测的就是那个概率最高的。你可以理解成“落子选择器”。落子选择器是怎么看到棋盘的?数字表示最强人类选手会下在哪些地方的可能。团队通过在KGS(网络围棋对战平台)上最强人类对手,百万级的对弈落子去训练大脑。这就是AlphaGo最像人的地方,目标是去学习那些顶尖高手的妙手。这个不是为了去下赢,而是去找一个跟人类高手同样的下一步落子。AlphaGo落子选择器能正确符合57%的人类高手。(不符合的不是意味着错误,有可能人类自己犯的失误)更强的落子选择器AlphaGo系统事实上需要两个额外落子选择器的大脑。一个是“强化学习的策略网络(Policy Network)”,通过百万级额外的模拟局来完成。你可以称之为更强的。比起基本的训练,只是教网络去模仿单一人类的落子,高级的训练会与每一个模拟棋局下到底,教网络最可能赢的下一手。Sliver团队通过更强的落子选择器总结了百万级训练棋局,比他们之前版本又迭代了不少。单单用这种落子选择器就已经是强大的对手了,可以到业余棋手的水平,或者说跟之前最强的围棋AI媲美。这里重点是这种落子选择器不会去“读”。它就是简单审视从单一棋盘位置,再提出从那个位置分析出来的落子。它不会去模拟任何未来的走法。这展示了简单的深度神经网络学习的力量。更快的落子选择器AlphaGo当然团队没有在这里止步。下面我会阐述是如何将阅读能力赋予AI的。为了做到这一点,他们需要更快版本的落子选择器大脑。越强的版本在耗时上越久——为了产生一个不错的落子也足够快了,但“阅读结构”需要去检查几千种落子可能性才能做决定。Silver团队建立简单的落子选择器去做出“快速阅读”的版本,他们称之为“滚动网络”。简单版本是不会看整个19*19的棋盘,但会在对手之前下的和新下的棋子中考虑,观察一个更小的窗口。去掉部分落子选择器大脑会损失一些实力,但轻量级版本能够比之前快1000倍,这让“阅读结构”成了可能。第二大脑:棋局评估器 (Position Evaluator)AlphaGo的第二个大脑相对于落子选择器是回答另一个问题。不是去猜测具体下一步,它预测每一个棋手赢棋的可能,在给定棋子位置情况下。这“局面评估器”就是论文中提到的“价值网络(Value Network)”,通过整体局面判断来辅助落子选择器。这个判断仅仅是大概的,但对于阅读速度提高很有帮助。通过分类潜在的未来局面的“好”与“坏”,AlphaGo能够决定是否通过特殊变种去深入阅读。如果局面评估器说这个特殊变种不行,那么AI就跳过阅读在这一条线上的任何更多落子。局面评估器是怎么看这个棋盘的。深蓝色表示下一步有利于赢棋的位置。局面评估器也通过百万级别的棋局做训练。Silver团队通过 复制两个AlphaGo的最强落子选择器,精心挑选随机样本创造了这些局面。这里AI 落子选择器在高效创建大规模数据集去训练局面评估器是非常有价值的。这种落子选择器让大家去模拟继续往下走的很多可能,从任意给定棋盘局面去猜测大致的双方赢棋概率。而人类的棋局还不够多恐怕难以完成这种训练。增加阅读这里做了三个版本的落子选择大脑,加上局面评估大脑,AlphaGo可以有效去阅读未来走法和步骤了。阅读跟大多数围棋AI一样,通过蒙特卡洛树搜索(MCTS)算法来完成。但AlphaGo 比其他AI都要聪明,能够更加智能的猜测哪个变种去探测,需要多深去探测。蒙特卡洛树搜索算法如果拥有无限的计算能力,MCTS可以理论上去计算最佳落子通过探索每一局的可能步骤。但未来走法的搜索空间对于围棋来说太大了(大到比我们认知宇宙里的粒子还多),实际上AI没有办法探索每一个可能的变种。MCTS做法比其他AI有多好的原因是在识别有利的变种,这样可以跳过一些不利的。Silver团队让AlphaGo装上MCTS系统的模块,这种框架让设计者去嵌入不同的功能去评估变种。最后马力全开的AlphaGo系统按如下方式使用了所有这些大脑。1. 从当前的棋盘布局,选择哪些下一步的可能性。他们用基础的落子选择器大脑(他们尝试使用更强的版本,但事实上让AlphaGo更弱,因为这没有让MCTS提供更广阔的选择空间)。它集中在“明显最好”的落子而不是阅读很多,而不是再去选择也许对后来有利的下法。2. 对于每一个可能的落子,评估质量有两种方式:要么用棋盘上局面评估器在落子后,要么运行更深入蒙特卡罗模拟器(滚动)去思考未来的落子,使用快速阅读的落子选择器去提高搜索速度。AlphaGo使用简单参数,“混合相关系数”,将每一个猜测取权重。最大马力的AlphaGo使用 50/50的混合比,使用局面评估器和模拟化滚动去做平衡判断。这篇论文包含一个随着他们使用插件的不同,AlphaGo的能力变化和上述步骤的模拟。仅使用独立大脑,AlphaGo跟最好的计算机围棋AI差不多强,但当使用这些综合手段,就可能到达人类职业选手水平。AlphaGo的能力变化与MCTS的插件是否使用有关。这篇论文还详细讲了一些工程优化:分布式计算,网络计算机去提升MCTS速度,但这些都没有改变基础算法。这些算法部中分精确,部分近似。在特别情况下,AlphaGo通过更强的计算能力变的更强,但计算单元的提升率随着性能变强而减缓。优势和劣势我认为AlphaGo在小规模战术上会非常厉害。它知道通过很多位置和类型找到人类最好的下法,所以不会在给定小范围的战术条件下犯明显错误。但是,AlphaGo有个弱点在全局判断上。它看到棋盘式通过5*5金字塔似的过滤,这样对于集成战术小块变成战略整体上带来麻烦,同样道理,图片分类神经网络往往对包含一个东西和另一个的搞不清。比如说围棋在角落上一个定式造成一个墙或者引征,这会剧烈改变另一个角上的位置估值。就像其他的基于MCTS的AI, AlphaGo对于需要很深入阅读才能解决的大势判断上,还是麻烦重重的,比如说大龙生死劫。在面对一些看似正常但实际并不一样的棋局时,AlphaGo也会困惑而失去判断,比如天元开盘或者少见的定式,因为很多训练是基于人类的棋局库的。我还是很期待看到AlphaGo和李世石9段的对决!我预测是:如果李使用直(straight)式,就像跟其他职业棋手的对决,他可能会输,但如果他让AlphaGo陷入到不熟悉的战略情形下,他可能就赢。看完SpinPunch CTO的解读,我还想到另一个人,中国最强大脑选手鲍橒,当时看了他走出蜂巢迷宫,被他的超强的空间记忆和想象能力深深震撼了,而他的职业就是围棋选手,并且是盲棋。他能完成1对5的围棋盲棋,实在是很不可思议的事情。在围棋圈内,几乎没有棋手能完成盲棋,因为确实太难了。笔者也向他询问了对这个事情看法,他说,欧洲冠军没能摸到程序的底,但从棋谱来说,对谷歌程序我也难以取胜,确实下得不错。虽然围棋圈一致看好李世石,不过我不敢确定谷歌的程序3月份进展到什么地步。再说到Facebook田博士,跟谷歌DeepMind超豪华团队长期投入不同,他就在半年多前从立项到实现,直到最近才有一个实习生加入帮他,而背后是他付出的心血,为了抢时间,在圣诞新年都是加班加点,按他所说,每日工作10+小时,自己搭机器,写代码,调参数,单枪匹马做出成绩。谈到跟谷歌团队的较量,田博士说:“这是一场必败的战斗”,但我还是很佩服他,他让我想到三国时代赵子龙,单枪匹马大战曹军,力拔山兮气盖世!因为他是真正的勇士。正是有了这些英勇无畏的科学家,一次次打破常规,挑战极限,我们才知道人类如此大的潜力。
最近短短几年的发展,从大数据,深度学习人工智能到虚拟现实,从发现了类地球行星,证实引力波,从Hyperloop,无人驾驶,量子计算,这些魅力无穷的科技让我们对世界的认识上升到新的高度。面对这个激动人心的时代,我想说,天空是我们的极限,宇宙是我们的极限,未来才是我们的极限!最后允许我拿田博士的话来结束。“我有时候会问自己:‘我是不是背弃了梦想?’”我想除了我自己,任何人都不会给我答案,任何评论也不具效力。我记得有人问过,如果梦想从践行的一开始,就在不自觉地向现实妥协,那样的梦想还是最初的梦想么?其实,这样的问题没什么可纠结的,因为世界从来就不是二元的,梦想和现实,如同高悬的日月,日月之间,有一条灰色的路,在自己脚下蜿蜒曲折,绕过各种险阻,一直向前。“而我能做的,只是要在奔跑时,不停提醒自己,还记得‘梦想’这个词的含义。”
本文来源:网易科技报道
责任编辑:王真_NT5228
关键词阅读:
不做嘴炮 只管约到
跟贴热词:
文明上网,登录发贴
网友评论仅供其表达个人看法,并不表明网易立场。
热门产品:   
:        
:         
热门影院:
用微信扫描二维码分享至好友和朋友圈和AlphaGo下棋,你怕了吗?第一天人类就输了… - 浙江新闻
和AlphaGo下棋,你怕了吗?第一天人类就输了…
3月9日至3月15日,AlphaGo将在韩国首尔与李世石进行5场挑战赛。比赛完全平等,获胜者将得到一百万美元奖金。首战李世石执黑186手中盘负谷歌AlphaGo,明日12点第二场比赛,李世石能否扳回一城,让我们拭目以待!今天,韩国围棋世界冠军李世石九段在韩国首尔迎战谷歌人工智能AlphaGo,后者曾在去年完胜欧洲围棋冠军樊麾二段,震惊了全世界。在此之前,围棋被称为是“人类智慧的最后堡垒”,如果连世界顶级围棋高手李世石都失败了,也许《自然》杂志所说的“人类最后的智力骄傲崩塌”的那一天也就到了。现场直播16:40李世石:我觉得有两点,首先是打开局面的能力,我曾经预想布局对AlphaGo是个难点,没想到结果很令自己意外。后面是对双方都是很难的局面。另外,作为人来看,没有很强计算力是不敢下出来的棋,AlphaGo都能下出来,很令人惊讶。虽然受到很大冲击,但还是很享受这盘棋,并且很期待后面的比赛。这盘我没下好,所以想后面的棋我胜算还是会很大吧,胜算会是五成吧。&15:33李世石投子认输。&15:17最新战况。&13:59黑棋优势明显,李世石只要别再有大的失误,基本已经奠定胜局了,除非Alphago突然有了远超人类的水平……12:59&现在从局面来看,李世石虽然急躁了一些,但是俞斌还是看好李世石赢。而王小川表示,局势越复杂,对于机器越有利……李世石(黑)、AlphaGo(白)&12:15李世石下了很诡异的一步棋,像是在试探电脑。&12:05比赛开始。经猜先,李世石执黑先行,黑1小目后,电脑90秒后白2应了步星。人工智能一步步地碾压人类在此之前,人工智能已经攻克了除了围棋以外的几乎所有棋类。让人想到那英所唱的“就这样被你征服……”1994年,跳棋程序奇努克(Chinook)击败了人类冠军马里恩-廷斯利(Marion&Tinsley),这是机器程序第一次在竞技游戏中赢得官方世界冠军。到2007年,奇努克完全破解西洋跳棋游戏,最顶尖的跳棋选手要发挥高水平才能和它打成平手。1997年,IBM生产的超级计算机“深蓝”与当时世界排名第一的国际象棋大师加里-卡斯帕罗夫(Gary&Kasparov)展开对决,卡斯帕罗夫在赛前一直不相信计算机能赢过人类。经过6局苦战,他最后还是输了。除了棋坛失意,人类在益智游戏上也不是电脑的对手。2006年,拼字比赛世界冠军大卫·鲍伊斯在经历18轮比赛,击败约100名人类对手后,直接PK电脑,结果以465:482的比分败给了一款名叫“Quackle”的程序。&如果说以上几种游戏都可以用穷举法解决的话,那么充满了不确定性的德州扑克也许是个例外。但在2008的拉斯维加斯,一台名为“北极星2”(Polaris&2)的电脑还是轻松击败了6名德州扑克牌顶级职业选手。到了2011年,人工智能又在电视节目里碾压了一遍人类。IBM的超级计算机“沃森”(Watson)参加了美国智力竞猜节目《危险边缘》,以3倍的巨大分数优势力压该节目有史以来最强的两位选手。如今,人工智能已经兵临围棋世界冠军的城下。无论胜负 &人类都不是败者一方是拥有十多个围棋世界冠军头衔的最高级别人类选手;一方是现阶段人工智能领域最厉害的围棋程序,全球的目光聚焦首尔。&我们必须明白,无论是AlphaGo还是李世石赢得比赛,这都不是人工智能的最终目的。&曾任韩国科学技术院人工智能院士、现就职于韩国一家民营研究所的李承镐指出:“人工智能开发的最终方向,还是要取决于人类,并且服务于人类的。毕竟人工智能也是由人类制作而成的,这是人工智能技术发展的基础和终极目的,我们不能忘记这个目的。”&“另外,通过人工智能技术,能够促进物联网等新技术的开发,从而更有利于人类的发展与福祉。”李承镐认为,近年来暂时停滞的科技发展,将因人工智能技术,焕发“全新的春天”。谷歌董事长埃里克·施密特也在赛前发布会上表示:“我们开发人工智能机器人的最终目的在于为人类提供福祉,为未解难题提供新的解决方法;而其中,围棋只是我们选择增强人工智能机器人的实力的方法之一。无论这场对决孰胜孰负,最终的赢家都将是人类自己,因为人工智能的发展,最终的受益者将是人类自己。”事实上,人类对人工智能的研究和测试,是一项极富挑战性的工作,不论是它的复杂性和学科交叉性,还是它那些带有根本性的思考和创新,都是人类对自身的不断认识和挑战。&目前,人工智能已经在人类生产生活中扮演着越来越重要的角色。国际机器人学联合会(IFR)最新预测,年之间,全球工业机器人销售数量将翻一番,达到40万。到2018年,全球工业机器人的销售额年均增幅将达15%。&按照这一趋势,IFR预计,到2018年,全球将有130万台工业用机器人投入实际生产,从而大大削减企业的劳动力成本。IFR2015年的报告显示,汽车、电气与电子领域继续主导工业机器人的使用,合计占64%的市场份额。&中国科学院院士、中国人工智能学会副理事长谭铁牛表示:在不同的描述中,人工智能或者被描绘为天使般的技术,或者被描绘成魔鬼般的技术。但在他看来,只要把握得好,人工智能就是天使,魔鬼不会出现。&而在这个方面,人类一直对此表示高度警惕。早在1940年,“机器人学之父”阿西莫夫就提出了著名的“机器人三原则”,即:“机器人不得伤害人类,或看到人类受到伤害而袖手旁观;机器人必须服从人类的命令,除非这条命令与第一条相矛盾;机器人必须保护自己,除非这种保护与以上两条相矛盾”,并以此来作为防范机器人可能对人类造成伤害的重要武器。半个多世纪以来,几乎在所有和机器人相关的科幻小说和电影里,这三大原则都被反复提及。人工智能或能帮助人进行脑力活动我们不妨想想刘慈欣的《诗云》:外星来的神一样的文明发现自己无法写出李白一样的诗句,于是恼羞成怒生成了所有可能的诗句——但是他并不能判断哪首诗“更好”。&面对一个这样的数据库,也许就在不远的将来,人工智能也能从中找出所有“超越李白”的诗句,最后的障碍在于——我们是否相信它的结果?它所选出来的诗真的“超越李白”吗?&浙江省社会学学会会长杨建华研究员指出,之前机器人的发展更多地用于帮助人类进行体力劳动,然而到今天,连围棋都即将被人工智能所攻克,说明在不远的将来,机器人完全可以代替人进行脑力活动。这和去年世界互联网大会上李彦宏的观点不谋而合。当时,李彦宏预测,未来人工智能可代替多数简单脑力劳动。&杨建华还预测,随着人工智能的进步,在不远的未来,机器人将可以参与到人类思维的创新之中,想人所未想,弥补人类思维存在的漏洞和缺陷,推动创意产业的发展。&国际会计师事务所德勤提供的数据显示,人工智能和科技创新将给医疗保健、技术和商业服务行业带来新的就业岗。“当机器取代劳动力,产品变得更便宜时,消费者愿意将大把的钞票用在购买新产品和服务上。”&那么,人工智能会对人类造成反噬吗?杨建华表示,现代社会是一个风险性社会,人类的每一项技术进步都有可能对人类自身带来威胁和挑战,而且有时候技术越进步,它所带来的的风险就越大。因此,在使用人工智能时,如何通过进一步的技术手段,来对人工智能可能带来的风险进行预警和控制才是重中之重。据新浪科技、网易新闻、搜狐网等
浙江新闻移动客户端官方账号,在这里读懂浙江.
浙江新闻的二维码
微信扫一扫
浙江新闻的其他文章AlphaGo 用自己跟自己下棋的方法是... | 问答 | 问答 | 果壳网 科技有意思
AlphaGo 用自己跟自己下棋的方法是否会陷入 Local optimum,造成在不同的局面下时棋力不均衡的现象?
下图与问题无关,博君一笑
+ 加入我的果篮
软件工程师
事实上,本质上说,通常的训练方法追求的压根不是绝对的optimum(不管是global还是local,具体就不解释了...)。local optimum本身也是全局角度看才有的,是对于问题整体AI当前的状态效果比“附近”的状态好。而对于特定的情况处理不好这即便是global optimum下也有可能存在,这是两码事。
第四局已经证明了,你的预言是对的。
后回答问题,你也可以用以下帐号直接登录
(C)2016果壳网&&&&&京ICP备号-2&&&&&【大声】李世h:我再也不想跟AlphaGo 下棋了-微众圈
微众圈,我的微信生活圈!
微信扫一扫阅读
【大声】李世h:我再也不想跟AlphaGo 下棋了
摘自公众号:发布时间: 21:25:28
当年 IBM 用深蓝让普通人知道了计算机的计算能力,今年 3 月的围棋人机大战则让大家体会到了人工智能的“可怕”:人类棋手李世h不敌 AlphaGo,以 4:1 的总分惨败。 在昨天开幕的 2016 夏季达沃斯论坛上,举行了一场“意想之外”的研讨会议――探讨计算机程序战胜围棋世界冠军的科技和社会意义。当被问到作为“人机大战”的亲历者的感受时,李世h将其概括为“惊讶”:围棋有很多不确定的因素,机器的局限性是很多的,在下棋过程中也会出现漏洞,因此之前观看 Alpha Go 跟樊麾的比赛让我以为计算机达不到围棋选手的最高水平。结果大家都知道:我输了。这也与李世h在人机大战之前的表态“AlphaGo 有进展,但是应该打不过我”相似。在现场,李世h还着重谈了谈他最害怕的 AlphaGo 的一个特点――“毫无情感”:人会有心理上的摇摆,即使知道准确的答案,在下子那一刻还是有可能会选择另一条路,考虑其他的选择。但 Alpha Go 不会有任何的动摇,这就是我所面对的最大困难。面对毫无感情的对手是非常难受的事情,这让我有种再也不想跟它比赛的感觉。在之前输掉五番棋之后,李世h实际上也向打造 AlphaGo 的公司 DeepMind 以及其母公司 Google 提出重赛的请求,但是由于双方合同中只有针对“AlphaGo 落败”的重赛条款,而没有针对人类落败的条款而作罢。李世h还表示,即便真的有机会可以和 AlphaGo 再来决斗一次,情况也势必非常“艰难”:在看过 Alpha Go 跟樊麾的比赛后,我一直认为自己会赢,但没想到短短六个月 Alpha Go 的棋艺竟然有了如此大的进步,让我非常吃惊。但是谁知道这几个月里面它又有了怎样的长进?但讽刺的是,虽然 AlphaGo 已经具有了战胜人类棋手的水平,其却很可能不“知道”自己在下棋,而只是对人类的棋局资料进行了一个全新的“分析和总结”。虽然李世h认为跟人工智能对战的确很头疼,但是他还是希望能够让自己的女儿跟 AlphaGo 学围棋,因为 AlphaGo 只用了 6 个月就达到了围棋大师的水平。早在人机大战进行的时候,就出现了很多“人类即将被机器统治”的言论。但是实际上,目前的“人工智能”扮演的角色依旧是“人类思考的方式+计算机的运算能力”,究竟机器什么时候才能自己想出“解决问题”?这仍需时日,但我们必须关注。当然,这也辛苦了作为“人机大战”主角之一的李世h,虽然变成了“Google 的高级测试员”,但是却通过一场五番棋比赛让人们清楚的意识到了人工智能的崛起,这也许比其在围棋界所取得的成绩更具有历史意义。thisyear李世h,是朝鲜汉字姓名。李世石是汉语翻译。
微信号:ifanr7894人阅读
深度学习(20)
/*&版权声明:可以任意转载,转载时请标明文章原始出处和作者信息&.*/&&&&&&&&&& & & & & & & & & & & & & & & & & & & & & & author:&张俊林& & & 谷歌DeepMind开发的人工智能围棋程序AlphaGo以5:0的压倒性优势击败了欧洲围棋冠军、专业二段棋手Fan Hui,这是最近一周来最火爆的新闻了。16年3月份AlphaGo会和最近10年平均成绩表现最优秀的韩国九段、世界冠军李世石进行对弈,这无疑也是最吸引眼球的一场人机世纪大战,如果此役AlphaGo获胜,这意味着人工智能真正里程碑式的胜利,从此起码在智力博弈类游戏范围内,碳基体人类将无法抵挡硅基类机器的狂风骤雨,不知这是该令人惊恐还是令人兴奋呢?反正我是属于看了这个新闻像被注射了兴奋剂似得那类具备反人类人格犯罪分子的兴奋类型@^^@。当然,本文的标题有点哗众取宠,但是并非毫无根据的。现在的问题是:三月份的人机大战中,李世石的胜率能有多高?是AlphaGo击败人类还是李世石力挽狂澜,维护人类尊严?此前众说纷纭,各种说法都有。但是看上去都是没什么依据的猜测。我在深入了解了AlphaGo的AI运作机制后,斗胆做出如下预测,到时可看是被打脸还是能够成为新世纪的保罗,首先强调一点,我这个预测是有科学根据的,至于依据是什么,后文会谈。如果是5番棋,预测如下:如果李世石首局输掉,那么AlphaGo很可能获得压倒性胜利,我预估AlphaGo会以4:1甚至5:0获胜;如果李世石首局赢,但是第二局输掉,那么AlphaGo可能会以3:2甚至4:1胜出;如果李世石首局和第二局都赢,那么AlphaGo可能会碾压性失败,局面可能是0:5或者1:4;也就是说,局面很可能是一方压倒性胜利,要么是AlphaGo要么是李世石,而且首局胜败可能起到关键作用,为什么这么说呢?我们要了解AlphaGo是怎么下棋的。|下围棋的本质是什么?&&&
图1 下围棋是在干什么下围棋的本质是在干什么?图1其实基本就说明了问题了。两个棋手(这两个棋手可能其中一个人类一个AI,也许两个都是人类或者两个都是AI,这不重要)刚开始都是面对一个19*19的空棋盘,执黑先下子,下子是什么意思?就是在当前棋局S下(刚开始S就是空棋盘),判断下个子应该放在哪里更好,所有合法的落子位置都在考虑范围,比如开局第一子,任何一个棋盘位置落子都是可以的,但是这里面有些是好的落子位置,有些是不好的落子范围,至于到底好不好,因为棋还没下完,暂时不知道,只有最后决出输赢才能说这个子落得好不好。如果黑方选定了一个落子位置,则棋局局面从S进入到S1,此时该白方下,一样的,白方面对很多可能的落子选择,然后选择一个他认为最好的…..就这么依次下下去,直到决出输赢为止。从这里可以看出,从落第一个子到下完,整个下子的决策空间形成了一个非常巨大的树形结构。之所以我们说围棋难,就是因为这颗树的宽度(就是应该落哪个子)和深度(就是一步一步轮着下子)都太大了,组合出的可能空间巨大无比,基本靠搜索遍整个空间是不可能做到的。所以你看到下围棋本质是什么,就是在这颗超大的树搜索空间里面,从树的根节点,也就是空棋盘,顺着树一路下行,走出一条路径,路径的末尾就是已经决出胜负的棋局状态。因为搜索空间太大,所以围棋AI不可能遍历所有可能的下棋路径,那么只能学习一些策略或者评估函数,根据这些策略能够大量减少搜索空间,包括树的宽度和深度。有了这个基础,我们可以讲AlphaGo了。AlphaGo的技术总体架构如果一句话总结的话就是:采用深层CNN神经网络架构结合蒙特卡洛搜索树。深度学习神经网络训练出两个落子策略和一个局面评估策略,这三个策略的神经网络架构基本相同,只是学习完后网络参数不同而已。而且这三个策略是环环相扣的:落子策略SL是通过学习人类对弈棋局,来模拟给定当前棋局局面,人如何落子的思路,这是纯粹的学习人类下棋经验,它的学习目标是:给定某个棋局形式,人会怎么落子?那么AlphaGo通过人类对弈棋局来学习这些落子策略,也就是说SL策略学习到的是像人一样来下下一步棋;落子策略RL是通过AlphaGo自己和自己下棋来学习的,是在SL落子策略基础上的改进模型,RL策略的初始参数就是SL落子策略学习到的参数,就是它是以SL落子策略作为学习起点的,然后通过自己和自己下棋,要进化出更好的自己,它的学习目标是:不像SL落子策略那样只是学习下一步怎么走,而是要两个AlphaGo不断落子,直到决出某盘棋局的胜负,然后根据胜负情况调整RL策略的参数,使得RL学习到如何能够找到赢棋的一系列前后联系的当前棋局及对应落子,就是它的学习目标是赢得整盘棋,而不是像SL策略那样仅仅预测下一个落子。局面评估网络Value Network采用类似的深度学习网络结构,只不过它不是学习怎么落子,而是给定某个棋局盘面,学习从这个盘面出发,最后能够赢棋的胜率有多高,所以它的输入是某个棋局盘面,通过学习输出一个分值,这个分值越高代表从这个棋盘出发,那么赢棋的可能性有多大;有了上面的三个深度学习策略,AlphaGo把这三个策略引入到蒙特卡洛搜索树中,所以它的总体架构还是蒙特卡洛搜索树,只是在应用蒙特卡洛搜索树的时候在几个步骤集成了深度学习学到的落子策略及盘面评估。AlphaGo的整体技术思路就是上面说的,那么我们从这些技术原理可以得出什么结论呢?我对各个部分的分析和结论如下,这也是为何本文开头作出那个人机大战预测的科学依据所在。|SL落子策略首先,我们看落子策略SL,就是那个根据人类对弈过程来学习像人一样落子的策略。这个策略重要吗?重要,但是只靠这个策略能够战胜人类世界冠军吗?我的结论是不可能,靠这个策略一万年也赢不了人类。为什么呢?你要考虑到很关键的一点:AlphaGo这个策略是通过看了16万局人类对弈棋局来学习的,但是问题的关键是,这些下棋的人素质总体有多高?如果以职业棋手水平来衡量,平均下来总体素质其实是不高的,里面大量棋局是业余选手下的,即使有不少专业选手下,高段位选手肯定不会太多。那么AlphaGo从这些二流选手下棋落子能够学到每步棋都达到九段水平吗?这不太可能。图2 AlphaGo和fan hui对弈过程中的SL落子策略得分,图中某些位置的得分代表AlphaGo认为落子位置有多像人会选择的落子位置所以我的结论是:如果人工智能程序只能从人类棋手下的盘面学习,按照目前的学习方式,机器永远也无法战胜最好的人类,因为它学习的对象平庸者居多,三流师父永远教不出一流的徒弟,这个道理很简单。如果只用这个方法,就算AlphaGo看到再多人类的比赛也无法战胜人类,除非它看到的都是超一流选手的盘面,那么它可以成为超一流选手,但是面对人类最强手,并没有必胜的把握。那么岂不是说三月的对决中,AlphaGo必败无疑了?其实不然,上面这点说的是SL策略的弱点,但是AlphaGo的论文给出了数据,SL策略比传统单纯使用蒙特卡洛搜索树的策略下子准确率从44%提升到了55%左右,这个55%是什么意思?意思是SL策略做了100次落子,其中55个落子是和人落子位置相同的。看上去55%好像也不太高么,没什么可怕的,你肯定这么想,是吧?你错了!你要看44%到55%的提升幅度,因为SL策略只是决定了单步落子,而单步落子小幅度的准确率提升,会极大提升最终赢棋的胜率,因为你想啊,一个棋局是由几百个落子构成的,每一步的小幅度准确率提升,经过几百次不断累积,那最终结果差异是非常大的,这就是所谓的“积小胜为大胜”的道理。这是机器对人很大的一个优势,因为它稳定,如果准确率达到一定程度,就不容易出昏招,只要依靠每一步的小优势不断积累就能获得巨大的累积优势。人类其实相对机器还有一个很大的劣势:人的理性决策太容易受到情绪影响,一旦自己局面处于不利地位,或者自己下了一步臭棋,估计后面连续若干落子都会受到影响,而且下到后面人估计比较疲劳了,算棋能力下降难免,但是机器完全没有这两个问题,可以很冷血很冷静的跟你下,下了好棋也没见AlphaGo笑,下了臭棋也没见AlphaGo哭,体力无敌,只要你不拔它的电源插头,它就面无表情地跟你死磕到底,是不是这个道理?所以说,即使AlphaGo只有SL落子策略,如果它的落子水平是5段,那么其实考虑到这些优势,它基本上是能稳赢人类5段这种相同段位棋手的。这也是为何本文开头预测三月人机大战可能是如此结果的一个重要参考因素。李世石肩上担着这么个重担,而且这是世界瞩目的一场比赛,他完全没有心理负担是不可能的,也许他看了AlphaGo和Fan Hui的棋局,现在心理上同时蔑视AlphaGo和Fan Hui棋力渣,但是如果初赛不利,很可能会被冷血的机器打崩溃。|RL落子策略然后,我们再来看落子策略RL。前面提到,它学习的目的和落子策略SL不一样,落子策略SL就是学习单步如何像人一样落子,至于后面这局棋是输掉还是赢了它其实没学到什么东西,它只要保证说面对目前的棋盘布局,像人一样落下下一个子就行了。而落子策略RL学习目标则是以赢棋为目的,是说经过若干轮博弈,最终赢棋那么它就认为在这个对弈过程中的相应的棋局和落子就是值得鼓励的,并把这些鼓励体现到深度学习模型参数里面,意思是以后看到类似的局面,更倾向于这么去落子,因为这么落子很可能最终会赢棋。它自己和自己下完一局棋,如果胜利了,那么在这条通向胜利结果过程中的所有棋局对应的落子都会得到鼓励。其实对于人类来说,这种自己和自己下棋的RL落子策略才是真正可怕的,因为它可以通过这种方式不断自我进化。它自己和自己下了一盘棋等于干了个什么事情?等于说在下棋落子巨大的树组合空间中,搜索找到了其中一条从空棋盘开始到最终胜负已分通向胜利的一条落子路径,而根据这个路径是赢了还是输了调整模型参数,使得模型以后更倾向于选择这条路径;意思是如果以后和人下棋,一旦有一局中某个落子方式在它的这个学习路径中,那么它就倾向于走出那一系列让它赢的策略。因为它的核心目的等于是在所有树空间里搜索,然后学习找到那些容易赢的路径,学习的结果是更倾向找到那些导致最终赢旗的路径,这个只要不断地自己和自己下理论上能力是能够不断提高的,因为围棋组合出的树空间虽然巨大无比,毕竟还是有限的,自己和自己对战等于在不断找出并记住那些能够赢棋的落子路径,对战次数越多,穷举出这些路径的可能性越大,也就意味着它棋力在不断提升。从这个角度看,这也是为何说它可怕在此处的一个原因。当然,这个左右互搏的自闭症儿童式的自我下棋,它也不是没有弱点,它的弱点是:AlphaGo是根据一个赢旗的路径走的,倾向于学习这个路径上的落子策略,但是在真实下棋过程中,也许对手不会选择这条路径,那么后面学到的看似就没用了,但是这个弱点其实在现实场景中问题也不大:因为AlphaGo的自我下棋的对手(也是它自己)也是有一定水平的,所以对手选择的落子也会很高概率落在真正人类选手选择的落子位置,即是说它选择的这个路径是在再次和其它对手下很可能走的一条路,如果再完全重走这条路径,那么计算机必赢。综上分析,落子策略RL通过这种自我对战来在巨大的树搜索空间中找到赢棋路径的方法是比较可怕的,因为理论上它只要不断自我对弈,是能够不断提高下棋水平的。这是人机对决中人类不乐观的的一个方面,因为就像上面说的,只要你不拔机器的电门,它就可以不眠不休地去玩自闭症游戏,其实人工智能不可怕,可怕的是能够不断自我学习自我进化的人工智能。|棋局评估Value NetworkValue Network也是通过3000万盘AlphaGo自我对战来进行学习的,它是建立在RL落子策略之上的,因为此刻RL落子策略已经代表了一个棋力比较高的棋手了,不过这个棋手就是AlphaGo自身而已。Value Network它要学习什么东西?它要学的是:给定当前棋局布局,也就是AlphaGo看到的当前棋盘情况,那么这个棋盘布局有多大可能会导致最后赢棋?这就是它学习的目标。Value Netwok的本质思想是:如果当前棋局处于局面S,那么假设这时候有两个目前最强的棋手,就是两个采取RL策略的棋手从局面S开始继续往下下棋,那么从局面S出发,最终赢旗的可能性有多大;因为这两个RL棋手会尽可能走那些局面S出发产生的子树里面,它们各自认为能够导致胜利的路径,所以一般是树搜索子空间里面容易被棋手选择到的路径,评估了这些路径后综合出这种棋局S最终可能胜利的可能性,获胜可能性越大,意味着从棋局S出发的这个搜索个子树空间里面通向胜利局面的路径越多,所以它是个“大面积搜索路径覆盖”的策略;其实综合上面三个策略,可以看出:SL落子策略类似于点覆盖,因为它只考虑下步旗子怎么走,只覆盖了一步棋;RL落子策略类似于线覆盖,因为它其实在找一条能够赢棋的走棋路径;而Value Network类似于面覆盖,因为它评估的是当前棋局S出发,所有可能走的搜索路径中综合看通向胜利的下棋路径有多少,越多越好;AlphaGo就是这么利用深度学习来进行搜索空间点线面结合来提升棋力的。
图3 &AlphaGo和Fan Hui对弈过程中,对棋局的评估,对应位置的得分意味着如果把旗子落子这个位置,那么这个落子后的棋局最后赢棋的可能性|蒙特卡洛搜索树蒙特卡洛搜索树可以说是一项导致围棋人机对战过程中突破性的技术进展,有了蒙特卡洛搜索树,就把机器选手从没资格和人类对战带到了有资格和业余选手进行对战的境地,但是仅仅靠蒙特卡洛树是不够的,因为树搜索空间太大,如果蒙特卡洛采样太多,固然容易找到下棋的最优路径,但是速度会太慢,跟它下人类选手会掀桌子的,所以在实战中采样不可能太多,那么很可能就找不到最优下棋路径,这也是为何在获得能和业余选手对战后,难以再获得大的突破的主要原因。
图4. 蒙特卡洛搜索树AlphaGo本质上大的技术框架还是蒙特卡洛树,但是根本的不同在于把上面讲的两个落子策略和一个局面评估神经网络引到蒙特卡洛树搜索过程中。蒙特卡洛搜索树也需要对棋局盘面进行评估,AlphaGo采用了上面讲的Value Network和传统的采样评估相结合的思路来做;在采样进行过程中,要模拟两个棋手对弈,AlphaGo采用了落子策略SL来模拟两个对战棋手;而落子策略RL则用在了Value Network网络中,我们讲过Value Network是在RL策略基础之上的,其作用也是类似两个采取RL策略的棋手去下棋。决定蒙特卡洛搜索树效果的其实主要有两个因素,一个就是上面讲的采样数量,数量越大效果越好,但是速度会比较慢,在这点上AlphaGo其实并没太在意;第二点是模拟两个棋手对弈,那么这个棋手棋力越强,那么快速探索出优秀路径的可能性越大,AlphaGo其实把工作重心放在这里了,也就是那两个落子策略和Value Network棋局评估策略。这也是为何说AlphaGo有技术突破的地方,因为它的重心不在暴力搜索上,而是寻找好的下棋策略。前一阵子网上讨论Facebook围棋AI “暗黑森林”和AlphaGo谁先谁后问题,其实你看过他们各自发的论文就明白这种争论完全没有必要,之前有几项工作都是结合深度学习学习落子策略和蒙特卡洛搜索树方法结合的文献,但是效果应该仍然徘徊在和业余棋手对弈的阶段,包括Facebook的围棋AI,本质上并没有跳出这个思路。导致AlphaGo和其它工作最大的不同其实是那个通过3000万局自我对战产生的RL落子策略和Value Network,而这两者在其中发挥的作用也是最大的,所以AlphaGo对围棋AI产生质的飞越是无可置疑的。而没有疑问的一个坏消息是,即使3月份AlphaGo输掉比赛,从机制上讲,AI胜过人类选手是必然的,这只是时间问题而已。AlphaGo的意义不仅仅在于围棋领域,由于DeepMind采用通用的AI技术来研发AlphaGo,其关键算法能够平滑迁移到很多其它领域,并有望在很多其它领域获得突破性进展。另外,我的个人意见,DeepMind是个令人尊敬的技术团队,他们关注的都是深度学习中重大的问题并不断有突破性成果出来,搞研究其实就应该以这种团队作为榜样。上面这段看上去好像是要结尾的意思,其实并不是,我们最后再附上一小段技术流。|深度学习网络架构上面讲过两个落子策略以及棋局评估神经网络,其架构都是类似的,其中两个落子策略的架构如图5所示,棋局评估神经网络的架构如图6所示。
图5& Policy Network网络结构
图6 Value Network网络结构对于两个落子策略来说,其神经网络的输入是19*19*48的三维数据,19*19是一个棋盘的画面,48是因为选择了48类特征来从不同角度描述这个棋盘,所以输入是三维结构。经过12层CNN的卷积层,然后最后套上一个SoftMax分类层。输入是棋盘局面S,输出是针对这个棋盘局面,下面应该如何落子,所以SoftMax分类层给出的是各种合法落子位置的分类概率。AlphaGo就选择概率最高的那个位置去落子。对于SL落子策略来说,训练数据就是3000万&S,a&集合,就是人下棋的过程,S是面对的某种棋局,a是人接下来把旗子放到哪里,这样通过CNN网络,根据输入棋局,就能学会人大概率会把旗子落在哪个位置,所以说它学的是人如何单步落子。3000万看上去多,其实并不多,这是落子数量,真正的对弈棋局数量也就16万局对弈过程,因为每个对弈过程包含很多落子步骤,所以总数看上去多而已。对于RL落子策略来说,它学的是如何赢得一局,这里用到了增强学习的Q函数。但是学习过程跟SL是类似的,无非是两个AlphaGo先下一盘,然后看看是输了赢了,并把输赢的分数赋给整个过程中的每个棋局及其对应的落子步骤,这样每个棋局及其落子步骤都会有个输赢得分,根据这个得分调整之前学到的SL落子策略学习到的参数,这样就通过自我对弈来学会如何赢得一局棋。对于局面评估Value Network来说,其网络架构如图6所示,这里和图5的结构稍微有不同,就是输出层不是SoftMax分类,而是一个回归函数,学习到一个数值,而不是分类。这个正常,因为它的目的是给当前棋局一个估分,而不是学习落子策略。它的输入是从自我对战的3000万局比赛中随机抽取某个时间的棋局状态,并赋予这个棋局状态一个赢棋得分,然后把这些数据当成训练数据,交给这个神经网络去学习给定一个局面,如何给出一个赢棋可能的打分。好了,整个过程感觉已经说清楚了,就到这吧,觉得写得还算不错的话....你看着办吧,要知道,写东西其实是个挺消耗时间和体力的事情,尤其是类似本文这种精品@^^@。扫一扫关注微信号:“布洛卡区” ,深度学习在自然语言处理等智能应用的技术研讨与科普公众号。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:521922次
积分:6316
积分:6316
排名:第2510名
原创:95篇
评论:269条
如果喜欢我写的博客也许你会更加喜欢我写的书
关注我的微信公众号“布洛卡区”,第一时间获得关于深度学习在人工智能及自然语言处理方面的技术科普文章,扫下列二维码或搜索微信号“布洛卡区”即可关注:
(1)(1)(3)(4)(4)(4)(4)(2)(1)(2)(5)(1)(1)(4)(3)(2)(1)(1)(1)(1)(1)(1)(2)(1)(4)(1)(2)(3)(5)(2)(2)(1)(3)(4)(1)(2)(2)(4)(1)(3)(7)(2)}

我要回帖

更多关于 李世石 alphago 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信