AI提供的落子胜率 为什么不能直接比大小?

  1. 云栖社区>
  2. 企业网D1net>
  3. 博客>
  4. 正文

AI提供的落子胜率 为什么不能直接比大小?

技术小能手 2018-06-04 17:06:19 浏览1407
展开阅读全文
AI不是围棋上帝,因此AI提供的各落子点胜率,其实是一个概率分布;

概率分布间的比较不遵从加减乘除法则,而需要通过“显著性检验”来完成;

两着棋胜率差距小于1%,说明二者胜率完全相同;两着棋胜率差距大于5%,才说明二者胜率有区别;

相较于胜率,AI提供的新落子点背后的相关变化图和思路,才是棋手最需要学习的东西;

人类的围棋对弈并不“封闭”,许多与人有关的因素才是制胜关键;

保持思考,比跟谁学、学什么都重要。

成王败寇是自古以来人类历史的不变铁律。

从AlphaGo的横空出世到今天各路AI的八仙过海,当人机大战的结果渐失悬念,职业棋手的权威性向AI的不断转移,自然成为了无可避免的必然趋势。这种趋势带来的直接后果就是:越来越多的棋手,无论棋力高低,都开始选择AI程序作为围棋陪练甚至围棋教练,并将AI推荐的着法奉若神明。

遥想数十年前,当刚刚起步的中国围棋第一次接受来自日本围棋全新的技术体系和战略思想的冲击和洗礼,棋界大多数人对高高在上的日本职业九段的每一句棋评也都如获至宝。时隔多年,人们䟗足跪拜的对象从职业九段变成了AI软件,可脸上的深信不疑是何等神似。这或许就是历史的本质罢。

笔者无意从文化或道德层面对AI软件介入围棋学习进行评批判。相反,笔者也认为:合理适度地学习和借鉴AI提供的着法和思路,是今日棋手理应享有且不容错过的人工智能时代的巨大红利。可是,笔者想说:凡事都逃不开“过犹不及”四字。许多棋手(特别是水平相对较低的业余棋迷)对AI程序的盲目崇拜和无条件服从,是有内在的逻辑问题的。这其中,最容易被大众误解的一点就是:AI程序提供的落子胜率,是不能够进行直接的相互比较的。

为使解释尽可能通俗易懂,请读者先完成下面这道看起来很简单的数学选择题。

[单选题]如上图,当前局面头绪众多,复杂难解。使用某AI程序用分析模式跑一遍后,该程序给出了A-E五个可能的选点,每个选点的胜率值如下:A(54.1%),B(54.0%),C(53.7%),D(53.6%),E(47.5%)。假设此款AI程序棋力足够强大,给出的各落子点胜率值与真实情况完全一致;那么,下列说法中正确的是( )。

A。 选点A的胜率(54.1%)最高,因此选点A是当前局面下的最善一手。

B。 选点A的胜率(54.1%)大于选点B的胜率(54.0%),这说明:下在A明显比下在B好。

C。 选点A的胜率(54.1%)大于选点E的胜率(47.5%),这说明:下在A明显比下在E好。

D。 AI还达不到围棋上帝的高度,所以这些落子点和各自胜率值都毫无意义。

本题的正确答案是C。解题思路如下:

1。人工智能不是围棋上帝。

在知晓一切的围棋上帝眼中,任何一着棋的胜率都只有两种可能:0%(输)和100%(赢)。这应该很好理解,因为当贴目规则和当前局面棋子分布确定后,执黑和执白的两位围棋上帝在之后必然会“默契地”下出棋局接下来唯一的“最优解”。

正因今天的硬件水平不足以支持人工智能程序穷举接下来局面的一切变化并最终得到“最优解”,科学家们在今天的围棋AI中引入了“胜率”这个巧妙的切入角度和全新的评估方式。虽不知局部的最优解何在,但通过卷积、剪枝等深度学习的具体技术,我们可以给每一着棋按律“赋值”:经过人工规则筛选后的有限变化(可能是几十万或几百万个)中,有多少个变化终局结果为己方获胜,便有多少百分比体现在其具体的胜率赋值中。从便于大众理解的逻辑来讲,人工智能的所谓“胜率”,依旧是一个简化版的穷举过程。因此,“该落子点的胜率是54.1%”这句话,其实表达的意思是:从当前局面下开始进行有一定逻辑规律的100万次试次(例)后,有54.1万次的最终结果是黑方取胜。

正因上述缺陷的存在,围棋AI提出的落子胜率存在不可避免的天然缺陷。只要在哪怕几十手后棋盘另一侧的局部绞杀中出现任何一个看似细微的计算错误,AI对各处落子的胜率估计便立时要产生翻天覆地的变化。事实证明,除AlphaGo Master版本外,市面上常见的几乎所有围棋AI都存在各种各样的死活bug(或称人类棋手世界观中的“误算”),而其中的任何一个都可能对AI对当前局面的评估和判断造成难以估量的偏移和错位。

2。题干中的胜率

“54.1”从本质上讲并不是一个阿拉伯数字,而是一个庞大的概率分布。

当读者理解围棋AI中所谓“胜率”的含义,就为接下来的比较过程打下逻辑基础。A、B两着棋的胜率54.1%和54.0%之所以不能进行直接比较,便是因为所谓的“54.1”或“54.0”并不是一个单纯的阿拉伯数字,而分别代表着两着棋以后各自进行的一百万次试次得到的结果——一个由1或0(即胜或负)组成的庞大集合。54.1和54.0这两个数字分别对各自代表的两个集合进行了某个维度的归纳总结,但这显然不能代表这个由一百万个数字组成的集合的全部属性。

3。两个概率分布之间的比较,不适用加减乘除四则运算。

当我们想对两个各自由一百万个数字组成的集合进行差别比较时,单纯的加减乘除四则运算是远远不够的。在统计学中,“显著性检验”是人们最常用的衡量两个分布间是否存在差异的计算方法。在这里,笔者想尝试用尽可能通俗易懂的语言来向没有统计学背景的读者解释“显著性检验”的基本含义:

(1)由于我们不是上帝,所以我们收集到的数据、看到的这一百万个胜负结果,其实只是无穷多个变化中的一小部分;

(2)正因我们收集到的数据有限或不全面,所以我们以之来推断这手棋是“好棋”还是“坏棋”,这个判断是有可能出错的。举例来说,如果局部一共有一亿种变化,其中有9900万种变化的结果都是白胜,只有100万种变化的结果是黑胜;但是,由于程序的此次随机恰好“不小心”只抽取了那一百万种黑胜的变化。那么我们根据手上“一百万个变化都是黑胜”而做出的“这个局部这样下黑棋好”的结论,与一亿种变化的整体样本的分布就产生了巨大的差别。

(3)“显著性检验”就是一种衡量我们“出错可能”的检验办法。例如,通过具体参数的设置,我们可以调整显著性水平p=。05,这表示:虽然我没有办法保证我做出的判断一定正确,但我有95%的把握说我的判断是正确的。

不光围棋AI,人类科学的几乎每个方面都会涉及显著性检验的问题。人类总以自身有限的能力和数据去尝试推断世界庞大的运行规律,因此时刻都需要审视自己犯“管中窥豹”这类错误的可能。今天的科学界往往以p=。05作为通行的显著性水平,这意味着:只要我们能保证实际生活中95%的情况都与我们掌握的样本情况一致,我们就可以宣布自身的研究成果是“正确的”。

(4)显著性检验的具体计算方法不是简单地加减乘除,它涉及一个包含多项统计参数的复杂计算模型。(笔者很难用有限的篇幅彻底展开有关显著性检验的全部知识,有兴趣的读者可自行查阅相关统计教材。此处从略。)如果样本数据成功通过该模型的检验,我们就可以做出以下判断:这两组数据之间,的确存在明显的区别。反之,如果没有通过这个模型的检验,我们就会做出这样的判断:这两组数据之间,不存在明显的区别。

4。那么,两手棋胜率差距多大才能达到显著性水平?

接下来,我们需要解决“当两手棋的胜率之差大到什么程度,我们就能下定决心宣布:这两手棋的胜率的确有区别”这个问题。正如前文所述,显著性水平的设置、样本量和效应量等许多参数都会影响显著性检验的结果,但经过大量经验和相关练习,笔者可以总结出一个非常粗略的“围棋AI胜率判别标准”:

对于目前市面上常见围棋AI的变化数量级、显著性水平和效应量而言,

落子胜率差在1%以内,说明“两手棋的胜率肯定没有区别,请你大胆任意选择其一”;

落子胜率差在1%-5%之间,说明“由于AI能力所限,这个问题的答案它也不知道;你可以在实际对局中试一试,但AI觉得这两手棋可能会有区别”;

落子胜率差大于5%,说明“两手棋的胜率肯定存在明显区别,高胜率落点肯定比低胜率落点好”。

所以,A(54.1%)和B(54.0%)虽然从字面的数学上多了0.1%,但从统计学意义上讲,两个分布是完全相等的。这在围棋中意味着,AI认为,接下来黑棋下在A位或B位,胜率是完全一样的。

细心的读者可能已经忽然意识到上述判断标准在AlphaGo

教学工具中的具体应用。在推荐的许多落子点中,有些落子点是用绿色标注的,有些落子点是用紫色标注的。这样的设置其实就是一个非常明显的显著性水平的常用实例:两个均为绿色标注的落子点虽然各自胜率小有差别,但从统计学意义上讲它们 “胜率完全一样”;而如果两个落子点中一个为绿色、另一个为紫色,就说明“AlphaGo认为,绿色落子点比紫色落子点胜率高”。

因此,对于AlphaGo 教学工具而言,读者只需要通过落子点颜色就可以判断各落子点间的胜率差异。而对于那些UI没做得这么好的围棋AI,读者就可以通过上文的“围棋AI胜率判别标准”,对该AI推荐的各落子点胜率的差别有一个大致的感受和估测。

5。胜率并不是衡量一着棋好坏的决定因素。后续变化才是。

市面上主流的各款围棋AI中,笔者目前最喜欢天壤的界面:因为在最近更新的版本中,天壤不仅会给出几种彼此胜率接近的落子点,还会直接标明该落子点的后续五手变化。

胜率只是AI衡量落子点好坏的指标之一,而人类棋手能否从AI推荐的着法中取得收益,直接取决于对其后续变化掌握的多少。以前文的选择题为例,选点A的胜率看起来还不错,但只有棋手完全掌握其后续变化,才能在自己的对局中将这个“高胜率”转化为实际的对局优势。如下图,

黑只有通过这般的正确应对,才能保证54.1%这个胜率的有效性。如果黑错选了3位长的方向,或是在白14位尖封时退缩,那么先前的落点A胜率立时就要大幅下降,在对局中的实际效果甚至还远远不如掌握了D位落子后续变化的结果。通过AI从胜率角度切入得到的全新思路和变化,弥补人类棋手因思维惯性或思维定势带来的局限和空白,或许才是人类能够从许多高级AI看似“不知所云”的奇怪着法中,学习到的最宝贵的东西罢。

因此,笔者想奉劝那些稍有落差便惊为天人如获至宝爱不释手不容置喙的棋迷朋友:不学习AI天马行空背后的逻辑和变化,永远只是叶公好龙;除了可能在与其他棋迷朋友喝酒吹逼时狐假虎威地稍占上风外,你将失去的,或许是这个时代最好的围棋老师带给你对围棋的全新理解和认知。

死记硬背学不好围棋,死记硬背更学不好AI的围棋。

6。 人类眼中的最善一手,与上帝眼中的最善一手差别很大。

当关于胜率的讨论更进一步,许多职业棋手已经开始进行全新的思考。用职业棋手的“黑话”来讲:

如果说围棋AI从技术层面提供的胜率是目(是目:在对局中很重要,可能影响最终的对局结果),那么:

赢多赢少是不是目?

对局时间是不是目?

变化多少是不是目?

给不是围棋上帝的对方制造更多犯错的可能,是不是目?

影响人类对局的因素实在太多,追求局部“最优解”或许是个别求道派的终极追求,但显然未必是大多数棋手唯一的考量标准:

复杂的接触战中,当棋手已经看清局部的全部关键变化,是选择胜率稍高的稳健落子以确保自身不犯错误,还是选择胜率稍低的激进落子以争取在局部获得尽可能多的利益,为之后全盘的收束提供更多的退让空间?

在时限较短(特别是没有读秒的包干制比赛)的对局中,棋手是选择花三十分钟全力算出局部最优解,还是通过五分钟的简单计算得到一个已经相对满意的变化、并将剩下的时间投入到后半盘更加白热化的斗争中?

当前形势的优劣会不会影响棋手对于各种变化的选择?当局面优势明显时,胜率相对较低却简单粗暴的落子变化,会不会比胜率最高、但要求棋手局部应对必须精准无误的落子变化更保险?当局势已非,胜率最低但局面相对最混乱的落子变化,会不会因为给对手提供了更多犯错可能,而更容易最终达成翻盘目的?

究竟是谁最早提出 “围棋是封闭式的博弈”,并在现今成为棋界大众的共识?太多经典对局都无数次地证明,棋手在对局中追求的往往不是“最优解”,而是“满意解”。具备一定棋力的棋手在比赛中,一定要考虑到上述各种非围棋技术层面的问题,才能在所谓“斗智斗勇”中占据上风,并最终取得对局的胜利。这些更广义层面的博弈,绝非老师仅仅“照本宣科”就可以一股脑填鸭式传给弟子的知识;只有通过经年累月的反复推敲和思考,才能形成自己的认识。局部的新变化固然要努力学习,但在实际对局中究竟应该选择哪一种变化,绝不是简单的胜率比较就可以草率敲定。一切最终又回到同一个落脚点:不断抛弃成见、不断努力求索的深入思考,才是棋手安身立命之根本。

当理清了这些思路,再回过头去看文初的选择题,读者朋友们能否对四个选项的描述有更加清晰的认识呢?

你看,看似简单的一道数学选择题,都可以展开几千字的延伸和探讨。在学习所谓“人类智慧的最高峰”的围棋时,单单记住一个胜率和结论,会不会同样浅显了一点?

当我们看到AlphaGo这个像星空一样浩瀚的落子胜率分布图时,单纯死板地记住“应对天元时‘占小目’比‘占星’好”和“碰天元胜率比小飞挂天元高0.4个百分点”,会不会太暴殄天物了一点?对于那些愿意展开深入思考的顶尖职业棋手而言,这样一个简单的胜率分布图带来的启发,或许就能在未来的某天为人类棋手开辟一个崭新的世界;亲手将这些美好的可能拒之门外,会不会太可惜了一点?

不论是向职业棋手问道还是向围棋AI取经,笔者始终觉得:使自己产生以前没有过的思考,才是围棋予人最重要的成长。


原文发布时间为:2018-06-3

本文来自云栖社区合作伙伴“企业网D1Net”,了解相关信息可以关注“企业网D1Net”。

网友评论

登录后评论
0/500
评论
技术小能手
+ 关注
所属团队号: 企业网D1net