虎嗅注:今天(2月22日)下午我们得到的最新消息是,曾以5:0击败欧洲冠军(职业二级棋手)的谷歌人工智能AlphGo即将于3月9日至15日进行比赛。 韩国队对阵韩国九段、世界冠军李世石。 如果能够击败李世石,可能会引发新一轮人工智能的讨论,这将像证实引力波的存在一样引起轰动。
比赛将于北京时间每天中午12点在首尔四季酒店举行。 比赛将采用中国7.5球规则(比赛结束时,最后移动的球员将进球)。 每个玩家有两个小时的布局时间和三个 60 秒的倒计时。 每场比赛预计耗时约4-5小时。 具体时间表如下:
1. 3月9日(周三):第一场比赛
2. 3月10日(星期四):第二场比赛
3. 3月12日(星期六):第3场
4. 3月13日(周日):第4场
5. 3月15日(星期二):第5场
距离这场备受瞩目的比赛还有半个多月的时间。 期待之中,我们不妨真实看看上次AlphaGo是如何击败欧洲围棋冠军的。 要理解这一点,你需要知道 AlphaGo 是如何运作的。 现在,我们也提到了,AlphaGo其实有两个神经网络大脑,一个负责选择棋子的移动,另一个负责评估棋局。 但具体是如何完成的呢? 让我们听听专业人士如何解释它是如何工作的。
在国际象棋和国际象棋中,计算机软件的功能非常强大。 只有围棋是唯一“计算机打不过人类”的游戏。 今年1月份曾有爆料:谷歌DeepMind开发的人工智能围棋程序AlphaGo以5:0的压倒性优势击败了欧洲围棋冠军、职业二段棋手。 然后在三月份,AlphaGo 将对阵韩国九段、世界冠军李世石。 如果AlphaGo赢得这场战斗,这意味着人工智能真正里程碑式的胜利。
这也引起了笔者的好奇心。 春节期间,和Facebook的田元东(背景无可挑剔,卡内基梅隆大学机器人系博士,Google)交流过,也是计算机围棋AI——黑暗森林(熟悉三体的朋友就知道是怎么回事了)。今年1月,他的文章被顶级机器学习会议ICLR 2016接收(表达学习在国际上也被称为深度学习或特征学习,并且已经开辟了自己的利基市场)在机器学习社区中,并已成为学术界的新宠)。
聊天中他提到,谷歌收购DeepMind后,在人工智能项目上投入了大量资源,无非就是想向世界证明谷歌智能的强大。 论文共有20位作者发表在顶级期刊《自然》上。 看得出来,花了很多钱。 前两位都是计算机围棋领域的巨头。 第一作者 David Silver 是计算机围棋和强化学习方面的顶级专家。 整个博士论文我只是做Go; 第二作者Aja Huang编写Go软件多年,处于AGA 6D级别。
废话不多说,下面是 SpinPunch CTO 对 AlphaGo 工作原理的解读:
谷歌DeepMind宣布他们开发的神经网络围棋人工智能AlphaGo击败了人类职业棋手。 本文由 David Silver 等人完成。 内部技术出人意料地简单但功能强大。 为了方便不熟悉技术的新手理解,这里我对系统的工作原理进行解读。
深度学习
“深度学习”是指多层人工神经网络及其训练方法。 一层神经网络以大量矩阵数作为输入,通过非线性激活方法选择权重,然后产生另一个数据集作为输出。 这就像生物神经脑的工作机制一样。 通过适当数量的矩阵,将多层组织连接在一起,形成神经网络“大脑”,进行精确而复杂的处理,就像人们识别物体和注释图片一样。
尽管神经网络已经存在了几十年,但情况直到最近才变得更加清晰。 这是因为它们需要大量的“训练”才能发现矩阵中的数值。 对于早期的研究人员来说,获得良好结果所需的最低训练量远远超过了计算能力和可用数据的大小。 然而,近年来,一些拥有海量资源的团队重新挖掘神经网络,利用“大数据”技术对其进行高效训练。
两个大脑
AlphaGo 通过两个不同神经网络“大脑”的合作来提高国际象棋水平。 这些大脑是多层神经网络,其结构类似于谷歌图像搜索引擎用于识别图像的神经网络。 他们从多层启发式 2D 过滤器开始处理围棋棋盘的定位,就像图片分类器网络处理图像一样。 经过过滤后,13 个完全连接的神经网络层会对它们看到的位置做出判断。 这些层能够进行分类和逻辑推理。
这些网络通过反复训练来检查结果,然后校对和调整参数,使下一次执行得更好。 这个处理器具有很大的随机性,所以不可能准确地知道网络是如何“思考”的,但更多的训练可以让它进化得更好。
第一大脑:移动选择器
AlphaGo的第一个神经网络大脑是“监督学习策略网络”,它观察棋盘布局并试图找到最好的下一步。 事实上,它预测每个合法下一步的最佳概率,因此第一个猜测是概率最高的。 您可以将其视为“移动选择器”。
走棋选择器如何看待棋盘? 这些数字表明最强的人类玩家可能会在哪里下注。
该团队通过在 KGS(在线围棋对战平台)上与最强大的人类对手下数百万步棋来训练大脑。 这就是AlphaGo最像人类的地方。 目标是学习顶级玩家的技巧。 这并不是为了获胜,而是为了找到与人类高手相同的下一步行动。 AlphaGo 的走法选择器正确匹配了 57% 的人类大师。 (不一致并不意味着错误,可能是人类自己犯的错误)
-更强的移动选择器
AlphaGo 系统实际上需要两个额外的走棋选择器大脑。 一是“强化学习的策略网络”,它是通过数百万轮额外的模拟来完成的。 你可以称之为更强。 与仅教网络模仿单个人的动作的基本训练相比,高级训练将每场模拟国际象棋比赛玩到底,教网络最有可能获胜的动作。 Sliver 团队总结了数百万个训练棋局,并提供了更强的走棋选择器,这比他们之前的版本迭代程度要高得多。
仅仅使用这个走法选择器就已经是一个强大的对手了,达到了业余棋手的水平,或者可以与之前最强的围棋AI相媲美。 这里重要的是这种移动选择器不会“读取”。 它只是查看单个棋盘位置并提出从该位置分析的移动建议。 它不模拟任何未来的动作。 这证明了简单深度神经网络学习的力量。
- 更快的移动选择器
当然,AlphaGo团队并没有就此止步。 下面我将讲解如何赋予AI阅读能力。 为了做到这一点,他们需要一个更快版本的移动选择器大脑。 更强的版本需要更长的时间 - 足够快以做出良好的动作,但“阅读结构”需要在做出决定之前检查数千种可能的动作。
Silver 团队构建了一个简单的走法选择器来制作“快速阅读”版本,他们称之为“滚动网络”。 简单版本不会看整个19*19的棋盘,而是会考虑对手之前的棋子和新的棋子来观察更小的窗口。 去掉部分招式选择器大脑会失去一些力量,但轻量级版本可以比以前快1000倍,这使得“阅读结构”成为可能。
第二大脑:位置评估器
与走法选择器相比,AlphaGo 的第二大脑回答了另一个问题。 它不是猜测具体的下一步行动,而是在给定棋子的位置的情况下预测每个玩家获胜的概率。 这个“态势评估器”就是文中提到的“价值网络”,通过全局判断来辅助走棋选择者。 这个判断只是大概的,但是对于提高阅读速度很有帮助。 通过将潜在的未来局面分类为“好”或“坏”,AlphaGo 可以决定是否更深入地阅读特定的变体。 如果位置评估器说这个特定的变体是不可能的,那么人工智能就会跳过读取沿着这条线的任何进一步的移动。
职位评估员如何看待董事会。 深蓝色表示有利于获胜的下一步棋。
位置估计器还接受了数百万场国际象棋比赛的训练。 Silver 的团队通过复制 AlphaGo 的两个最强的走棋选择器来仔细选择随机样本,从而创造了这些情况。 这里,AI 走法选择器在高效创建大规模数据集来训练位置评估器方面非常有价值。 这种走棋选择器可以让大家模拟多种继续下棋的可能性,从任意给定的棋盘情况猜测双方大概获胜的概率。 然而,目前还没有足够的人类棋局来完成这种训练。
增加阅读量
这里制作了三个版本的走法选择大脑。 与态势评估大脑一起谷歌围棋软件,AlphaGo 可以有效地读取未来的走法和步骤。 与大多数围棋人工智能一样,阅读是通过蒙特卡罗树搜索(MCTS)算法完成的。 但 AlphaGo 比其他 AI 更聪明,可以更智能地猜测要检测哪种变体以及需要检测多深。
蒙特卡罗树搜索算法
凭借无限的计算能力,MCTS理论上可以通过探索每场比赛中可能的走法来计算出最佳走法。 但对于围棋来说,未来走法的搜索空间太大(大到我们的认知宇宙中存在更多的粒子),而且事实上人工智能没有办法探索每一种可能的变体。 MCTS 比其他人工智能做得更好的原因在于识别有益的变异,从而可以跳过一些负面的变异。
Silver 团队为 AlphaGo 配备了 MCTS 系统的模块,该框架允许设计人员嵌入不同的功能来评估变体。 最终的、功能齐全的 AlphaGo 系统通过以下方式使用所有这些大脑。
1. 从当前棋盘布局中,选择后续可能的步骤。 他们使用了一个基本的走棋选择器大脑(他们试图使用更强的版本,但实际上让 AlphaGo 变得更弱,因为它不允许 MCTS 提供更广泛的选择空间)。 它专注于“明显最好”的动作,而不是大量阅读,而不是选择以后可能有益的动作。
2. 对于每个可能的移动,有两种方法来评估质量:要么在移动后使用板载位置估计器,要么运行更深入的蒙特卡罗模拟器(滚动)来考虑未来的移动,使用快速读取移动选择器以提高搜索速度。 AlphaGo 使用一个简单的参数,即“混合相关系数”,来对每个猜测进行加权。 最强大的AlphaGo版本采用50/50混合,使用情况评估器和模拟滚动来做出平衡的判断。
本文模拟了 AlphaGo 使用不同插件时的能力变化以及上述步骤。 仅使用单独的大脑,AlphaGo 的功能大约与最好的计算机围棋人工智能一样强大,但当使用这些综合方法时,它可能会达到职业人类棋手的水平。
AlphaGo的能力变化与是否使用MCTS插件有关。
本文还详细谈到了一些工程优化:分布式计算、网络计算机来提高MCTS的速度,但这些并没有改变基本算法。 这些算法中有些是精确的,有些是近似的。 特殊情况下,AlphaGo通过更强的算力变得更强,但计算单元的提升速度随着性能的变强而变慢。
的优点和缺点
我认为AlphaGo在小规模战术上会非常强大。 它知道如何在多种位置和类型中找到最佳的人类动作,因此在小范围的战术条件下它不会犯明显的错误。
然而,AlphaGo 在全局判断方面存在弱点。 它看到了一个通过 5x5 金字塔过滤的棋盘,这给将战术部分整合到战略整体中带来了麻烦,就像图像分类神经网络往往会混淆什么包含一件事和另一件事一样。 例如,在围棋中,角上的设定位置会创建一堵墙或铅,这将极大地改变另一个角的位置估计。
与其他基于 MCTS 的 AI 一样,AlphaGo 仍然难以判断大势,需要深入阅读才能解决,比如龙的生死。 AlphaGo也会对一些刻意看起来正常的棋局失去判断力,比如天元开局或者稀有的棋局,因为很多训练都是基于人类的棋局库。
我还是很期待看到AlphaGo和李世石的九段对决! 我的预测是:如果李直接下棋,就像与其他职业棋手对决一样,他可能会输,但如果他将 AlphaGo 置于不熟悉的战略情境中,他可能会赢。
结论
说到这里我又想起了另一个人,中国最强大脑选手包伟。 我看着他走出蜂窝迷宫谷歌围棋软件,被他超强的空间记忆力和想象力深深震撼了。 他的职业是围棋棋手,他是盲棋。 他能完成1到5盲围棋,确实令人难以置信。 在围棋圈子里,几乎没有棋手能够完成盲棋,因为盲棋实在是太难了。 笔者也询问了他对此事的看法。 他说欧洲冠军没能理解这个程序,但从国际象棋的角度来看,我很难赢谷歌程序,而且我确实下得不错。 尽管围棋社区一致看好李世石,但我不确定谷歌的计划在三月份会进展到什么程度。
说起Facebook的田博士,与长期投入的谷歌DeepMind超豪华团队不同,他从项目立项到落地已经有半年多的时间了。 直到最近,一名实习生加入来帮助他。 背后是他的辛苦付出。 为了抢时间,圣诞节和新年他都加班。 据他介绍,他每天工作10多个小时,自己搭建机器、编写代码、调整参数,一手完成成果。
在谈到与谷歌团队的竞争时,田博士说:“这是一场必败之战”,但我还是很佩服他。 让我想起了三国时代的赵子龙,单枪匹马对抗曹军,威力一绝! 因为他是一个真正的战士。 正是因为这些勇敢无畏的科学家一次次打破规则、挑战极限,才让我们知道了人类的巨大潜力。 短短几年的发展,从大数据、深度学习人工智能到虚拟现实,从类地行星的发现、引力波的确认,从超级高铁、无人驾驶、量子计算,这些令人着迷的技术让我们了解世界的意识上升到了新的高度。 面对这个激动人心的时代,我想说,天空是我们的极限,宇宙是我们的极限,未来是我们的极限!
最后请允许我以田博士的话作为结束。
有时我会问自己:“我放弃了我的梦想吗?” 我想除了我自己没有人能给我答案,任何评论都是无效的。 记得有人问,如果一个梦从一开始就无意识地向现实妥协,那个梦还是原来的梦吗? 其实,面对这样的问题,没有什么好纠结的,因为世界从来就不是二元的。 梦想与现实就像日月高悬。 日月之间,有一条灰色的路,在你的脚下蜿蜒,绕过各种险阻,继续前行。
“而我能做的就是在跑步时不断提醒自己,记住‘梦想’这个词的含义。”
下面关注我的微信公众号“硅谷董老师”(donglaoshi-123),跟随硅谷潮流,一起学习成长。