《AI 3.0》读书笔记
《AI 3.0》读书笔记 序1
《AI 3.0》读书笔记 序2
《AI 3.0》读书笔记 序3
《AI 3.0》读书笔记 译者序
01从起源到遭遇寒冬,心智是人工智能一直无法攻克的堡垒
AI起源
1955年约翰·麦卡锡联合申农(信息论创立者)、明斯基(人工智能大师,《心智社会》的作者)、罗彻斯特(IBM计算机设计者之一),发起了达特茅斯项目(Dartmouth Project),这个项目计划在1956年夏天开展,为期两个月,共10个人参与,他们4位组织者向洛克菲勒基金会递交了一份提案,请求其为这一夏季研讨会提供资助。他们写道,这一提案是基于“学习的每个方面,或者说智能的任何特征,从原则上来说都可以被精确地描述,因此,可以制造一台机器来进行模拟”。该提案列出了一系列需要讨论的主题,如自然语言处理(natural-language processing, NLP)、神经网络、机器学习、抽象概念和推理、创造力等,这些主题至今仍定义着人工智能这一领域。
第二年项目正式启动,会议的主要议题有以下7个方面:
- 自动计算机(自动指可编程)
- 如何为计算机编程,使其能够使用语言
- 神经网络
- 计算规模理论
- 自我改进(指机械学习)
- 抽象
- 随机性与创造性
会议取得的一些非常重要的成果:
- 该领域得到了命名;在会议上麦卡锡首次提出“人工智能”(artificial intelligence)这一概念。
- 其总体目标也基本明确了,使人工智能成为计算机科学中一门独立的经验科学。
- 即将成为该领域“四大开拓者”的麦卡锡、明斯基、艾伦·纽厄尔(Allen Newell)和西蒙得以会面,并对未来做出了一些规划,而且不知出于什么原因,这4个人开完会后都对该领域持极大的乐观态度。
- 20世纪60年代初,麦卡锡创立了斯坦福人工智能项目(Stanford Artificial Intelligence Project),其目标是:“在10年内打造一台完全智能的机器。”
- 大概在同一时间,后来的诺贝尔奖得主西蒙预测:“用不了20年,机器就能够完成人类所能做的任何工作。”
- 不久之后,麻省理工学院人工智能实验室(MIT AI Lab)的创始人明斯基就预言:“在一代人之内,关于创造‘人工智能’的问题将得到实质性的解决。”
“定义你的术语……否则我们将永远无法相互理解。”18世纪的哲学家伏尔泰的忠告
人工智能的核心概念——“智能”(intelligence)仍然没有明晰的定义。
针对类似“智能”及其引申词,如“思想”(thinking)、“认知”(cognition)、“意识”(consciousness)、“情感”(emotion)这样的词语,明斯基创造了“手提箱式词汇”(suitcase word)这一术语,其意思是:每个词语就像是打包封装了不同含义的手提箱。人工智能就经过了“打包”,在不同的上下文中承担不同的含义。
智能的定义可能是二元的(一个物体是或不是智能的)、在一个连续统上的(一个物体比另一个物体更智能),或者是多维的(一个人可以具有高语言智能和低情感智能)。
人工智能领域在很大程度上忽略了这些各式各样的区别,它聚焦于两方面的工作:
- 一方面是科学性工作;
- 在科学性工作中,人工智能研究者通过将“自然的”即生物学上的智能机制嵌入计算机的方式来研究它;
- 另一方面是实践性工作。
- 而在实践性工作中,人工智能研究者单纯地希望创造出像人类一样,甚至可以比人类更好地执行任务的计算机程序,并不担心这些程序是否真的在以人类的思维方式进行思考。
人工智能方法论
- 数学家提倡将数学逻辑和演绎推理作为理性思维的语言;
- 归纳法,这是一种运用程序从数据中提取统计特征,并使用概率来处理不确定性的方法;
- 应该从生物学和心理学中汲取灵感来创造类似大脑的程序。
- 2010年以后,主流的人工智能研究范式,深度学习,其工具就是深度神经网络(deep neural network,DNN)
“人工智能”不等同于深度学习:
人工智能是一个包括广泛研究方法的领域,其目标是创造具有智能的机器,而深度学习只是实现这一目标的一种方法。深度学习本身是机器学习领域众多研究方法中的一种,后者又是人工智能的一个子领域,着重关注机器从数据或自身的“经验”中进行学习。
符号人工智能和亚符号人工智能
早期人工智能研究领域的一个哲学分歧,符号人工智能和亚符号人工智能之间的分歧。
- 符号人工智能,力图用数学逻辑解决通用问题
- 符号人工智能最初是受到数学逻辑以及人们描述自身意识思考过程的方式的启发。
- 一个符号人工智能程序里的知识包括对人类来说通常可以理解的单词或短语(即“符号”),以及可供程序对这些符号进行组合和处理以执行指定任务的规则。
- 对于计算机,符号的意义来自它们之间组合、相互关联和相互作用的方式。
- 符号人工智能的支持者认为,想要在计算机上获得智能,并不需要构建模仿大脑运行的程序。相反,其观点是,通用智能完全可以通过正确的符号处理程序来获得。我同意这种看法,构建这样一个程序要比构建传教士和食人者这个例子中所使用的程序复杂得多,但它仍然会由符号、符号组合、符号规则和运算组成。
- 以专家系统最为著名。在专家系统中,人类专家为计算机程序设计用于医疗诊断和法律决策等任务的规则。
- 感知机,依托DNN的亚符号人工智能
- 亚符号人工智能方法则从神经科学中汲取灵感,并试图捕捉隐藏在所谓的“快速感知”背后的一些无意识的思考过程,如识别人脸或识别语音等。
- 亚符号人工智能程序不包含我们在前文的传教士和食人者的例子中看到的那种人类可理解的语言。与之相反,一个亚符号人工智能程序本质上是一堆等式——通常是一大堆难以理解的数字运算。
- 亚符号人工智能程序此类系统被设计为从数据中学习如何执行任务。
- 亚符号、受大脑启发的人工智能程序的一个早期例子是感知机,它由心理学家弗兰克·罗森布拉特于20世纪50年代末提出(随后很快就出现了“认知机”和“神经认知机”)。感知机是人工智能的一个重要里程碑,同时也催生了现代人工智能最成功的工具——DNN(deep neural network,深度神经网络)。
- 一个神经元把它从其他神经元接收到的所有输入信号加起来,如果达到某个特定的阈值水平,它就会被激活。重要的是,一个给定的神经元与其他神经元的不同连接(突触)有不同的强度,当计算信号输入总和的时候,给定的神经元会给弱连接分配较少的权重,而将更多的权重分配给强连接的输入。神经科学家认为,弄明白神经元之间的连接强度是如何调整的,是了解大脑如何学习的关键。
- 与神经元类似,感知机将其接收到的输入信号相加,如果得到的和等于或大于感知机的阈值,则感知机输出1(被激活),否则感知机输出0(未被激活)。为了模拟神经元的不同连接强度,罗森布拉特建议给感知机的每个输入分配一个权重,在求和时,每个输入在加进总和之前都要先乘以其权重。感知机的阈值是由程序员设置的一个数字,它也可以由感知机通过自身学习得到。
- 感知机是一个根据加权输入的总和是否满足阈值来做出是或否(输出1或0)的决策的简易程序。
- 例如,你会从一些朋友那里了解到他们有多喜欢某一部电影,但你相信其中几个朋友对于电影的品位比其他人更高,因此,你会给他们更高的权重。如果朋友喜爱程度的总量足够大的话(即大于某个无意识的阈值),你就会决定去看这部电影。如果感知机有朋友的话,那么它就会以这种方式来决定是否看一部电影。
感知机的权重和阈值
感知机中没有任何对其需要执行的任务进行描述的明确规则,感知机中的所有“知识”都被编码在由数字组成的权重和阈值中。
我们如何为一个给定的任务准确地设定正确的权重和阈值呢?罗森布拉特再次给出了一个受大脑启发的答案:感知机应该通过自己的学习获得这些数值。
它应该如何学习获得正确的数值呢?与当时流行的行为心理学理论一样,罗森布拉特的观点是:感知机应该通过条件计算(conditioning)来学习。这是受到了行为主义心理学家伯勒斯·斯金纳(Burrhus F. Skinner)的启发,斯金纳通过给老鼠和鸽子以正向和负向的强化来训练它们执行任务,罗森布拉特认为感知机也应该在样本上进行类似的训练:在触发正确的行为时奖励,而在犯错时惩罚。如今,这种形式的条件计算在人工智能领域被称为监督学习(supervised learning)。在训练时,给定学习系统一个样本,它就产生一个输出,然后在这时给它一个“监督信号”,提示它此输出与正确的输出有多大偏离,然后,系统会根据这个信号来调整它的权重和阈值。
监督学习
监督学习的概念是现代人工智能的一个关键部分。监督学习通常需要大量的正样本(例如,由不同的人书写的数字8的集合)和负样本(例如,其他手写的、不包括8的数字集合)。每个样本都由人来标记其类别——此处为“8”和“非8”两个类别,这些标记将被用作监督信号。用于训练系统的正负样本,被称为“训练集”(training set),剩余的样本集合,也就是“测试集”(test set),用于评估系统在接受训练后的表现性能,以观察系统在一般情况下,而不仅仅是在训练样本上回答的正确率。
感知机学习算法(perceptron-learning algorithm)
算法指的是计算机为解决特定问题而采取的步骤的“配方”。
罗森布拉特对人工智能的首要贡献是他对一个特定算法的设计,即感知机学习算法(perceptron-learning algorithm),感知机可以通过这一算法从样本中得到训练,来确定能够产生正确答案的权重和阈值。
工作原理
- 最初,感知机的权重和阈值被设置为介于-1和1之间的随机数。在我们的案例中,第一个输入的权重可被设置为0.2,第二个输入的权重被设置为-0.6,而阈值则被设置为0.7。一个名为随机数生成器(random-number generator)的计算机程序可以轻松生成这些初始值。
- 接下来开始训练。
2.1. 首先,将第一个训练样本输入感知机,此时,感知机还不知道正确的分类标记。感知机将每个输入乘以它的权重,并对所有结果求和,再将求得的和与阈值进行比较,然后输出1或0,其中,输出1代表它的输入为8,输出0代表它的输入不是8。
2.2. 接下来,将感知机的输出和人类标记的正确答案(“8”或者“非8”)做比较。如果感知机给出的答案是正确的,则权重和阈值不会发生变化,但是如果感知机是错误的,其权重和阈值就会发生变化,以使感知机在这个训练样本上给出的答案更接近于正确答案。
2.3. 此外,每个权重的变化量取决于与其相关的输入值,也就是说,对错误的“罪责”的分配取决于哪个输入的影响更大或更小。例如,在图1-3(A)的“8”中,强度较低的像素(这里为黑色)影响较大,而强度为255的像素(这里为纯白色)则不会有任何影响(对此感兴趣的读者,可以查阅我在注释中介绍的一些数学细节)。 - 下一个训练将重复上述整个过程。感知机会将这个训练过程在所有的训练样本上运行很多遍,每一次出错时,感知机都会对权重和阈值稍做修改。
3.1. 正如斯金纳在训练鸽子时发现的:通过大量试验循序渐进地学习,其效果更好,如果在一次试验中,权重和阈值的改动过大,系统就可能以学到错误的东西告终。
3.2. 例如,过度关注于8的上半部分和下半部分的大小总是完全相等的。在每个训练样本上进行多次重复训练之后,(我们希望)系统最终将获得一组能够在所有训练样本上都能得出正确答案的权重和阈值。此时,我们可以用测试样本对感知机进行评估,以观察它在未曾训练过的图像上的表现。 - 如果你只关心数字8,那么这个“8”探测器就很有用,但若要识别其他数字呢?其实很简单,我们只需将感知机扩展到10个输出,每个输出对应一个数字就可以了。给定一个手写数字样本,与该数字对应的输出应该是1,而其他所有输出都应该是0。这个扩展的感知机可以使用感知机学习算法来获得其所有的权重和阈值,只需为它提供足够多的训练样本即可。
罗森布拉特等人证明了感知机网络能够通过学习执行相对简单的感知任务,而且罗森布拉特在数学上证明了:对于一个特定(即便非常有限)的任务类别,原则上只要感知机经过充分的训练,就能学会准确无误地执行这些任务。
用感知机来强调人工智能的符号方法和亚符号方法之间的主要区别。
- 感知机的“知识”由它所学到的权重和阈值这对数值组成,这一事实,意味着我们很难发现感知机在执行识别任务时使用的规则。感知机的规则不是符号化的,不像通用问题求解器的符号,如“LEFT-BANK”“MISSIONARIES”“MOVE”等。感知机的权重和阈值不代表特定的概念,这些数字也很难被转换成人类可以理解的规则。这一情况在当下具有上百万个权重的神经网络中变得更加复杂。
- 如果我能打开你的大脑,并对其中上千亿个神经元中的一部分进行观察,我可能并不能清楚你的想法或者你做某个特定决定时所用的规则。然而,人类的大脑已经产生了语言,它允许你使用符号(单词和短语)来向我传达你的想法,或者你做某件事的目的。从这个意义上说,我们的神经刺激可以被认为是亚符号化的,而以它们为基础的我们的大脑不知何故却创造了符号。
- 类比于大脑中的亚符号化的神经网络,感知机以及更复杂的模拟神经元网络,也被称作“亚符号”派。这一派的支持者认为:若要实现人工智能,类似语言的符号和控制符号处理的规则,不能像在通用问题求解器中那样直接进行编程,而必须以类似于智能符号处理从大脑中涌现的方式,从类似于神经元的结构中涌现出来。
感知机是一条死胡同
在1956年的达特茅斯会议之后,符号人工智能阵营占据了人工智能的主导地位。20世纪60年代初,当罗森布拉特正积极投身于感知机的研究工作时,人工智能的四大创始人,也是符号人工智能阵营的伟大信徒,都各自创建了颇具影响力且资金充足的人工智能实验室。
- 人工智能的四大创始人
- 明斯基在麻省理工学院;
- 麦卡锡在斯坦福大学;
- 西蒙与纽厄尔在卡内基梅隆大学。
1969年,明斯基和他在麻省理工学院的同事西摩·佩珀特(Seymour Papert)出版了《感知机》(Perceptrons)。
明斯基和佩珀特指出:如果一个感知机通过添加一个额外的模拟神经元“层”来增强能力,那么原则上,感知机能够解决的问题类型就广泛得多,带有这样一个附加层的感知机叫作多层神经网络。多层神经网络构成了许多现代人工智能技术的基础。
明斯基和佩珀特对多层神经网络的推测:感知机有很多引人关注的特性,它的线性特征、有趣的学习定理,以及它作为一种并行计算而具有的明显的范式简洁性,但没有理由认为其中任何一个优点可以延展到多层神经网络。无论如何,我们的直觉判断是:这些延展是“不育的”,而如何阐明或驳斥我们的这一判断是一个重要的研究课题。
多层神经网络是被明斯基和佩珀特所摒弃的、认为很有可能“不育的”带有扩展层的感知机。
泡沫破碎,进入人工智能的寒冬
英国科学研究理事会的报告特别指出:“面向高度专业化的问题领域的专家系统,只有当其编程非常充分地借鉴了人类经验和人类智能在相关领域的知识时,才有前景,但得出的结论是,迄今为止的结果,对通用问题求解器试图在更广泛的领域内模仿人类(大脑)活动来解决问题而言,彻底令人沮丧。这样一个通用目标程序,似乎仍然和以往一样,离人工智能领域梦寐以求的长期目标相当遥远。”
人工智能领域的泡沫不断产生又破灭这种循环的一个早期例子。这一循环是这样运转的:
- 第一阶段,新想法在研究领域得到了大量的支持。相关研究人员承诺人工智能即将取得突破性的成果,并被新闻媒体各种炒作。政府资助部门和风险投资者向学术研究界和商业初创公司注入大量资金。
- 第二阶段,曾经承诺的人工智能突破没有如期实现,或者远没有当初承诺的那么令人满意。政府资助和风险资本枯竭,初创公司倒闭,人工智能研究放缓。
研究人工智能的群体已经熟悉了这一模式:先是“人工智能的春天”,紧接着是过度的承诺和媒体炒作,接下来便是“人工智能的寒冬”。从某种程度上来说,这一现象以5~10年为周期在不断上演。
看似容易的事情其实很难
人工智能计算机的最初目标是:计算机能够以自然语言与我们进行交谈,描述它们通过摄像头“眼睛”看到的事物,在看到几个例子之后就可以学会新的概念。这些小孩子做起来都很容易的事情,对人工智能来说却是比诊断复杂疾病、在国际象棋和围棋中击败人类冠军,以及解决复杂代数问题等更加难以实现的事情。
达特茅斯学院研讨会举办50年后,
麦卡锡总结出了最简单的一个教训:“人工智能比我们认为的要难。”
明斯基指出,事实上,对人工智能的研究揭示了一个悖论:“看似容易的事情其实都很难。”
明斯基所言:“总的来说,我们完全不清楚我们的心智最擅长什么。”