人工智能300年!
转自 | 新智元
最近,LSTM之父Jürgen Schmidhuber梳理了17世纪以来人工智能的历史。在这篇万字长文中,Schmidhuber为读者提供了一个大事年表,其中包括神经网络、深度学习、人工智能等领域的重要事件,以及那些为AI奠定基础的科学家们。
最近,LSTM之父Jürgen Schmidhuber梳理了17世纪以来人工智能的历史。在这篇万字长文中,Schmidhuber为读者提供了一个大事年表,其中包括神经网络、深度学习、人工智能等领域的重要事件,以及那些为AI奠定基础的科学家们。
「人工智能」一词,首次在1956年达特茅斯会议上,由约翰麦卡锡等人正式提出。
实用AI地提出,最早可以追溯到1914年。当时Leonardo Torres y Quevedo构建了第一个工作的国际象棋机器终端游戏玩家。当时,国际象棋被认为是一种仅限于智能生物领域的活动。
至于人工智能理论,则可以追溯到1931-34年。当时库尔特·哥德尔(Kurt Gödel )确定了任何类型的基于计算的人工智能的基本限制。
时间来到1980年代,此时的AI历史会强调定理证明、逻辑编程、专家系统和启发式搜索等主题。
2000年代初期的AI历史会更加强调支持向量机和内核方法等主题。贝叶斯推理(Bayesian reasoning)和其他概率论和统计概念、决策树、 集成方法、群体智能和进化计算,此类技术推动了许多成功的AI应用。
2020年代的AI研究反而更加「复古」,比如强调诸如链式法则和通过梯度下降(gradient descent)训练的深度非线性人工神经网络,特别是基于反馈的循环网络等概念。
Schmidhuber表示,这篇文章对之前具有误导性的「深度学习历史」进行纠正。在他看来,之前的深度学习史忽略了文章中提到的大部分开创性工作。
此外,Schmidhuber还驳斥了一个常见的错误,即神经网络「作为帮助计算机识别模式和模拟人类智能的工具是在1980年代引入的」。因为事实上,神经网络早在80年代前就已出现。
一、1676年:反向信用分配的链式法则
1676年,戈特弗里德·威廉·莱布尼茨(Gottfried Wilhelm Leibniz)在回忆录中发表了微积分的链式法则。如今,这条规则成为了深度神经网络中信用分配的核心,是现代深度学习的基础。
戈特弗里德·威廉·莱布尼茨
神经网络具有计算来自其他神经元的输入的可微函数的节点或神经元,这些节点或神经元又计算来自其他神经元的输入的可微函数。如果想要知道修改早期函数的参数或权值后,最终函数输出的变化,就需要用到链式法则。
这个答案也被用于梯度下降技术。为了教会神经网络将来自训练集的输入模式转换为所需的输出模式,所有神经网络权值都朝着最大局部改进的方向迭代改变一点,以创建稍微更好的神经网络,依此类推,逐渐靠近权值和偏置的最佳组合,从而最小化损失函数。
值得注意的是,莱布尼茨也是第一个发现微积分的数学家。他和艾萨克·牛顿先后独立发现了微积分,而且他所使用的微积分的数学符号被更广泛的使用,莱布尼茨所发明的符号被普遍认为更综合,适用范围更加广泛。
此外,莱布尼茨还是「世界上第一位计算机科学家」。他于1673年设计了第一台可以执行所有四种算术运算的机器,奠定了现代计算机科学的基础。
二、19世纪初:
神经网络、线性回归与浅层学习
1805 年,阿德利昂·玛利·埃·勒让德(Adrien-Marie Legendre)发表了现在通常称为线性神经网络的内容。
阿德利昂·玛利·埃·勒让德
后来,约翰·卡尔·弗里德里希·高斯(Johann Carl Friedrich Gauss)也因类似的研究而受到赞誉。
这个来自2个多世纪前的神经网络有两层:一个具有多个输入单元的输入层和一个输出层。每个输入单元都可以保存一个实数值,并通过具有实数值权值的连接连接到输出。
神经网络的输出是输入与其权值的乘积之和。给定输入向量的训练集和每个向量的期望目标值,调整 权值,使神经网络输出与相应目标之间的平方误差之和最小化。
当然,那时候这还不叫神经网络。它被称为最小二乘法(least squares),也被广泛称为线性回归。但它在数学上与今天的线性神经网络相同:相同的基本算法、相同的误差函数、相同的自适应参数/权值。
约翰·卡尔·弗里德里希·高斯
这种简单的神经网络执行「浅层学习」,与具有许多非线性层的「深度学习」相反。事实上,许多神经网络课程都是从介绍这种方法开始的,然后转向更复杂、更深入的神经网络。
当今,所有技术学科的学生都必须上数学课,尤其是分析、线性代数和统计学。在所有这些领域中,许多重要的结果和方法都要归功于高斯:代数基本定理、高斯消元法、统计的高斯分布等。
这位号称「自古以来最伟大的数学家」的人也开创了微分几何、数论(他最喜欢的科目)和非欧几何。如果没有他的成果,包括AI在内的现代工程将不可想象。
三、1920-1925年:
第一个循环神经网络
与人脑相似,循环神经网络(RNN)具有反馈连接,因此可以遵循从某些内部节点到其他节点的定向连接,并最终在起点处结束。这对于在序列处理期间实现对过去事件的记忆至关重要。
威廉·楞次(左);恩斯特·伊辛(右)
物理学家恩斯特·伊辛(Ernst Ising)和威廉·楞次(Wilhelm Lenz)在 1920 年代引入并分析了第一个非学习RNN架构:伊辛模型(Ising model)。它根据输入条件进入平衡状态,是第一个RNN学习模型的基础。
1972 年,甘利俊一(Shun-Ichi Amari)使伊辛模型循环架构具有自适应性,可以通过改变其连接权值来学习将输入模式与输出模式相关联。这是世界上第一个学习型RNN。
甘利俊一
目前,最流行的RNN就是Schmidhuber提出的长短期记忆网络LSTM。它已经成为20世纪被引用最多的神经网络。
四、1958年:
多层前馈神经网络
1958年,弗兰克·罗森布拉特(Frank Rosenblatt)结合了线性神经网络和阈值函数,设计出了更深层次的多层感知器(MLP)。
弗兰克·罗森布拉特
多层感知器遵循人类神经系统原理,学习并进行数据预测。它首先学习,然后使用权值存储数据,并使用算法来调整权值并减少训练过程中的偏差,即实际值和预测值之间的误差。
由于多层前馈网络的训练经常采用误差反向传播算法,在模式识别的领域中算是标准监督学习算法,并在计算神经学及并行分布式处理领域中,持续成为被研究的课题。
五、1965年:
第一个深度学习
深度前馈网络架构的成功学习始于1965年的乌克兰,当时Alexey Ivakhnenko和Valentin Lapa为具有任意多个隐藏层的深度MLP引入了第一个通用的工作学习算法。
Alexey Ivakhnenko
给定一组具有相应目标输出向量的输入向量训练集,层逐渐增长并通过回归分析进行训练,然后借助单独的验证集进行修剪,其中正则化用于清除多余的单元。层数和每层单元以问题相关的方式学习。
与后来的深度神经网络一样,Ivakhnenko的网络学会了为传入数据创建分层的、分布式的、内部表示。
他没有称它们为深度学习神经网络,但它们就是这样。事实上,「深度学习」这个术语最早是由Dechter于1986年引入机器学习的,而Aizenberg等人在2000则引入了「神经网络」的概念。
六、1967-68年:
随机梯度下降
1967年,甘利俊一首次提出通过随机梯度下降(SGD)训练神经网络。
甘利俊一与他的学生Saito在具有两个可修改层的五层MLP中学习了内部表示,该层被训练用于对非线性可分离模式类进行分类。
Rumelhart和Hinton等人在1986年做出了类似的工作,并将其命名为反向传播算法。
七、1970年:
反向传播算法
1970 年,Seppo Linnainmaa率先发表了反向传播的算法,这是一种著名的可微节点网络信用分配算法,也称为「自动微分的反向模式」。
Seppo Linnainmaa
Linnainmaa首次描述了在任意、离散的稀疏连接情况下的类神经网络的高效误差反向传播方式。它现在是广泛使用的神经网络软件包的基础,例如PyTorch和谷歌的Tensorflow。
反向传播本质上是为深度网络实施莱布尼茨链式法则的有效方式。柯西(Cauchy)提出的梯度下降在许多试验过程中使用它逐渐削弱某些神经网络连接并加强其他连接。
1985年,计算成本已比1970年减少约1,000倍,当台式计算机刚刚在富裕的学术实验室中普及时,David Rumelhart等人对已知方法进行实验分析。
David Rumelhart
通过实验,鲁姆哈特等人证明反向传播可以在神经网络的隐藏层中产生有用的内部表示。至少对于监督学习,反向传播通常比甘利俊一通过SGD方法进行的上述深度学习更有效。
2010年之前,许多人认为训练多层神经网络需要无监督预训练。2010年,Schmidhuber的团队与Dan Ciresan表明深度FNN可以通过简单的反向传播进行训练,并且根本不需要对重要应用进行无监督预训练。
八、1979年:
首个卷积神经网络
1979年,福岛邦彦(Kunihiko Fukushima)在STRL开发了一种用于模式识别的神经网络模型:Neocognitron。
福岛邦彦
但这个Neocognitron用今天的话来说,叫卷积神经网络(CNN),是深度神经网络基本结构的最伟大发明之一,也是当前人工智能的核心技术。
福岛博士引入的Neocognitron,是第一个使用卷积和下采样的神经网络,也是卷积神经网络的雏形。
福岛邦彦设计的具有学习能力的人工多层神经网络,可以模仿大脑的视觉网络,这种「洞察力」成为现代人工智能技术的基础。福岛博士的工作带来了一系列实际应用,从自动驾驶汽车到面部识别,从癌症检测到洪水预测,还会有越来越多的应用。
1987年,Alex Waibel将具有卷积的神经网络与权值共享和反向传播相结合,提出了延时神经网络(TDNN)的概念。
1989年以来,Yann LeCun的团队为CNN的改进做出了贡献,尤其是在图像方面。
Yann LeCun
2011年末,Schmidhuber的团队大大加快了深度CNN的训练速度,使其在机器学习社区中变得更加流行。团队推出基于GPU的CNN:DanNet,比早期的CNN更深入、运算更快。同年,DanNet成为第一个赢得计算机视觉竞赛的纯深度CNN。
由Microsoft Research的4位学者提出的残差神经网络(ResNet),在2015年的ImageNet大规模视觉识别竞赛拔得头筹。
Schmidhuber 表示,ResNet是其团队研发的高速神经网络(Highway Net)的一个早期版本。相较于以前的神经网络最多只有几十层,这是第一个真正有效的、具有数百层的深度前馈神经网络。
九、1987-1990年代:
图神经网络与随机Delta法则
可以操纵结构化数据(例如图形)的深度学习架构于1987年由Pollack提出,并在20世纪90年代初由 Sperduti、Goller和Küchler进行扩展和改进。如今,图神经网络被用于许多应用程序中。
Paul Werbos和R. J. Williams等人分析了在RNN中实现梯度下降的方法。Teuvo Kohonen的自组织映射(Self-Organizing Map)也流行起来。
Teuvo Kohonen
1990年,Stephen Hanson引入了随机Delta法则,这是一种通过反向传播训练神经网络的随机方法。几十年后,这个方法在「dropout」的绰号下流行起来。
十、1990年2月:
生成式对抗网络/好奇心
生成对抗网络(GAN)最早于1990年在以「人工智能好奇心」为名发表。
两个对抗的NN(一个概率生成器和一个预测器)试图在一个最小极限游戏中使对方的损失最大化。其中:
生成器(称为控制器)生成概率输出(使用随机单元,如后来的StyleGAN)。
预测器(称为世界模型)看到控制器的输出并预测环境对它们的反应。使用梯度下降法,预测器NN将其误差最小化,而生成器NN试图这个误差最大化——一个网的损失就是另一个网络的收益。
十一、1990年4月:
生成子目标/按指令工作
十二、1991年3月:
具有线性自注意力的Transformer
十三、1991年4月:
通过自监督的预训练进行深度学习
今天最强大的NN往往是非常深的,也就是说,它们有很多层的神经元或很多后续的计算阶段。
1991年4月:将一个NN蒸馏成另一个NN
通过使用Schmidhuber在1991年提出的NN蒸馏程序,上述神经历史压缩机的分层内部表征可以被压缩成一个单一的递归NN(RNN)。
十四、1991年6月:
基本问题——梯度消失
十五、1991年6月:
LSTM/Highway Net/ResNet的基础
1995年:神经概率语言模型
1995年,Schmidhuber提出了一个优秀的神经概率文本模型,其基本概念在2003年被重新使用。
2001年,Schmidhuber表明LSTM可以学习HMM等传统模型无法学习的语言。
2016年的谷歌翻译,则是基于两个连接的LSTM(白皮书提到LSTM超过50次),一个用于传入文本,一个用于传出翻译。
同年,谷歌数据中心用于推理的超强计算能力中,有超过四分之一用于LSTM(还有5%用于另一种流行的深度学习技术,即CNN)。
到了2017年,LSTM还为Facebook的机器翻译(每周超过300亿次翻译)、苹果在大约10亿部iPhone上的Quicktype、亚马逊的Alexa的语音、谷歌的图像标题生成和自动电子邮件回答等提供支持。
LSTM/Highway Net原理是现代深度学习的核心
深度学习的核心是NN深度。
在20世纪90年代,LSTM为有监督的递归NN带来了基本无限的深度;在2000年,受LSTM启发的Highway Net为前馈NN带来了深度。
十六、1980至今:
在没有老师的情况下学习行动的NNN
十七、是硬件问题,呆子!
十八、1931年以来的人工智能理论
苇草智酷简介——
苇草智酷(全称:北京苇草智酷科技文化有限公司)是一家思想者社群组织。通过各种形式的沙龙、对话、培训、丛书编撰、论坛合作、专题咨询、音视频内容生产、国内外学术交流活动,以及每年一度的互联网思想者大会,苇草智酷致力于广泛联系和连接科技前沿、应用实践、艺术人文等领域的学术团体和个人,促成更多有意愿、有能力、有造诣的同道成为智酷社区的成员,共同交流思想,启迪智慧,重塑认知。