我爱编程

深入浅出人工智能|《漫谈人工智能》读书笔记

2018-03-02  本文已影响347人  joseph_liuxh
《漫谈人工智能》图书

2018年1月份,开始自学人工智能了,根据团长hanniman的推荐,阅读了《漫谈人工智能》一书。在快速读完第一遍以后,有两点较为宝贵的收获:①产生了兴趣;②收获了基础知识。

本人阅读方法如下:共阅读两次。第一次阅读输出脑图笔记,第二次阅读基于第一次的认知,结合着兴趣,输出个人关注的重点内容(本文)。

截止2018年02月22日第一次阅读已经完成了,读完了13章中的9章。将本书结构梳理如下:

一、基础知识

1. 人工智能的发展

2. 人工智能主流学派

3. 概述图灵机

4. 概述计算机及编程语言

5. 从理论发展和概念的角度阐述人工智能

6. 人工智能与人脑智能

二、应用

7. 深度学习

8. 自然语言处理

下面,我将根据这个结构,输出第二遍阅读的文字笔记。

一、人工智能的发展

制造出能够像人类一样思考的机器是科学家们最伟大的梦想之一。用智慧的 大脑解读智慧必将成为科学发展的终极。而验证这种解读的最有效手段,莫过于再造一个智慧大脑-人工智能(agriculture intelligence,AI)

1、关键人物和他们提出的理论

A、大卫.希尔伯特和他的两个问题

在1900年的数学家大会上,大卫希尔伯特向全世界的数学家宣布了23个未解决的难题,这其中的第二个问题和第十个问题与人工智能密切相关,最终促成了计算机的发明。

第二个问题。证明数学系统中应同时具备一致性(数学真理不存在矛盾)和完备性(任意真理都可以被描述为数学定理)。

第十个问题。是否存在着判定任意一个丢番图方程有解的机械化运算过程。

B、库尔特.哥德尔:哥德尔不完备定理

他起初是希尔伯特的忠实粉丝,并致力于攻克第二问题。然而,他很快发现希尔伯特第二问题的断言根本就是错的。并提出了哥德尔不完备性定理:

一致性和完备性不能同时存在

C、艾伦.图灵:图灵机

艾伦'图灵关注第十个问题:“是否存在着判定任意一个丢番图方程有解的机械化运算过程”,这句话的重点在「机械化运算过程」,用今天的话说就是「算法」,当年,算法这个概念还是相当模煳的。于是,图灵设想出了一个机器——图灵机,

图灵机,它是计算机的理论原型,圆满地刻画出了机械化运算过程的含义,并最终为计算机的发明铺平了道路。

图灵机模型

a、图灵机形象的模仿了人类的进行计算的过程:

假如我们希望计算任意两个3位数的加法:139 + 919。我们需要一张足够大的「草稿纸」以及一支可以在纸上不停地涂涂写写的「笔」。之后,我们需要从个位到百位一位一位地按照「10以内的加法规则」完成加法。我们还需要考虑「进位」,例如9 + 9 = 18,这个1就要加在十位上。我们是通过在草稿纸上记下适当的标记来完成这种进位记忆的。最后,我们把计算的结果输出到了纸上。

b、图灵将这些运算过程都模型化了

图灵机把所有这些过程都模型化了:草稿纸被模型化为一条无限长的纸带,笔被模型化为一个读写头,固定的10以内的运算法则模型化为输入给读写头的程序,对于进位的记忆则被模型化为读写头的内部状态。于是,设定好纸带上的初始信息,以及读写头的当前内部状态和程序规则,图灵机就可以运行起来了。它在每一时刻读入一格纸带的信息,并根据当前的内部状态,查找相应的程序,从而给出下一时刻的内部状态并输出信息到纸带上。

c、图灵机和模拟的人类计算的模型关系

「笔」<-->「读写头」

「10以内的运算法则」<-->「输入给读写头的程序」

「进位」<-->「读写头的内部状态」

d、图灵测试:机器能思考吗?

1940年,图灵开始认真地思考机器是否能够具备类人的智能。

他马上意识到这个问题的要点其实并不在于如何打造强大的机器,而在于我们人类如何看待智能。

即依据什么标准评价一台机器是否具备智能。于是,图灵在1950年发表了《机器能思考吗?》一文,提出了这样一个标准:如果一台机器通过了“图灵测试”,则我们必须接受这台机器具有智能。那么,图灵测试究竟是怎样一种测试呢?

如图所示,假设有两间密闭的屋子,其中一间屋子里面关了一个人,另一间屋子里面关了一台计算机:进行图灵测试的人工智能程序。然后,屋子外面有一个人作为测试者,测试者只能通过一根导线与屋子里面的人或计算机交流——与它们进行联网聊天。假如测试者在有限的时间内无法判断出这两间屋子里面哪一个关的是人,哪一个是计算机,那么我们就称屋子里面的人工智能程序通过了图灵测试,并具备了智能。事实上,图灵当年在《机器能思考吗?》一文中设立的标准相当宽泛:只要有30%的人类测试者在5分钟内无法分辨出被测试对象,就可以认为程序通过了图灵测试。

图灵测试示意图

D、约翰.冯.诺依曼

1945年,凭借出众的才华,冯·诺依曼在火车上完成了早期的计算机EDVAC的设计,并提出了我们现在熟知的“冯·诺依曼体系结构”。

冯·诺依曼的计算机与图灵机是一脉相承的,但最大的不同就在于,冯·诺依曼的读写头不再需要一格一格地读写纸带,而是根据指定的地址,随机地跳到相应的位置完成读写。这也就是我们今天所说的随机访问存储器(Random Access Memory,RAM)的前身。

E、诺伯特.维纳:控制论

维纳于1948年提出来的新兴学科“控制论”(Cybernetics)了。“Cybernetics”一词源于希腊语的“掌舵人”。在控制论中,维纳深入探讨了机器与人的统一性——「人或机器都是通过反馈完成某种目的的实现」,因此他揭示了用机器仿真人的可能性,这为人工智能的提出奠定了重要基础。维纳也是最早注意到心理学、脑科学和工程学应相互交叉的人之一,这促使了后来认知科学的发展。

2、成绩

A、机器定理证明

机器定理证明——用计算机程序代替人类进行自动推理来证明数学定理——是最先取得重大突破的领域之一。

B、四色猜想

1976年,凯尼斯·阿佩尔(Kenneth Appel)和沃夫冈·哈肯(Wolfgang Haken)等人利用人工和计算机混合的方式证明了一个著名的数学猜想:四色猜想(现在称为四色定理)。这个猜想表述起来非常简单易懂:对于任意的地图,我们最少仅用四种颜色就可以染色该地图,并使得任意两个相邻的国家不会重色;然而证明起来却异常烦琐。配合着计算机超强的穷举和计算能力,阿佩尔等人把这个猜想证明了。

C、机器学习:跳棋程序

机器学习领域也获得了实质的突破,在1956年的达特茅斯会议上,阿瑟·萨缪尔(Arthur Samuel)研制了一个跳棋程序,该程序具有自学习功能,可以从比赛中不断总结经验提高棋艺。1959年,该跳棋程序打败了它的设计者萨缪尔本人,过了3年后,该程序已经可以击败美国一个州的跳棋冠军。

D、字符识别程序

1956年,奥利弗·萨尔夫瑞德(Oliver Selfridge)研制出第一个字符识别程序,开辟了模式识别这一新领域。

3、瓶颈

1965年,机器定理证明领域遇到了瓶颈,计算机推了数十万步也无法证明两个连续函数之和仍是连续函数。萨缪尔的跳棋程序也没那么神气了,它停留在了州冠军的层次,无法进一步战胜世界冠军。

最糟糕的事情发生在机器翻译领域,对于人类自然语言的理解是人工智能中的硬骨头。计算机在自然语言理解与翻译过程中表现得极其差劲,一个最典型的例子就是下面这个著名的英语句子:

The spirit is willing but the flesh is weak. (心有余而力不足。)

当时,人们让机器翻译程序把这句话翻译成俄语,然后再翻译回英语以检验效果,得到的句子竟然是:

The wine is good but the meet is spoiled.(酒是好的,肉变质了。)

这简直是驴唇不对马嘴嘛。怪不得有人挖苦道,美国政府花了2000万美元为机器翻译挖掘了一座坟墓。

总而言之,越来越多的不利证据迫使政府和大学削减了人工智能的项目经费,这使得人工智能进入了寒冷的冬天。来自各方的事实证明,人工智能的发展不可能像人们早期设想的那样一帆风顺,人们必须静下心来冷静思考。

4、走出困境:专家系统-“知识”就是力量

费根鲍姆分析到,传统的人工智能之所以会陷入僵局,就是因为他们过于强调通用求解方法的作用,而忽略了具体的知识。仔细思考我们人类的求解过程就会发现,知识无时无刻不在起着重要作用。因此,人工智能必须引入知识。

然而,好景不长,在专家系统、知识工程获得大量的实践经验之后,弊端开始逐渐显现了出来,这就是知识获取。

二、人工智能主流学派

专家系统、知识工程的运作需要从外界获得大量知识的输入,而这样的输入工作是极其费时费力的,这就是知识获取的瓶颈。于是,在20世纪80年代,机器学习这个原本处于人工智能边缘地区的分支一下子成为了人们关注的焦点。

尽管传统的人工智能研究者也在奋力挣扎,但是人们很快发现,如果采用完全不同的世界观,即让知识通过「自下而上的方式涌现」,而不是让专家们自上而下地设计出来,那么机器学习的问题其实可以得到很好地解决。这就好比我们教育小孩子,传统人工智能好像填鸭式教学,而新的方法则是启发式教学:让孩子自己来学。

在人工智能界,很早就有人提出过自下而上的涌现智能的方案,只不过它们从来没有引起大家的注意。一批人认为可以通过仿真大脑的结构(神经网络)来实现,而另一批人则认为可以从那些简单生物体与环境互动的模式中寻找答案。他们分别被称为连接学派和行为学派。与此相对,传统的人工智能则被统称为符号学派。自20世纪80年代开始,到20世纪90年代,这三大学派形成了三足鼎立的局面。

1、符号学派:物理符号系统假说

作为符号学派的代表,人工智能的创始人之一约翰·麦卡锡在自己的网站上挂了一篇文章《什么是人工智能》,为大家阐明什么是人工智能(按照符号学派的理解)。

人工智能是关于如何制造智能机器,特别是智能的计算机程序的科学和工程。它与使用机器来理解人类智能密切相关,但人工智能的研究并不需要局限于生物学上可观察到的那些方法。

麦卡锡特意强调人工智能研究并不一定局限于仿真真实的生物智能行为,而是更强调它的智能行为和表现的方面,这一点和图灵测试的想法是一脉相承的。

另外,麦卡锡还突出了利用计算机程序来仿真智能的方法。他认为,智能是一种特殊的软件,与实现它的硬件并没有太大的关系。

纽厄尔和西蒙则把这种观点概括为“物理符号系统假说”(physical symbolic system hypothesis)。

该假说认为,任何能够将物理的某些模式(pattern)或符号进行操作并转化成另外一些模式或符号的系统,就有可能产生智能的行为。

这种物理符号可以是通过高低电位的组成或者是灯泡的亮灭所形成的霓虹灯图案,当然也可以是人脑神经网络上的电脉冲信号。这也恰恰是“符号学派”得名的依据。

在“物理符号系统假说”的支持下,符号学派把焦点集中在人类智能的高级行为,如推理、规划、知识表示等方面。

符号学派典型应用:人机大战

a、深蓝:国际象棋

1988年,IBM开始研发可以与人下国际象棋的智能程序“深思”——一个可以以每秒70万步棋的速度进行思考的超级程序。到了1991年,“深思II”已经可以战平澳大利亚国际象棋冠军达瑞尔·约翰森(Darryl Johansen)。1996年,“深思”的升级版“深蓝”开始挑战著名的人类国际象棋世界冠军加里·卡斯帕罗夫(Garry Kasparov),却以2:4败下阵来。但是,一年后的5月11日,“深蓝”最终以3.5:2.5的成绩战胜了卡斯帕罗夫,成为了人工智能的一个里程碑。

人机大战终于以计算机的胜利划上了句号。那是不是说计算机已经超越了人类了呢?要知道,计算机通过超级强大的搜索能力险胜了人类——当时的“深蓝”已经可以在1秒钟内算两亿步棋。而且,“深蓝”存储了100年来几乎所有的国际特级大师的开局和残局下法。另外还有四位国际象棋特级大师亲自“训练”“深蓝”,真可谓是超豪华阵容。所以,最终的结果很难说是计算机战胜了人,更像是一批人战胜了另一批人。最重要的是,国际象棋上的博弈是在一个封闭的棋盘世界中进行的,而人类智能面对的则是一个复杂得多的开放世界。

b、Watson:知识问答

这次的比赛是自由的“知识问答”,这种竞赛环境比国际象棋开放得多,因为提问的知识可以涵盖时事、历史、文学、艺术、流行文化、科学、体育、地理、文字游戏等多个方面。因此,这次的机器胜利至少证明了计算机同样可以在开放的世界中表现得不逊于人类。

“这场人机大战的游戏叫作《危险》(Jeopardy),是美国一款著名的电视节目。在节目中,主持人通过自然语言给出一系列线索,然后,参赛队员要根据这些线索用最短的时间把主持人描述的人或者事物猜出来,并且以提问的方式回答。例如当节目主持人给出线索“这是一种冷血的无足的冬眠动物”的时候,选手应该回答“什么是蛇?”而不是简单地回答“蛇”。由于问题会涉及各个领域,所以一般知识渊博的人类选手都很难获胜。

然而,在2011年2月14日到2月16日期间的《危险》比赛中,IBM公司的超级计算机沃森(Watson)却战胜了人类选手。这一次,IBM打造的沃森是一款完全不同于以往的机器。首先,它必须是一个自然语言处理的高手,因为它必须在短时间内理解主持人的提问,甚至有的时候还必须理解语言中的隐含意思。而正如我们前文所说,自然语言理解始终是人工智能的最大难题。其次,沃森必须充分了解字谜,要领会双关语,并且脑中还要装满诸如莎士比亚戏剧的独白、全球主要的河流和各国首都等知识,所有这些知识并不限定在某个具体的领域。所以,沃森的胜利的确是人工智能界的一个标志性事件。

2、连接学派

人类的智慧主要来源于大脑的活动,而大脑则是由一万亿个神经元细胞通过错综复杂的相互连接形成的。于是,人们很自然地想到,我们是否可以通过仿真大量神经元的集体活动来仿真大脑的智力呢?

对比物理符号系统假说,我们不难发现,如果将智力活动比喻成一款软件,那么支撑这些活动的大脑神经网络就是相应的硬件。

主张神经网络研究的科学家实际上在强调硬件的作用,认为高级的智能行为是从大量神经网络的连接中自发出现的,因此他们也被称为连接学派。

A、神经网络

a、麦卡洛克-匹兹模型

1943年,沃伦·麦卡洛克(Warren McCulloch)和沃尔特·匹兹(Walter Pitts)二人提出了一个单个神经元的计算模型。

在这个模型中,左边的 I1, I2, … ,IN 为输入单元,可以从其他神经元接受输出,然后将这些信号经过加权(W1, W2, … ,WN)传递给当前的神经元并完成汇总。如果汇总的输入信息强度超过了一定的阈值(T),则该神经元就会发放一个信号 y 给其他神经元或者直接输出到外界。

麦卡洛克-匹兹模型

b、感知机

1957年,弗兰克·罗森布拉特(Frank Rosenblatt)在麦卡洛克-匹兹模型的基础上加入了学习算法,该模型命名为:感知机。

感知机可以根据模型的输出 y 与我们希望模型的输出 y * 之间的误差,调整权重 W1, W2, … ,WN 来完成学习。

我们可以形象地把感知机模型理解为一个装满了大大小小水龙头(W1, W2, … ,WN)的水管网络,学习算法可以调节这些水龙头来控制最终输出的水流,并让它达到我们想要的流量,这就是学习的过程。

这样,感知机就好像一个可以学习的小孩,不管什么问题,只要我们明确了想要的输入和输出之间的关系,不管什么问题,都可以通过学习来解决。至少感知机的拥护者是这么认为的。

1969年,人工智能界的权威人士马文·闵斯基通过理论指出,感知机不可能学习任何问题,连一个最简答的问题,判断一个两位数的二进制数是否包含0或1(即XOR)问题都无法识别。

B、多层感知机

a、原理

辛顿的出发点很简单——“多则不同”:只要把多个感知机连接成一个分层的网络,那么,它就可以圆满地解决闵斯基的问题。

多层感知机

“人多吃得多”,那么多个神经元,可能有几百甚至上千个参数需要调节,我们如何对这样复杂的网络进行训练呢?辛顿等人发现,采用阿瑟·布赖森提出的传播算法(Back propagationalgorithm,简称BP算法)就可以解决「多层网络训练问题」。

b、传播算法

还是以水流管道为例来说明。当网络执行决策的时候,水从左侧的输入节点往右流,直到输出节点将水吐出。而在训练阶段,则需要从右往左一层层的调节水龙头,要使水流量达到要求,只要让每一层的调节只对它右面一层负责就可以了。这就是反向传播算法。

C、统计学习理论

a、背景:连接学派缺少理论支持

然而,连接学派的科学家们很快又陷入了困境。虽然各种神经网络可以解决问题,但是,它们究竟为什么会成功以及为什么在有些问题上会屡遭失败,却没有人能说得清楚。对网络运行原理的无知,也使得人们对如何提高神经网络运行效率的问题无从下手。

b、原理

2000年左右,弗拉基米尔·万普尼克(Vladimir Naumovich Vapnik)和亚历克塞·泽范兰杰斯(Alexey Yakovlevich Chervonenkis)提出了统计学习理论。

该理论大意可概括为“杀鸡焉用宰牛刀”。我们的模型一定要与待解决的问题相匹配,如果模型过于简单,而问题本身的复杂度很高,就无法得到预期的精度。反过来,若问题本身简单,而模型过于复杂,那么模型就会比较僵死,无法举一反三,即出现所谓的“过拟合”(overfitting)现象。统计学习理论的精神与奥卡姆剃刀原理有着深刻的联系

c、奥卡姆剃刀原理

威廉·奥卡姆(William Occum,1287—1347)是中世纪时期的著名哲学家,他留下的最重要的遗产就是奥卡姆剃刀原理。该原理说,如果对于同一个问题有不同的解决方案,那么我们应该挑选其中最简单的一个。

然而,统计学习理论也有很大的局限性,因为理论的严格分析仅仅限于一类特殊的神经网络模型:支持矢量机(Supporting Vector Machine)。而对于更一般的神经网络,人们还未找到统一的分析方法。

3、行为学派


上一篇 下一篇

猜你喜欢

热点阅读