PDF 物理页索引 10
文件中的第 11 页 · 印刷页码:未识别
然而,20世纪五六十年代的人工智能,在符号演算和感知机两个方向上都陷入了停滞。80年代兴起的专家系统和神经网络,也因为受制于计算能力和对智能的理解,并未获得实质性的突破。
与一般人工智能著作不同的是,在概述“人工智能的寒冬”这一背景之后,米歇尔将注意力集中在“何以如此”这个关键问题上。了解人工智能“技术内幕”的专业人士都知道,算法在外行人看来的确神秘莫测,但在工程师眼里其所仰仗的说到底还是计算能力和符号演算的逻辑基础——这才是理解人工智能的关键。
受惠于神经网络和机器学习(machine learning)的发展,特别是2016年谷歌公司的AlphaGo在各种围棋比赛中大获全胜,给全世界做了一次人工智能科普,人工智能的第三波浪潮开始了。自从IBM的智能程序沃森(Watson)在智力竞赛《危险边缘》(Jeopardy! )中取得十分亮眼的表现,无人驾驶汽车、图像识别和语音识别等技术越来越受到人们的关注,一大波斗志昂扬的“人工智能预言”伴随着这一波人工智能浪潮愈演愈烈。DeepMind创始人之一沙恩·莱格(Shane Legg)认为,超越人类水平的人工智能将在2025年左右出现。谷歌公司战略委员会成员雷·库兹韦尔(Ray Kurzweil) <sup>(2)</sup> 则提出了令人震惊的“奇点理论”,他认为2029年完全通过图灵测试(Turing test)的智能机器将会出现,以强人工智能为基础的智能爆炸将会在2045年出现。
PDF 物理页索引 11
文件中的第 12 页 · 印刷页码:未识别
米歇尔的论述有一条清晰的线索,她细致地分析了人工智能在视觉、游戏、机器翻译等领域最新的进展后指出:迄今为止令人眼花缭乱的智能突破,其实尚未触及智能问题的核心自然语言理解和意义问题。为什么会这样呢?恐怕这就是我们需要仔细研读本书的一个原因吧。
到底什么是机器学习
本书第二部分分析了视觉领域的技术进展,这部分可用来理解人工智能核心算法演变的历程。
视觉领域广泛使用的专业工具是ConvNets,这一领域的创立者包括日本学者福岛·邦彦(Kunihiko Fukushima),以及法国计算机科学家杨立昆(Yann LeCun)。对外行人来说,视觉识别繁复的算法过程遮蔽了其中包含的技术思想,米歇尔将其“拎出来”展现给读者:所谓视觉识别,无非是训练出某种算法,使得机器可以利用这种算法来识别和命名它所“看到”的世界。
视觉识别的工作过程被分为两个步骤:第一步是给机器注入一定量的已知素材,比如包含猫、狗等事物的图片信息,这些信息在机器“眼里”无非是细碎的小方格——像素。通过对机器进行大量的训练,让其把这些图片中所包含的“特征”一一抽取出来。
PDF 物理页索引 12
文件中的第 13 页 · 印刷页码:未识别
面对一个不知道其内部构造的对象,要想猜测出其内部构造具备哪些特征,这一课题在“信号处理”这一学科中已经有长足的进展,最著名的方法就是所谓“卷积变换”,也称傅立叶变换。这一概念由法国数学家傅立叶提出,傅立叶对现代工程技术最大的贡献就在于,他发现可以通过傅立叶变换将对象的时域过程转换成方便计算的频域过程。这么说令人一头雾水。下面为帮助读者理解这一过程,我将提供一些尽可能通俗易懂的线索。
在控制论创始人诺伯特·维纳(Nobert Wiener)将“反馈”的概念引入系统控制之前,电子工程正面临大量的信号处理过程。我们可以把信号处理问题,理解成一个输入信号经过某个信号装置,产生特定输出的过程。工程师面临的问题是:在不知道信号装置本身的详细信息的前提下,如何通过输入特定的信号序列刺激信号装置产生特定的输出,从而根据这一特定的输出信号序列,推测出信号装置的特征?
举个例子:假设有一个黑箱,数学上用一种函数来表示黑箱的特征,这种函数可称为特征函数,你若想知道这个黑箱的特征,可以往黑箱里输入一个信号序列(输入函数),然后观测黑箱在这个输入函数的刺激下,产生的输出函数有什么表现。
傅立叶的伟大思想有两个:一个是傅立叶级数,另一个是傅立叶变换,前者是后者的数学基础。傅立叶的洞见在于:任何一个周期函数,都可以表示为一个包含正弦与余弦函数的无穷级数之和(三角级数)。这一出现于1806—1822年间的伟大思想,从形式上看其实是泰勒级数(1715年提出)展开式在工程领域的应用。对于理工科同学来说,当第一次见到某个函数在一定条件下可以展开为该函数的一系列不同阶次导数之和的时候,会顿时领悟到数学的奇妙。
PDF 物理页索引 13
文件中的第 14 页 · 印刷页码:未识别
通俗地说,泰勒级数在一定条件下,总可以把某个函数展开成一个无穷级数。这样就从理论上找到了表示任意一个函数的可能性:将函数表示为一个包含无穷多项的级数,如果做近似处理,只需取这个级数的前几项就够用了。
那么,什么叫“卷积”呢?简单来说,就是一个黑箱的输出函数等于输入函数和这个黑箱特征函数的卷积。你不必管卷积的数学过程,只需要理解这一点就够了:卷积就是告诉我们,一个黑箱的输出信号(输出函数)与输入信号(输入函数)及这个黑箱自身的特征函数有关。在已知输入函数和特征函数时,求解输出函数的过程,叫作“求卷积”,实际上就是计算傅立叶积分的过程。
傅立叶变换的美妙之处在于:它把这一几乎不可能计算的积分求解过程,转换成两个特定函数的乘积。稍微专业一点的说法是:将对一个函数求解其微分方程的过程,转化为求解其三角级数的傅立叶积分的过程。经过这一变换,立刻让另一个问题得到了解决:如何从特定的输入函数和观测到的输出函数推算黑箱的特征函数?既然傅立叶变换将难解的积分问题转化为乘法,那问题就迎刃而解了。根据输入函数和输出函数求解黑箱的特征函数,无非是傅立叶变换的逆运算而已,你也可以把它理解成一次除法运算。
PDF 物理页索引 14
文件中的第 15 页 · 印刷页码:未识别
傅立叶变换让电子工程进行波形分析、对象特征函数提取成为可能。进而,傅立叶变换被提出150年后,成了今天人工智能学习算法的基础,即提供了以黑箱的视角,推测目标对象的特征函数的可能路径。
由此来看,人工智能在视觉系统上的应用,以及一切所谓深度学习(deep learning)算法,从数学角度上看,无非是使用20世纪七八十年代的多层神经网络(multilayer neuralnetwork),通过傅立叶变换来求解对象的特征方程的过程。
人工智能应用ConvNets分为两个过程:第一个过程是猜测对象的特征函数,也就是为对象建模的过程(识别);第二个过程则是根据对象的输入-输出响应序列,进一步调节对象参数的过程,这一过程也是“学习”的内在含义。也就是说,做卷积分析,就是面对一个不知其内部构造如何的对象,通过输入一个已知的函数,观察输出函数,最终给出对目标对象内部构造的一个猜测。
在应用深度学习算法的时候,人们通常会将数据集分为“训练集”和“测试集”两个部分:前一个部分的数据集,用来做猜测,猜测对象是什么东西;后一个部分则用以对在训练集上取得的成果进行验证并优化相关参数,以便更准确地适应不同形态的对象。
深度学习又分为监督学习和无监督学习两种。监督学习,事实上就是通过人机交互,明确告诉算法猜对了还是猜错了。这种学习过程需要人机交互,也需要明确的关于对象的先验知识,其应用场合是受限的,且效率低下。无监督学习则是需要学习机自行判断结果是否恰当,进而优化判别参数。比如生成式对抗网络(GAN)应用的就是无监督学习,它可以根据此前的学习结果,构造出全新的模式(全新的猫或者狗),来拓展对象认知的边界。当然,无监督学习仍然需要人为的干预,因为说到底,学习算法并不“认识”这个世界。
PDF 物理页索引 15
文件中的第 16 页 · 印刷页码:未识别
从对计算机视觉领域人工智能的分析可以看出:目前,强大的人工智能依然在练习认识这个世界,认识自己的工作,而其所仰仗的无非是两样东西——强大的算力(比如神经网络可以做到上百层,过去只能做到几层)、傅立叶分析。归根到底,对于世界究竟是什么样的,机器自己是没有任何真实的感知的,依然需要人的干预和解释。
了解当下人工智能非凡表现的技术背景,可以让非专业读者也能把握住技术的“本领”究竟位于何处。作为控制论创始人的诺伯特·维纳曾这样说:“我们最好非常确信,给机器置入的目的正是我们真正想要的目的。”也就是说,机器的任何表现都先天地面临一个重要的束缚,而这种束缚恰恰来自人,是人在教育机器这个“孩子”,是人在给这个“孩子”注入灵魂。
然而,人给机器吹一口仙气儿,机器就有灵魂了吗?问题恐怕没这么简单。
人工智能的<sup>“</sup>能<sup>”</sup>与<sup>“</sup>不能<sup>”</sup>
PDF 物理页索引 16
文件中的第 17 页 · 印刷页码:未识别
在第三部分,米歇尔通过讨论游戏中的人工智能来进一步说明这一点。
用人工智能算法练习打游戏,是挖掘算法潜能、理解算法机理的有效途径。智能算法打游戏基本都是无监督学习的过程,典型的比如《打砖块》游戏,人不能事先给机器注入太多游戏策略,或者有利于获胜的先验知识,只能把游戏规则灌输给算法,剩下的就全看机器自己的“修炼”了。
通过前面的简要分析,大家理解了ConvNets中最重要的是参数调节,在游戏领域就是机器的游戏策略选择。事先存储再多的游戏策略,在暴力算法面前其实也是不堪一击的,这其实是AlphaZero最终完胜人类的奥秘。人类棋手或者游戏玩家的“功力”往往来自经验,也就是人们积攒的大量的套路,这些套路只是针对某个封闭对弈空间的有限选择。如果机器只会模仿人的经验策略,它就不能获得独立应对意外局面的能力,机器必须进入更大的对弈空间,这就是强化学习的含义。如理查德·萨顿(Richard Sutton)所言,强化学习就是“从猜测中学习猜测”,米歇尔将其调整为“从更好的猜测中学习猜测”。
分析到这一步,其实就十分接近人工智能的核心问题了。什么是“更好的猜测”?智能机器目前所能做的,还只是“最快的猜测”,或者说“以快取胜”。目前的人工智能,往往在速度上卓尔不凡,因为它可以动辄在更大的博弈空间里处理海量的数据,表现出令人咋舌的算力水平,远远超过人类的计算能力。这种能力在让人惊艳的同时,也带有很强的迷惑性,使人误以为机器已经“沾了仙气”,比如IBM的智能机器沃森就是如此。其实这是假象,如今的人工智能,与真正的人工智能之间依然有巨大的鸿沟。什么是真正的人工智能?业界对其定义也一直争论不休,这里暂且不论。
PDF 物理页索引 17
文件中的第 18 页 · 印刷页码:未识别
人工智能的核心问题,依然涉及对客体对象、目标过程的认识。真正的人工智能必须有能力认识某一对象是什么。人工智能专家所找到的解决之道,其实还远不是“认识对象”的解决之道(这一点米歇尔放在本书的最后一部分讨论),而是找到了一个退而求其次的路径,就是“目标函数”的构建。
目标函数是什么?举个例子,比如玩蒙眼点鼻子的游戏。蒙眼人拿着笔走向一幅大鼻子卡通画,然后摸索着去点画中的鼻子。如果有个声音不停地提示其偏离的方向,蒙眼人就可以很快地点中鼻子。这个提示点鼻子的偏差的信息,对蒙眼人点中鼻子至关重要。想象让机器来完成这个任务,机器可以不理解什么是鼻子,什么是点,也不用明白这么做有什么娱乐的价值,但如果能给出判断点中与否的目标函数,就可以大大提高机器成功完成任务的概率。
其实,当下的人工智能算法依然停留在工程意义上,也就是说,还只是以完成任务为目标。至于做这件事的意义,则全然不在机器算法的“视野”之内。
谷歌的AlphaGo到AlphaGo Zero的演化历程,就是一个活生生的例子。第一阶段,AlphaGo向人学习;第二阶段,AlphaGoZero自学成才。不管哪个阶段,谷歌公司的创见在于:让算法可以洞察整个盘面。为了大大减少计算的负担,并使算法可以获知距离获胜还有多远,他们使用的是蒙特卡洛方法,只要确保最优策略依然在剩下的搜索空间里就好,换句话说,比对手多预测几步就有更大的胜算。
PDF 物理页索引 18
文件中的第 19 页 · 印刷页码:未识别
从游戏中学习套路,人工智能是不是就早晚可以超越人类?在人工智能刚刚兴起的20世纪五六十年代就有这个论调,当年在机器上玩跳棋的亚瑟·塞缪尔(Arthur Samuel)曾乐观估计,10年内机器必然战胜人类。今天的机器算法,固然已经在棋类博弈中完胜人类棋手,但从智能角度看,与那时相比其实并无实质性的进步。也就是说,无论机器的自学能力有多强,有一件事是确定的,即游戏目标的存在。游戏规则和游戏目标作为先验知识,给出了这样一个明确的博弈边界,即这一游戏的博弈空间是有穷空间。算法的唯一目标就是赢,不管其对手是人还是另一个机器算法,也不管对弈双方是否理解游戏,或者能否欣赏游戏之美,它只追求赢。棋类游戏博弈中的“赢”,其实隐含一个假设,即游戏本身是存在赢的可能性的,比如在围棋中,平局、和棋也是“输赢”的特定形态。换句话说,就是一个有趣的、有输赢的游戏设计,其本身先天地规定了这一静态目标的成立——零和博弈。
因此,机器在零和博弈空间里完胜人类这一点,并非凸显了机器智能超群,只是进一步验证了人类的局限性和零和博弈目标的有限性。除此之外,机器所取得的成功说明不了更多。
从视觉系统和游戏,并不能看出人工智能所面临的最大的挑战在哪里。人工智能所面临的最大挑战,可能在于人们忘记了智能机器的强项依然是算力,错误地选择将今日之人工智能更多地用于人类增强中,而且将人机联合的活动空间,定义为更大的零和博弈游戏场景。
PDF 物理页索引 19
文件中的第 20 页 · 印刷页码:未识别
米歇尔很好地说明了这一挑战下的另一个场景,就是人工智能所面临的一个“硬核”场景:机器翻译。这是本书第四部分的内容:当人工智能遇上自然语言处理。
早在1956年达特茅斯会议提出人工智能之前,在20世纪40年代美国“科技工业共同体”建设中扮演重要角色的官方技术官员沃伦·韦弗博士就提出了机器翻译的理念。机器翻译既是特别有市场号召力的应用场景,也是检验人工智能技术思想所取得的前沿突破的重要领域,谷歌、微软、科大讯飞等公司在这方面投入了巨大的热情。机器翻译无疑是最“硬核”的人工智能难题,它难在人工智能需要直接面对“理解”这一难题。谷歌和微软等公司还将翻译的含义拓展,用智能算法给图片打标签,试图解决海量图片的识别问题。斯坦福大学开发了人工智能阅读理解项目,希望有一天能够让机器“读懂”它所面对的内容。
就在我写这篇文章的时候,旅居美国30余年,长期关注生物科技、人工智能、区块链等领域的前沿进展的企业家邵青博士,给我发来一篇来自美国硅谷的报道,这则报道的主角叫作GPT-3算法,它的发明人埃德·莱昂·克林格(Ed LeonKlinger)称:“从今天起,世界彻底改变了。”GPT-3是硅谷领先的人工智能公司OpenAI开发的第三代语言模型。这一模型的神奇之处在于,它通过分析网络上的海量文字,来预测哪些单词更可能会跟随在另一些单词的后面。让许多程序员兴奋不已的是,GPT-3被开放给所有程序员公测。