"); //-->
以下文章来源于算法进阶 ,作者算法进阶
人工智能将和电力一样具有颠覆性 。
——吴恩达
如同蒸汽时代的蒸汽机、电气时代的发电机、信息时代的计算机和互联网,人工智能(AI)正赋能各个产业,推动着人类进入智能时代。
本文从介绍人工智能及主要的思想派系,进一步系统地梳理了其发展历程、标志性成果并侧重其算法思想介绍,将这段 60余年几经沉浮的历史,以一个清晰的脉络呈现出来,以此展望人工智能(AI)未来的趋势。
人工智能简介
1.1 人工智能研究目的
人工智能(Artificial Intelligence,AI)研究目的是通过探索智慧的实质,扩展人类智能——促使智能主体会听(语音识别、机器翻译等)、会看(图像识别、文字识别等)、会说(语音合成、人机对话等)、会思考(人机对弈、专家系统等)、会学习(知识表示,机器学习等)、会行动(机器人、自动驾驶汽车等)。一个经典的AI定义是:“ 智能主体可以理解数据及从中学习,并利用知识实现特定目标和任务的能力。(A system’s ability to correctly interpret external data, to learn from such data, and to use those learnings to achieve specific goals and tasks through flexible adaptation)”
1.2 人工智能的学派
在人工智能的发展过程中,不同时代、学科背景的人对于智慧的理解及其实现方法有着不同的思想主张,并由此衍生了不同的学派,影响较大的学派及其代表方法如下:
其中,符号主义及联结主义为主要的两大派系:
“符号主义”(Symbolicism),又称逻辑主义、计算机学派,认为认知就是通过对有意义的表示符号进行推导计算,并将学习视为逆向演绎,主张用显式的公理和逻辑体系搭建人工智能系统。如用决策树模型输入业务特征预测天气:
“联结主义”(Connectionism),又叫仿生学派,笃信大脑的逆向工程,主张是利用数学模型来研究人类认知的方法,用神经元的连接机制实现人工智能。如用神经网络模型输入雷达图像数据预测天气:
人工智能发展史
从始至此,人工智能(AI)便在充满未知的道路探索,曲折起伏,我们可将这段发展历程大致划分为5个阶段期:
起步发展期:1943年—20世纪60年代
反思发展期:20世纪70年代
应用发展期:20世纪80年代
平稳发展期:20世纪90年代—2010年
蓬勃发展期:2011年至今
2.1 起步发展期:1943年—20世纪60年代
人工智能概念的提出后,发展出了符号主义、联结主义(神经网络),相继取得了一批令人瞩目的研究成果,如机器定理证明、跳棋程序、人机对话等,掀起人工智能发展的第一个高潮。
1943年,美国神经科学家麦卡洛克(Warren McCulloch)和逻辑学家皮茨(Water Pitts)提出神经元的数学模型,这是现代人工智能学科的奠基石之一。
1950年,艾伦·麦席森·图灵(Alan Mathison Turing)提出“图灵测试”(测试机器是否能表现出与人无法区分的智能),让机器产生智能这一想法开始进入人们的视野。
1950年,克劳德·香农(Claude Shannon)提出计算机博弈。
1956年,达特茅斯学院人工智能夏季研讨会上正式使用了人工智能(artificial intelligence,AI)这一术语。这是人类历史上第一次人工智能研讨,标志着人工智能学科的诞生。
1957年,弗兰克·罗森布拉特(Frank Rosenblatt)在一台IBM-704计算机上模拟实现了一种他发明的叫做“感知机”(Perceptron)的神经网络模型。
感知机可以被视为一种最简单形式的前馈式人工神经网络,是一种二分类的线性分类判别模型,其输入为实例的特征向量(x1,x2...),神经元的激活函数f为sign,输出为实例的类别(+1或者-1),模型的目标是要将输入实例通过超平面将正负二类分离。
1958年,David Cox提出了logistic regression。
LR是类似于感知机结构的线性分类判别模型,主要不同在于神经元的激活函数f为sigmoid,模型的目标为(最大似然)极大化正确分类概率。
1959年,Arthur Samuel给机器学习了一个明确概念:Field of study that gives computers the ability to learn without being explicitly programmed.(机器学习是研究如何让计算机不需要显式的程序也可以具备学习的能力)。
1961年,Leonard Merrick Uhr 和 Charles M Vossler发表了题目为A Pattern Recognition Program That Generates, Evaluates and Adjusts its Own Operators 的模式识别论文,该文章描述了一种利用机器学习或自组织过程设计的模式识别程序的尝试。
1965年,古德(I. J. Good)发表了一篇对人工智能未来可能对人类构成威胁的文章,可以算“AI威胁论”的先驱。他认为机器的超级智能和无法避免的智能爆炸最终将超出人类可控范畴。后来著名科学家霍金、发明家马斯克等人对人工智能的恐怖预言跟古德半个世界前的警告遥相呼应。
1966 年,麻省理工学院科学家Joseph Weizenbaum 在 ACM 上发表了题为《ELIZA-a computer program for the study of natural language communication between man and machine》文章描述了ELIZA 的程序如何使人与计算机在一定程度上进行自然语言对话成为可能,ELIZA 的实现技术是通过关键词匹配规则对输入进行分解,而后根据分解规则所对应的重组规则来生成回复。
1967年,Thomas等人提出K最近邻算法(The nearest neighbor algorithm)。
KNN的核心思想,即给定一个训练数据集,对新的输入实例Xu,在训练数据集中找到与该实例最邻近的K个实例,以这K个实例的最多数所属类别作为新实例Xu的类别。
1968年,爱德华·费根鲍姆(Edward Feigenbaum)提出首个专家系统DENDRAL,并对知识库给出了初步的定义,这也孕育了后来的第二次人工智能浪潮。该系统具有非常丰富的化学知识,可根据质谱数据帮助化学家推断分子结构。
专家系统(Expert Systems)是AI的一个重要分支,同自然语言理解,机器人学并列为AI的三大研究方向。它的定义是使用人类专家推理的计算机模型来处理现实世界中需要专家作出解释的复杂问题,并得出与专家相同的结论,可视作“知识库(knowledge base)”和“推理机(inference machine)” 的结合。
1969年,“符号主义”代表人物马文·明斯基(Marvin Minsky)的著作《感知器》提出对XOR线性不可分的问题:单层感知器无法划分XOR原数据,解决这问题需要引入更高维非线性网络(MLP, 至少需要两层),但多层网络并无有效的训练算法。这些论点给神经网络研究以沉重的打击,神经网络的研究走向长达10年的低潮时期。
2.2 反思发展期:20世纪70年代
人工智能发展初期的突破性进展大大提升了人们对人工智能的期望,人们开始尝试更具挑战性的任务,然而计算力及理论等的匮乏使得不切实际目标的落空,人工智能的发展走入低谷。
1974年,哈佛大学沃伯斯(Paul Werbos)博士论文里,首次提出了通过误差的反向传播(BP)来训练人工神经网络,但在该时期未引起重视。
BP算法的基本思想不是(如感知器那样)用误差本身去调整权重,而是用误差的导数(梯度)调整。通过误差的梯度做反向传播,更新模型权重, 以下降学习的误差,拟合学习目标,实现'网络的万能近似功能'的过程。
1975年,马文·明斯基(Marvin Minsky)在论文《知识表示的框架》(A Framework for Representing Knowledge)中提出用于人工智能中的知识表示学习框架理论。
1976年,兰德尔·戴维斯(Randall Davis)构建和维护的大规模的知识库,提出使用集成的面向对象模型可以提高知识库(KB)开发、维护和使用的完整性。
1976年,斯坦福大学的肖特利夫(Edward H. Shortliffe)等人完成了第一个用于血液感染病的诊断、治疗和咨询服务的医疗专家系统MYCIN。
1976年,斯坦福大学的博士勒纳特发表论文《数学中发现的人工智能方法——启发式搜索》,描述了一个名为“AM”的程序,在大量启发式规则的指导下开发新概念数学,最终重新发现了数百个常见的概念和定理。
1977年,海斯·罗思(Hayes. Roth)等人的基于逻辑的机器学习系统取得较大的进展,但只能学习单一概念,也未能投入实际应用。
1979年,汉斯·贝利纳(Hans Berliner)打造的计算机程序战胜双陆棋世界冠军成为标志性事件。(随后,基于行为的机器人学在罗德尼·布鲁克斯和萨顿等人的推动下快速发展,成为人工智能一个重要的发展分支。格瑞·特索罗等人打造的自我学习双陆棋程序又为后来的强化学习的发展奠定了基础。)
2.3 应用发展期:20世纪80年代
人工智能走入应用发展的新高潮。专家系统模拟人类专家的知识和经验解决特定领域的问题,实现了人工智能从理论研究走向实际应用、从一般推理策略探讨转向运用专门知识的重大突破。而机器学习(特别是神经网络)探索不同的学习策略和各种学习方法,在大量的实际应用中也开始慢慢复苏。
1980年,在美国的卡内基梅隆大学(CMU)召开了第一届机器学习国际研讨会,标志着机器学习研究已在全世界兴起。
1980年,德鲁·麦狄蒙(Drew McDermott)和乔恩·多伊尔(Jon Doyle)提出非单调逻辑,以及后期的机器人系统。
1980年,卡耐基梅隆大学为DEC公司开发了一个名为XCON的专家系统,每年为公司节省四千万美元,取得巨大成功。
1981年,保罗(R.P.Paul)出版第一本机器人学课本,“Robot Manipulator:Mathematics,Programmings and Control”,标志着机器人学科走向成熟。
1982年,马尔(David Marr)发表代表作《视觉计算理论》提出计算机视觉(Computer Vision)的概念,并构建系统的视觉理论,对认知科学(CognitiveScience)也产生了很深远的影响。
1982年,约翰·霍普菲尔德(John Hopfield) 发明了霍普菲尔德网络,这是最早的RNN的雏形。霍普菲尔德神经网络模型是一种单层反馈神经网络(神经网络结构主要可分为前馈神经网络、反馈神经网络及图网络),从输出到输入有反馈连接。它的出现振奋了神经网络领域,在人工智能之机器学习、联想记忆、模式识别、优化计算、VLSI和光学设备的并行实现等方面有着广泛应用。
1983年,Terrence Sejnowski, Hinton等人发明了玻尔兹曼机(Boltzmann Machines),也称为随机霍普菲尔德网络,它本质是一种无监督模型,用于对输入数据进行重构以提取数据特征做预测分析。
1985年,朱迪亚·珀尔提出贝叶斯网络(Bayesian network),他以倡导人工智能的概率方法和发展贝叶斯网络而闻名,还因发展了一种基于结构模型的因果和反事实推理理论而受到赞誉。
贝叶斯网络是一种模拟人类推理过程中因果关系的不确定性处理模型,如常见的朴素贝叶斯分类算法就是贝叶斯网络最基本的应用。
贝叶斯网络拓朴结构是一个有向无环图(DAG),通过把某个研究系统中涉及的随机变量,根据是否条件独立绘制在一个有向图中,以描述随机变量之间的条件依赖,用圈表示随机变量(random variables),用箭头表示条件依赖(conditional dependencies)就形成了贝叶斯网络。对于任意的随机变量,其联合概率可由各自的局部条件概率分布相乘而得出。如图中b依赖于a(即:a->b),c依赖于a和b,a独立无依赖,根据贝叶斯定理有 P(a,b,c) = P(a)*P(b|a)*P(c|a,b)
1986年,罗德尼·布鲁克斯(Brooks)发表论文《移动机器人鲁棒分层控制系统》,标志着基于行为的机器人学科的创立,机器人学界开始把注意力投向实际工程主题。
1986年,辛顿(Geoffrey Hinton)等人先后提出了多层感知器(MLP)与反向传播(BP)训练相结合的理念(该方法在当时计算力上还是有很多挑战,基本上都是和链式求导的梯度算法相关的),这也解决了单层感知器不能做非线性分类的问题,开启了神经网络新一轮的高潮。
1986年,昆兰(Ross Quinlan)提出ID3决策树算法。
决策树模型可视为多个规则(if, then)的组合,与神经网络黑盒模型截然不同是,它拥有良好的模型解释性。
ID3算法核心的思想是通过自顶向下的贪心策略构建决策树:根据信息增益来选择特征进行划分(信息增益的含义是 引入属性A的信息后,数据D的不确定性减少程度。也就是信息增益越大,区分D的能力就越强),依次递归地构建决策树。
1989年,George Cybenko证明了“万能近似定理”(universal approximation theorem)。简单来说,多层前馈网络可以近似任意函数,其表达力和图灵机等价。这就从根本上消除了Minsky对神经网络表达力的质疑。
“万能近似定理”可视为神经网络的基本理论:⼀个前馈神经⽹络如果具有线性层和⾄少⼀层具有 “挤压” 性质的激活函数(如 sigmoid 等),给定⽹络⾜够数量的隐藏单元,它可以以任意精度来近似任何从⼀个有限维空间到另⼀个有限维空间的 borel 可测函数。
1989年,LeCun (CNN之父) 结合反向传播算法与权值共享的卷积神经层发明了卷积神经网络(Convolutional Neural Network,CNN),并首次将卷积神经网络成功应用到美国邮局的手写字符识别系统中。
卷积神经网络通常由输入层、卷积层、池化(Pooling)层和全连接层组成。卷积层负责提取图像中的局部特征,池化层用来大幅降低参数量级(降维),全连接层类似传统神经网络的部分,用来输出想要的结果。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。