最后的难关,机器人下围棋能否战胜人类?

腾讯网 2014-08-13

人工智能机器人围棋

3993 字丨阅读本文需 8 分钟

  据说最难模仿的还不是下围棋,而是打麻将,麻将需要用尽各种心思骗上家、盯对家、卡下家,有时候要故意打好张,有时候又特意要喂一口,欲擒故纵,真真假假,羊头狗肉,声东击西,明修栈道,暗渡陈仓,上下其手,两面三刀……这不是打牌,完全是一种心眼儿战,行吗,机器人它有心眼儿吗?

  最近,百度发布了自然语言处理部开发的智能围棋系统—Bingo,在9路盘的大规模实战中战胜了两名业余5段棋手,并在19路盘上以较大优势击败业余初段。这对于近年来把人工智能作为重要战略的百度公司来说是一个重要的里程碑,通过这样一款很容易被大众所理解的产品将背后的人工智能技术完美的展现出来,也标志着我们国内科技公司也可以研发出领先的人工智能产品。本文将介绍博弈机器人的基本情况,分析围棋机器人的特有难度,并通过这一事件引申出我们与人工智能技术之间的关系。

  从国际象棋开始的博弈机器人

  我们人类一直对制造出一个能与人对弈的机器人充满兴致,这首先开始于国际象棋。其中最为我们熟知的莫过于战胜了国际象棋世界冠军卡斯帕罗夫的深蓝,它在拥有30个IBM RS/6000处理器的并行计算机上运行α-β搜索,通过480个定制的VLSI国际象棋处理器执行生成行棋的功能;每步棋搜索多至300亿个棋局,常规搜索深度是14步,在某些情况下可以通过扩展能力使搜索深度达到40层;它的评估函数考虑了超过8000个特征来描述特有的棋子模式;它的开局手册有4000个棋局,存有70万个大师级比赛棋谱的数据库,可以从中提取综合建议;系统采用大型残局数据库保存已解决的残局。

  国际象棋成为了博弈游戏领域中最重要的人工智能技术的试金石,很多早期对计算机有影响力的人物几乎都对用计算机下国际象棋感兴趣,其中包括大名鼎鼎的诺伯特?维纳和阿兰?图灵。而对于研发出更好的国际象棋机器人的持续追求也在一定程度上促进了计算机科学和人工智能的发展。难怪俄罗斯数学家Alexander Kronrod在1965年称国际象棋为人工智能果蝇,John McCarthy也说,正如遗传学家使用果蝇做实验以推广生物学一样,AI用国际象棋来做同样的传播。

  围棋是机器人最难面对的博弈游戏

  机器与人对弈其实是一种对抗搜索问题,通常被称为博弈。对于人工智能研究者来说,博弈的抽象特性使得博弈成为非常有趣的研究对象。博弈游戏中的状态很容易表示,机器人的行动数目通常受限,而行动的输出都有严谨的规则来定义。现在国际象棋的搜索算法已经非常成熟:首先列明所有可能的走法,接着通过“剪枝”来忽略那些不影响最后决定的部分,使程序能够高效而深度的处理剩余的分叉,而启发式的评估函数允许在不进行完全搜索的情况下估计某状态的真实效用值。

  但国际象棋上这种成熟的搜索算法在围棋上很难行得通,原因在于:

  1)搜索算法的复杂程度取决于分支系数——每一步棋可能的走法,国际象棋的平均分支因子大约是35,一盘棋每个棋手走50步,所以搜索树有35^100个节点;而围棋的平均分支因子为250,一局步数为350步,搜索树有250^350个节点,远远超过国际象棋,所以围棋需要更加复杂和先进的搜索算法。

  2)国际象棋机器人可以通过较为简单的评估函数得出每个棋子的价值(比如皇后比士卒的价值高),王后即使“虎落平阳”也依旧是最犀利的棋子,机器学习也证实了国际象棋中的一个象确实值三个兵。因此,国际象棋机器人可以根据每个棋子发起攻击和被攻击的可能性计算它们所处位置的价值。但对于围棋来说,每个棋子间的差异性并不显著,它们以非常复杂的方式相互影响彼此之间的价值,评估一个棋子的价值要取决于其他所在棋子的布局以及它与周围棋子的关系,而不是其本身。加之围棋在达到残局之前的控制通常很难预测,所以围棋程序很难写出评估函数。

  总之,过大的分支因子和无法确定评估函数使围棋机器人成为人工智能需要面对的巨大挑战。1997年之前没有出现有竞争力的围棋程序,后来基于UCT(树的上限置信区间)的蒙特卡洛方法的围棋程序成为主流。2008年,当时最强的围棋程序MoGo在被让9子的情况下战胜了职业选手金明远。近来,日本程序Zen多次在9路盘上冲击职业选手,但均以大比分连败告终,而现在Bingo已在9路盘上接近于职业选手的水平。

  Bingo的创新

  而如今百度Bingo的战绩也表明其已经跻身智能围棋系统的第一阵营,更难得是百度在该产品的研发中进行了一些算法上的创新。上文提到,目前主流的围棋程序大多采用基于UCT(树的上限置信区间)的蒙特卡洛搜索,但此次百度却另辟蹊径,成功的将蒙特卡洛搜索和α-β搜索结合起来开发出了一种比UCT更加高效的算法。

  大胆猜测一下,百度Bingo的算法优势可能在于用到了α-β剪枝技巧,不需要遍历博弈树中每一个节点就可以计算出正确的极大极小值,基于这种思想会尽可能消除部分搜索树。这种特别技术会减掉那些不可能影响决策的分支,仍然返回和极小极大算法同样的结果。消除了被证明无关的子树,效率得到提高。

  更加重要的一点是,百度在开发Bingo时把重点放到了算法优化上,而非计算资源的堆砌。此前深蓝的成功加强了人们广泛支持的信念——计算机的博弈水平的提高源自更强有力的硬件——这也是当时IBM的观点。百度之前也在人工智能和深度神经网络方面积累了强大的计算资源,但这款智能产品却没有大打硬件牌,而是直接切入人工智能的核心——算法,并且取得了优异的表现。

  机器和人在进行博弈游戏时的区别

  Bingo的出现代表了人工智能在应用层面的又一次阶段性成功,机器又在一个特定领域中战胜了人类。结果看起来振奋人心,但我们需要深入了解机器与人的博弈方法上的各种异同,这样我们才能理解人工智能技术这次的进步究竟体现在哪里,才会知道这种进步对于我们的具体意义。

  相同点在于,无论是电脑程序还是人类国际象棋大师都要依靠简化手段来预测比赛结果,这些简化手段可被视为“模型”;而他们的博弈行为也都是在做一种预测,根据贝叶斯定理,预测基本上属于信息处理活动——用新数据检测关于客观世界的假设,目的是为了更加真实、准确地理解世界。 而博弈游戏就可以被视为一种与预测相类似的工作,所以机器和人在这方面是完全一致的。

  但他们也有着不同的、各自擅长的建模方法和预测机制。大师在下棋时依靠模式识别来判断棋面,然后调用记忆中的各种棋阵来预测并选择对策。纪录片《神奇大脑:造就天才》里提到,国际象棋大师苏珊·波尔加在孩子期间记住了10万个棋阵,并经过大量的重复记忆,把动作记忆变成了长期记忆。她并非记住每个棋子的位置,而是把他们分成几组。国际象棋的组合比宇宙上的原子还多,但棋阵是混乱中的秩序,这些典型的小阵式重复出现在不同棋局,这是国际象棋的基本单词。总之,她凭借人类擅长的模式识别、逻辑推理和经验积累记住了这些棋阵并形成了一种强大直觉。而对于机器来说,它的对弈行为完全是基于统计分析和搜索,它们凭借的是科学的算法、机器学习能力和计算能力。

  其实对于它们的各自优劣,有着现代国际象棋计算机之父之称的数学家克劳德·香农很早就做了准确的归纳。机器的特点是:1)计算速度快。2)不会犯错,除非编程时就编入错误。3.)不会偷懒,在分析招数、分析可能位置时不会半途而废。4)不带感情色彩,不会赢了一步就过度自信以致失去胜势,或是遇到困局就沮丧,劣势其实是可以逆转的。而人类棋手的特点是:1)思维灵活,解决问题知道变通,不会按部就班。2)拥有想象力。3)懂推理。4)会学习。

  人工智能与人类的结合和优势互补

  对于机器人棋手,许多人类棋手都表示不屑和抗拒;而博弈程序的开发者也将那些大师棋手作为自己要通过机器打败的对象,甚至会针对某些大师的特有风格进行编程。卡斯帕罗夫和“深蓝”的程序员将彼此视为敌手,但是他们都教会我们一点——计算机的处理速度和人类思维的精巧应该相互补充。举两个例子,拿下2008和2009年计算机国际象棋世界杯(计算机之间的象棋比赛)的冠军Rybka目前被认为是最强的计算机棋手,它的主要优势在于由国际象棋大师Vasik Rajlich与其他多个国际象棋大师共同开发的评估函数。《信号与噪声》中提到,卡斯帕罗夫在与深蓝的第二场比赛中出了一些状况,他因为一个从未犯过的错误而输掉了原本可以打成平局的比赛。究其原因,是由于“深蓝”在第44步极为随意的走了一个棋子,这步棋让卡斯帕罗夫感到紧张,他觉得这有悖直觉的一步棋必是高招,而他绝没有想到这不过是一个程序漏洞。

  世界计算机国际象棋冠军的成功是因为人类象棋大师为其开发评估函数;而深蓝凭借自己一个“拟人化”的低级错误对人类对手造成干扰从而赢得比赛。这足以证明,在博弈游戏领域,对于在计算上占绝对优势的机器来说,一些人类的特质和特长也同样重要。

  博弈机器人对人工智能的启示

  我们认识到人机对弈将会呈现一种良好的优势互补、共同进化的过程,那既然一直以来机器博弈都是人工智能发展中的重要一环,我们是否也可以从中窥探出人工智能技术与人类之间的关系呢?

  大多数时候,我们一谈论人工智能马上就会提到,机器何时能够拥有人类般意识?机器的智力何时达到甚至超越人类水平?奇点何时来临?天网何时出现?史蒂夫.霍金对人工智能的警示是否应该引起足够重视?在未来人类是不是要将世界的控制权交由机器?

  我们对人工智能可能有种太过恢弘且理想的愿景,然后又把这种太过虚幻的愿望强加给图灵测试等这类不具备太多实际意义的人为标准,而当每次机器赢得与人的棋局之后,我们又开始自以为是的盘算机器已经越来越接近人的智力了。早期人工智能研究者把赢得国际象棋比赛当成智能应用的范例,但后来发现这比区分口语词汇或识别面孔之类计算问题要容易得多,因为机器下棋就是一种基于自身计算优势的统计分析行为。所以,赢得博弈比赛的机器人根本无法证明机器与人在综合智力上的差异,但程序背后先进的技术原理却能够为我们带来更好的技术工具。

  人工智能的真正价值在于我们在追寻这个梦想途中捡拾到散落在路旁的瑰宝,我们对“机器会思考吗”的畅想促使我们创造出了计算机;IBM深蓝的成功让我们意识到硬件性能和计算性能的重要性;模拟人类学习行为的机器学习使计算机可以进行图像识别、语音识别和文本翻译等。

  至少在可预见的未来,人工智能只是充当一个改善人类生存环境的工具,我们是通过身边越来越好用的技术工具来感受到它的存在,而非期望尽快见到一台比肩人类的超级智能计算机。回到百度Bingo,相关研究人员表示“研发过程中产生的多种创新思想与技术,已融入到包括百度网页搜索在内的多个产品的在线学习策略中,并取得了非常明显的效果。”在为国内科技公司在人工智能领域取得优异成绩感到欣喜之余,我们更有理由相信这类真正创新性的技术进步能够带给我们更加智能的搜索产品和更好的技术服务。

免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处本网。非本网作品均来自其他媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如您发现有任何侵权内容,请依照下方联系方式进行沟通,我们将第一时间进行处理。

0赞 好资讯,需要你的鼓励
来自:腾讯网
0

参与评论

登录后参与讨论 0/1000

为你推荐

加载中...