当前位置: 华文星空 > 体育

如果发明一种机器学习难以战胜人类的棋类规则,这种规则应该具备什么样的特点?

2022-06-09体育

机器学习的话,很简单,比逻辑推理就行。比如初中几何学。

几何、方程、逻辑推理……这些问题,人类学起来并不难;甚至写个程序,自动推理、机器证明、自动解方程,甚至自动计算积分,这都不难。

但用「机器学习」去做,难如登天。

举例来说,Dota AI,至今学不会用闪光粉。

闪光粉这东西起什么作用呢?

游戏里面有些英雄有隐身能力,他会摸过来偷袭你;偷袭失败了,他就隐身逃走,非常恶心。

而闪光粉可以「撒」在你怀疑他存在的地方——比如,听到隐身音效了,嗯,我猜他在这里,撒粉,抓人;或者,对方试图偷袭你,结果被你躲开了,他不恋战,马上隐身走人;你看着他消失的方向,估计他所在的区域,撒粉,就把他抓到了。

如果是人在玩,我们可以清楚的知道,有个家伙玩的英雄很奇怪,会消失,闹得我们只能挨打,很讨厌;然后,怎么办呢?好讨厌好讨厌……

然后,偶然有一次,尝试各种道具时,撒粉,就把他抓出来了。

于是我们马上就知道,闪光粉可以破隐形;以后见到隐形英雄就买粉……

可机器学习就是学不会。

为什么学不会呢?

因为它只是机械的统计每个局面、每个动作和胜率之间的关系;那么除非我们干预,否则撒闪光粉对AI来说收益总是负数——除非恰恰撒在正确的那一秒、那一格。

除非天文数字的对局、或者我们专门设置场景强化训练它对付隐身英雄;否则……

类似的,象棋/围棋的残局,只有一种走法、若干步后一方必胜的那种,剪枝法设计的AI可能如鱼得水,基于机器学习的却不怎么在行。原因很简单,它只懂概率,不会推理。

同样的,给机器学习AI这样一道题,它是无论如何也做不出来的:

今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?

哪怕你逮住它猛训练,把这道题训练成了,稍微一变,又不会了:

齐使者如梁,孙膑以刑徒阴见,说齐使。齐使以为奇,窃载与之齐。齐将田忌善而客待之。忌数与齐诸公子驰逐重射。孙子见其马足不甚相远,马有上、中、下、辈。于是孙子谓田忌曰:「君弟重射,臣能令君胜。」田忌信然之,与王及诸公子逐射千金。及临质,「孙子曰:‘今以君之下驷与彼上驷,取君上驷与彼中驷,取君中驷与彼下驷。’既驰三辈毕,而田忌一不胜而再胜,卒得王千金。」

读完上面这则短文,领会其道理;设甲有(中、下、下、上、上、下、中)七匹马,乙有(上,上,中,下,下、上、中)七匹马,请设计比赛,使甲胜。

明白了这个,那么方案自然就有了。

比如,不完全信息博弈,类似星际争霸或者dota里面的隐形英雄/闪光粉,逼AI去猜、去推理。

但星际争霸/dota毕竟不是专门针对猜/推理优化的,这类内容占比太少。

我们可以强化这些特点。

比如说,高等数学飞行棋。

这种棋非常简单,它和小朋友们玩的飞行棋一样;但只有一点:扔了色子后,想要成功走到对应格子里,你要先解答这个格子随机抽出的一道数学题。

这道题可能是证明,也可能会是计算;可以简单到初中几何证明、尺规作图;也可能复杂到解一个偏微分方程、有限元分析或矩阵变换。

解出来了,这一步就可以走下去;否则,棋子放回原地。

太狠了点?

那来个简单点的。中文四六级考试:

- 「喂,您好,请问你的货拉拉拉不拉拉布拉多?」
- 「你的拉布拉多拉不拉?」
-「不拉,那你拉不拉?」
- 「拉!」
请问:货拉拉拉拉布拉多了吗? 多亏跑了两步,小明差点没上上上上海的车。
请问:小明上车成功了吗? - 「你考完后对没对这道题答案?」
-「对了,但没对。」
请问:这道题做对了吗?

注音题

开车别别别人。 人要是行,干一行行一行,一行行行行行。人要是不行,干一行不行,一行不行行行不行。

以上来自 中文「四六级」来了?!假如考题长这样,你能答对吗?_腾讯新闻 (qq.com)

总之,只要我们有意识的强化棋盘上的推理要素、要求唯一的最优解、精确解,使其无法穷举、无法估算概率,那么我们就可以在棋盘上轻易吊打任何基于机器学习的AI了。

看来很多人并没有理解我在说什么。那么,解释一下。

AI现在的问题就是无法理解「隐身」和「撒粉」这两个抽象概念、以及「隐身就撒粉」这个抽象动作逻辑,而是机械的计算概率。

换句话说,AI相当于一个智商180甚至更高的文盲、聋哑人;它能颇为高效的自行摸索出很多问题的解法,但无法理解人类语言以及其中充斥的各种抽象概念以及抽象概念之上的逻辑关系。

正因此,迄今为止,没有能做初中数学题或者基本编程的AI——它永远都是基于概率的拼凑,无法履行哪怕最最基本的逻辑验证工作。所以,它的行为充满了不确定性,你永远不能像指导人类一样,一句「见了隐身就撒粉」就能永久的改变其行为模式、甚至允许其在这个「理解」的基础上节节攀升。

当然,我们的大脑是几乎相同的运行规律。所以AI最终肯定是能掌握逻辑的——但,也如同我们人类一样,完全不懂逻辑也学不会逻辑的人,那可不是一般的多……

正因此,任何一份AI进展报告出来,我都会瞪大眼睛盯,去寻找AI掌握/没有掌握逻辑的证据(如果有的话,就可以进一步学习他们是如何实现逻辑相关动作)。

很遗憾,都没有。

当然,一些初级的逻辑还是有的。比如之前一直怀疑的「alpha go不会打劫」——原因很简单,打劫其实是存在「硬」的逻辑推理的:「我下这里,对方必须应那里,否则我下这里」。

alpha go证明了自己会打劫,也就证明AI的确有了逻辑的萌芽

只是我们连「图像识别」这个能力究竟是什么样子都不知道,更为抽象的、虚无缥缈的逻辑自然就更难捉摸了。

什么时候我们能和AI对上逻辑的接口,什么时候AI就可以大成。

我一直在捕捉的,就是「人类和AI在某些逻辑概念上取得了共识」这个迹象。很遗憾,一直没有。

换句话说,目前:

1、AI肯定已经训练出了各种「概念」,比如猫、熊猫、香蕉等等;但我们无法理解这个概念在神经网络中的存在方式。

2、AI肯定已经有了「逻辑萌芽」,但同样的,我们也捉摸不到「逻辑」这个东西究竟在哪里、以什么方式存在。

再换句话说,你们「外行看热闹」觉得「AI作图」很好很强大的时候,我们内行却只有失望——AI对我们输入语言的反馈仅仅是「概念的直接映射和拼凑」,却怎么都理解不了其中的逻辑。

比如,对于「马骑宇航员」这个描述,AI的输出永远都是「宇航员骑马」——更不要说「理解人、马各自的关节约束,想象出‘马骑人’的正确体态然后画出来了」。

捉摸不到,就无从交流,无法提高。

无从交流提高,那么AI就永远只是个智商180的「狼孩」——聪颖,极其擅长捕猎等野外生存项目;但无论如何都学不会语言和人类数学。

因为我们和「狼孩」之间没有办法交流。

这也是如今很多团队致力于让AI理解人类语言、或者干脆研究AI和AI直接能否产生高效交流的语言的根本原因。

再换句话说,基本的视听动作能力,如今可以说是基本解决了;但更高一级的、基于抽象概念的高效交流能力——人类语言,不过调制在4000HZ以下的低速机械波上面,却可以高效的完成交流任务,传达下自拼音上至高等数学相对论量子论等等高深理论信息——那么,AI到什么时候,才能把信息输入/输出提升到抽象的概念的层面、像人类一样直接概念对概念抽象对抽象的交流, 而不是 网格对网格的、海量参数的拷贝?

更进一步的,AI什么时候能够像人一样,在高层有效的隔离各种概念,只输出指定领域的知识、并在另一个AI那里完成重建,却不泄露自己知道的、另一个领域的丝毫信息?

甚至,如何把关于现实的认知,抽象到质点、刚体层次上去?又如何把质点、刚体以及它们之间的关系这寥寥几个字词还原到另一个神经网络、在上面重建认知体系?