ChatGPT的背后:人工智能领域那些巧妙的算法、逻辑和数学

《你一定爱读的人工智能简史》是由日本的人工智能先驱者,将棋AI“PONANZA”的开发者之一山本一成创作的,他以非常通俗的手法,介绍了人工智能的发展历程。

ChatGPT是最近的大热门,很多人会很好奇这背后的技术。这个领域的东西,随便聊聊都会涉及普通人比较难理解的数学、算法和逻辑,所以很多科普内容门槛太高了。但是,也有写得特别好的。

之前看过一本书叫做《你一定爱读的人工智能简史》,是由日本的人工智能先驱者,将棋AI“PONANZA”的开发者之一山本一成创作的,他以非常通俗的手法,介绍了人工智能的发展历程。

考虑到ChatGPT跟AlphaGo在技术上有非常多的相似之处,所以这虽然是三年前的书,但依然没有过时。我试着把这本书简单跟各位分享一下吧:

你一定爱读的人工智能简史 7.2
【日】山本一成 / 2019 / 北京日报出版社

2016年3月,阿尔法狗战胜韩国围棋名将李世石,这件事在当时轰动全球。

不过有人可能会产生一个疑问,电脑做很多事情都很厉害呀,下个围棋赢了人类又有什么奇怪呢?

是呀,电脑的计算能力相当快。所以会有很多人觉得围棋赢了人类,就跟汽车跑得比人快一样,是不值得大惊小怪的。不说别的,现在你随便去网上找几个象棋软件,一般人真的不一定能下得过电脑呀。

那么阿尔法狗是个炒作吗?AI人工智能仅仅是某种电脑软件的代名词吗?还真不是。看完《你一定爱读的人工智能简史》(下称《简史》)终于理解了这个疑惑。

可以说,现在的计算机已经不仅仅是算得快了。机器学习、深度学习和强化学习在一定程度上让电脑有了智能。

实际上光算的快也没啥用,《简史》的作者就以日本将棋(作者是日本人)为例解释了这点。其实,关于这个问题,有一个很常见的误解,那就是很多人认为电脑在下棋的时候,可以按照穷举法把所有可能性算出来,然后选择胜率高的,因此人类必败。

我们都知道IBM的“深蓝”,当年战胜国际象棋大师卡斯帕罗夫用的方法据说就近似暴力穷举(实际没办法真正穷举)。

但是阿尔法狗和《简史》里面说的将棋AI“PONANZA”的方法则不同。

因为将棋和围棋要穷举几乎是不太可能的。相比国际象棋而言,这两者的可能棋局数都大到不可思议。

我们来看一组简单的数字。据普林斯顿的研究人员称,19×19格围棋的精确合法棋局数是这样一个超级大数,约等于2.08×10^170。将棋这个数据也达到了10^71这样的数量级,要知道全宇宙所有的原子数才10^80个。

当然指数这个东西本身不太好理解,可能这样展示,很多人还是觉不出什么来。好,我们看一个计算。有人做过这样一个计算,太湖之光超级计算机每秒运算10^17次,假如它从宇宙大爆炸的时候(137亿年前)就开始算,至今运算总次数也仅仅只有4.23×10^34次。这个数字比围棋(2.08×10^170)和将棋(10^71)的合法棋局数都小很多。

所以,用暴力穷举的方法来下围棋和将棋是不现实的。因此,计算机想要在这两个领域打败人类,得想其他办法。

那么问题来了,人类为什么可以在棋类游戏里面表现得这么杰出呢?

《简史》的作者认为主要是人类有强大的“评估”能力。作者认为所谓“智能”,其实就是“搜索+评估”,找到各种可能的解法,然后评估哪个最优。

人类特别擅长在有限的搜索样本中做出优秀的评估。但是计算机较之人类长于搜索,评估能力就弱很多了。如果一种棋类,比较容易判定每一步的优劣,那么这种棋就更容易破解。正是基于这个原因,日本的将棋比国际象棋要更难破解。所以在与人类顶尖高手的较量中,将棋比国际象棋足足晚了20年。

将棋的每一步既然这么难以评估,所以程序员很难给你即将要走的每一步打分,但是他们想到了另一个办法,那就是直接把高手的将棋对弈过程数据化,然后让将棋AI“PONANZA”直接学习,凡是高手能赢的那一手,就定义为比别的走法分数高。这样就一定程度上解决了如何评估的问题。

按照这样的策略,学了几万局以后,AI的出棋风格达到了与职业棋手45%的相似度。这个就是机器学习。

不过,从这个案例里,我们也可以感受到,跟顶尖选手比起来机器学习的效率还是低,电脑学了几万局棋,才能和职业棋手有这样的相似度,而人类用更少的样本,却习得了更高明的技法。计算机的算力比人强大很多,但是人类没办法教会它智慧。

所以,这也是当年人工智能寒冬的根本原因。

当然了,将棋AI“PONANZA”在引入机器学习以后,开发人员想着法子增加教师案例,也就是学习样本,然后终于有一天,它把它的发明者,也就是《简史》的作者打败了。又过了不久,原本不可能被战胜的佐藤四段也败给了PONANZA,此人相当于日本将棋国手吧。

从之前的穷举,到后来的机器学习,运用新的策略,将棋程序产生了飞跃性的突破。

但是问题是这中间具体发生了什么,却不太好说。AI这个领域的科学家们也很难解释为什么经过机器学习以后,计算机采取的策略增加了其获胜的概率。

在程序改进的过程中,人们会尝试各种可能性,大部分尝试都以失败告终,只有少数会莫名其妙让AI增强。但是为什么会增强,大家都说不清楚。这个就是作者口中所谓的黑魔法现象。而人工智能领域这样的事情还很多。这就不能不让人感觉,机器似乎有了某种不可言说的特质。

作者提到这点时举了一个意味深长的例子,他说在解说人机大战的时候,很多解说员会说类似“这里电脑着急了”这样的评语,也就是说大家都感受到了一些有意思的东西。

光机器学习大量的棋谱还不足以让AI彻底打败人类,因为机器学习是一种表层的概率性的行为。它只是局部判断各种棋类下法的获胜概率。这个时候深度学习就派上用场了。

深度学习不仅仅是简单的概率性的了,所谓深度就是神经网络层数很高的意思,这个不太好解释,我们可以这样来理解:

计算机如果想要学会判断一张图片是什么,那在神经网络里面,它大概是这样来操作的。首先第一层可能只能按照颜色来识别,但是第二层神经网络会有某些偏好,比如识别出了光线强弱,第三层有可能识别出类似纹理,以此类推,每一层都为后一层服务,整个网络面对这一大堆的图片数据,可能会抽象出很多结论。

这个原理有点类似人脑神经元,因此才叫神经网络。

我们通过上面的描述,大概可以这样来理解,那就是:深度学习的抽象感知力非常强。

这个技术用在棋类里面,产生的结果就是AI不仅仅是做了概率选择,它可能对棋类的下法产生了抽象的感知能力。但是我们注意到上面说的这些,都需要人给提供学习数据,本质上算是一种监督式学习。可是,要想在棋类游戏里面全面战胜人类,关键不是掌握多少旧的知识,而是要在新局面中获得优势。所以这里强化学习技术就派上用场了。

强化学习技术,主要是因为它会评估随机下法,并给系统反馈,这个过程反复进行,评估不断被强化。学习样本不再成为问题,之前需要棋谱,现在机器自己产生走法。而且因为评估被强化了,实际上相当于整个系统的决策力变强了。深度学习让AI拥有了感知力,而强化学习让AI具有了决策力。强强联合让PONANZA具有了不可思议的实力。此时,人类已经完全不是它的对手,现在大家都在学习PONANZA的走法。更有意思的是PONANZA的一些走法,非常惊人。也就是说,AI让人们意识到原先他们对将棋的理解还很肤浅。计算机拓展了人类对于将棋游戏的认知。这个效应在围棋领域也是一样。

上面我们说强化学习技术的时候,提到了程序不再依赖高手棋谱,而是自己随机下子,然后评估它,这个利用随机效果来进行推算的方法其实就是蒙特卡洛法。

震惊全世界的阿尔法狗就用了这种方法。这个方法或者说这个思想特别有意思,所以我决定多说几句。

蒙特卡洛法本身特别神奇,《简史》上介绍了一个蒙特卡洛算法计算圆面积的案例让人眼前一亮。不过用随机的办法来获得某种确定值,我觉得最神奇的要数布丰投针实验。

这个实验居然用随机投针的办法准确计算出了圆周率!

咱们学过数学都知道,历史上计算圆周率用的方法最多的就是割圆法。割圆法里面是极限思想。这个从本质上是比较好理解的,不再细说了。布丰投针可就太有趣了。

18世纪,布丰提出以下问题:设我们有一个以平行且等距木纹铺成的地板,现在随意抛一支长度比木纹之间距离小的针,求针和其中一条木纹相交的概率。

这个题目虽然算的是概率,但结果却和π有关系。我在网上查到解法是这样的:

1) 取一张白纸,在上面画上许多条间距为d的平行线。
2) 取一根长度为l(l<d)的针,随机地向画有平行直线的纸上掷n次,观察针与直线相交的次数,记为m3)计算针与直线相交的概率。
布丰本人证明了,这个概率是:p=2*l/(π*d)其中π就是圆周率。

那么反过来,π就可以运用投针的方法算出来。(具体的证明方法大家可以在网上搜一下,特别有意思。)你别说,还真有人用这种方法算过π。

1901年的时候,意大利数学家拉兹瑞尼做了这个投针试验,他抛针3408次,算出了π的近似值为3.1415929。这个实验厉害之处就在于,利用随机概率巧妙地进行推算来解决问题。这就是蒙特卡洛算法的核心思想。上面我们提到将棋比国际象棋难就难在在如何判定哪一种下法更厉害,PONANZA的解决思路是机器学习,认定高手选择的那一步更厉害。但是这个思路在围棋里面并不好用。机器学习最终仅能让电脑对职业棋手的预判有40%的精度,深度学习则把这个数据提高到了57%。

再往上怎么办呢?AI领域的人想到的办法是引入随机!先随机选落点,然后计算落在这点的获胜概率,这样一来评估都不需要了,只要根据机器学习的结果计算概率就行。蒙特卡洛算法结合深度学习和强化学习,一下让AI产生了质的飞跃。这也就是阿尔法狗当时震惊全球的原因。这个科学产物超越了人类智能。阿尔法狗变成了围棋之神。

小时候不知道各位有没有玩过红白机。许多年前,玩红白机的时候,除了《功夫》之外,我最喜欢《中国象棋》,还记得里面分简易、普通、困难三个级别。那时候年纪还小,当时我的水平打败普通最高级没问题,但是困难级别的那个老头就干不过了。但那个老头的水平非常有限。我在初中的时候,可以打败他了。可是现在,围棋和将棋这两个领域,任凭是多么不世出的天才,如何努力,也再不可能打败AI了。

整本《简史》给我的感觉就是,计算机已经逐步会思考了,它们能从过去的事情里总结经验,并且学到新的知识。不过有一点计算机目前还做不到。那就是设定目标的能力。

现在所有AI的目标都是人设定的。AI擅长的是通过搜索和评估通往目标,但是它还不能自主性地设定目标。无论是阿尔法狗,还是PONANZA,目前为止它们还没有真正的智慧,还不会自发性地改变自己的目标。但是相互连接的深度学习,倒确实有可能涌现出真正的智慧。

前面我们说深度学习本身是模拟神经元。相互连接起来以后,这样的系统跟人类大脑更像了。谁也说不好奇迹会不会出现。奇迹出现的那天就是所谓的奇点。这个超越人类智慧的存在,如果真的出现,可能人类很难对其进行控制。所以,在奇点还未出现之前,作者建议人类最好当一个好老师。正所谓“你怎样,AI便怎样”。这是《简史》作者的好人理论。只能说但愿如此吧。

这本书因为作者本人不仅仅是所谓AI从业人员,他其实是真正的人工智能先驱者。这个叫山本一成的是日本人工智能领域的代表人物,所以他写的这个东西,比一般的科普作者在理解深度上确实要更胜一筹。全书没有一行代码,没有介绍详细的算法,但把人工智能的关键原理说得普通人都可以理解。这个可以算真正的适合普通人阅读的人工智能入门级读物了。而且更神的是,虽然他讲的是将棋,但是其实不理解棋类规则,理解这本书也没问题。

这个书还有一章附录专门是针对阿尔法狗与李世石世纪大战的解说。其中一个是围棋棋士大桥拓文六段,另一个就是山本一成了。这个附录里的解说,如果喜欢围棋应该会有很深的感触吧。

总之,如果你对人工智能一点都不了解,这本《你一定爱读的人工智能简史》强推。如果是专业人士,则不是很有必要。这书毕竟没有详细的算法介绍,有点遗憾吧。不过就算有,普通读者能看懂吗?:)

作者:魔云兽
出处:豆瓣

更多来自 ArtThat Editorial

为什么是Beeple?他在5000天里日复一日地制作未来派 3D 渲染图

从明亮、大胆、丰富多彩的色调,到各式各样有趣的纹理和抽象的形状,每个图像可以说都是一个全新世界。
查看更多

发表评论