编辑:昕朋,来源:新智元
【导读】最近,LSTM之父Jürgen Schmidhuber梳理了17世纪以来人工智能的历史。在这篇万字长文中,Schmidhuber为读者提供了一个大事年表,其中包括神经网络、深度学习、人工智能等领域的重要事件,以及那些为AI奠定基础的科学家们。
「人工智能」一词,首次在1956年达特茅斯会议上,由约翰麦卡锡等人正式提出。
实用AI地提出,最早可以追溯到1914年。当时Leonardo Torres y Quevedo构建了第一个工作的国际象棋机器终端游戏玩家。当时,国际象棋被认为是一种仅限于智能生物领域的活动。
至于人工智能理论,则可以追溯到1931-34年。当时库尔特·哥德尔(Kurt Gödel )确定了任何类型的基于计算的人工智能的基本限制。
Schmidhuber表示,这篇文章对之前具有误导性的「深度学习历史」进行纠正。在他看来,之前的深度学习史忽略了文章中提到的大部分开创性工作。
一、1676年:反向信用分配的链式法则
1676年,戈特弗里德·威廉·莱布尼茨(Gottfried Wilhelm Leibniz)在回忆录中发表了微积分的链式法则。如今,这条规则成为了深度神经网络中信用分配的核心,是现代深度学习的基础。
神经网络具有计算来自其他神经元的输入的可微函数的节点或神经元,这些节点或神经元又计算来自其他神经元的输入的可微函数。如果想要知道修改早期函数的参数或权值后,最终函数输出的变化,就需要用到链式法则。
这个答案也被用于梯度下降技术。为了教会神经网络将来自训练集的输入模式转换为所需的输出模式,所有神经网络权值都朝着最大局部改进的方向迭代改变一点,以创建稍微更好的神经网络,依此类推,逐渐靠近权值和偏置的最佳组合,从而最小化损失函数。
值得注意的是,莱布尼茨也是第一个发现微积分的数学家。他和艾萨克·牛顿先后独立发现了微积分,而且他所使用的微积分的数学符号被更广泛的使用,莱布尼茨所发明的符号被普遍认为更综合,适用范围更加广泛。
此外,莱布尼茨还是「世界上第一位计算机科学家」。他于1673年设计了第一台可以执行所有四种算术运算的机器,奠定了现代计算机科学的基础。
二、19世纪初:神经网络、线性回归与浅层学习
1805 年,阿德利昂·玛利·埃·勒让德(Adrien-Marie Legendre)发表了现在通常称为线性神经网络的内容。
后来,约翰·卡尔·弗里德里希·高斯(Johann Carl Friedrich Gauss)也因类似的研究而受到赞誉。
这个来自2个多世纪前的神经网络有两层:一个具有多个输入单元的输入层和一个输出层。每个输入单元都可以保存一个实数值,并通过具有实数值权值的连接连接到输出。
神经网络的输出是输入与其权值的乘积之和。给定输入向量的训练集和每个向量的期望目标值,调整 权值,使神经网络输出与相应目标之间的平方误差之和最小化。
当然,那时候这还不叫神经网络。它被称为最小二乘法(least squares),也被广泛称为线性回归。但它在数学上与今天的线性神经网络相同:相同的基本算法、相同的误差函数、相同的自适应参数/权值。
约翰·卡尔·弗里德里希·高斯
这种简单的神经网络执行「浅层学习」,与具有许多非线性层的「深度学习」相反。事实上,许多神经网络课程都是从介绍这种方法开始的,然后转向更复杂、更深入的神经网络。
当今,所有技术学科的学生都必须上数学课,尤其是分析、线性代数和统计学。在所有这些领域中,许多重要的结果和方法都要归功于高斯:代数基本定理、高斯消元法、统计的高斯分布等。
三、1920-1925年:第一个循环神经网络
与人脑相似,循环神经网络(RNN)具有反馈连接,因此可以遵循从某些内部节点到其他节点的定向连接,并最终在起点处结束。这对于在序列处理期间实现对过去事件的记忆至关重要。
威廉·楞次(左);恩斯特·伊辛(右)
物理学家恩斯特·伊辛(Ernst Ising)和威廉·楞次(Wilhelm Lenz)在 1920 年代引入并分析了第一个非学习RNN架构:伊辛模型(Ising model)。它根据输入条件进入平衡状态,是第一个RNN学习模型的基础。
1972 年,甘利俊一(Shun-Ichi Amari)使伊辛模型循环架构具有自适应性,可以通过改变其连接权值来学习将输入模式与输出模式相关联。这是世界上第一个学习型RNN。
甘利俊一
四、1958年:多层前馈神经网络
弗兰克·罗森布拉特
多层感知器遵循人类神经系统原理,学习并进行数据预测。它首先学习,然后使用权值存储数据,并使用算法来调整权值并减少训练过程中的偏差,即实际值和预测值之间的误差。
五、1965年:第一个深度学习
深度前馈网络架构的成功学习始于1965年的乌克兰,当时Alexey Ivakhnenko和Valentin Lapa为具有任意多个隐藏层的深度MLP引入了第一个通用的工作学习算法。
Alexey Ivakhnenko
给定一组具有相应目标输出向量的输入向量训练集,层逐渐增长并通过回归分析进行训练,然后借助单独的验证集进行修剪,其中正则化用于清除多余的单元。层数和每层单元以问题相关的方式学习。
与后来的深度神经网络一样,Ivakhnenko的网络学会了为传入数据创建分层的、分布式的、内部表示。
六、1967-68年:随机梯度下降
1967年,甘利俊一首次提出通过随机梯度下降 (SGD)训练神经网络。
甘利俊一与他的学生Saito在具有两个可修改层的五层MLP中学习了内部表示,该层被训练用于对非线性可分离模式类进行分类。
七、1970年:反向传播算法
1970 年,Seppo Linnainmaa率先发表了反向传播的算法,这是一种著名的可微节点网络信用分配算法,也称为「自动微分的反向模式」。
David Rumelhart
通过实验,鲁姆哈特等人证明反向传播可以在神经网络的隐藏层中产生有用的内部表示。至少对于监督学习,反向传播通常比甘利俊一通过SGD方法进行的上述深度学习更有效。
八、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大规模视觉识别竞赛拔得头筹。
九、1987-1990年代:图神经网络与随机Delta法则
Teuvo Kohonen
十、1990年2月:生成式对抗网络/好奇心
生成器(称为控制器)生成概率输出(使用随机单元,如后来的StyleGAN)。 预测器(称为世界模型)看到控制器的输出并预测环境对它们的反应。使用梯度下降法,预测器NN将其误差最小化,而生成器NN试图这个误差最大化——一个网的损失就是另一个网络的收益。
在2014年关于GAN的论文之前4年,Schmidhuber就在著名的2010年调查中,将1990年的生成式对抗NN总结如下:「作为预测世界模型的神经网络被用来最大化控制器的内在奖励,它与模型的预测误差成正比」。
而之后发布的GAN,只是一个实例。其中,试验非常短,环境只是根据控制器(或生成器)的输出是否在一个给定的集合中而返回1或0。
十一、1990年4月:生成子目标/按指令工作
一个RL机器得到额外的命令输入,其形式为(开始,目标)。一个评估器NN学习预测从开始到目标的当前奖励/成本。一个基于(R)NN的子目标生成器也看到了(开始,目标),并使用评估器NN的(副本)通过梯度下降学习一连串成本最低的中间子目标。RL机器试图使用这种子目标序列来实现最终目标。
十二、1991年3月:具有线性自注意力的Transformer
此外,今天的Transformer大量使用无监督预训练,这是Schmidhuber在1990-1991年首次发表的一种深度学习方法。
十三、1991年4月:通过自监督的预训练进行深度学习
今天最强大的NN往往是非常深的,也就是说,它们有很多层的神经元或很多后续的计算阶段。
然而,在20世纪90年代之前,基于梯度的训练对深度NN并不奏效(只对浅层NN有效)。
与前馈NN(FNN)不同的是,RNN有反馈连接。这使得RNN成为强大的、通用的、平行序列的计算机,可以处理任意长度的输入序列(比如语音或者视频)。
然而,在20世纪90年代之前,RNN在实践中未能学习深层次的问题。
为此,Schmidhuber建立了一个自监督的RNN层次结构,来尝试实现「通用深度学习」。
1991年4月:将一个NN蒸馏成另一个NN
通过使用Schmidhuber在1991年提出的NN蒸馏程序,上述神经历史压缩机的分层内部表征可以被压缩成一个单一的递归NN(RNN)。
十四、1991年6月:基本问题——梯度消失
十五、1991年6月:LSTM/Highway Net/ResNet的基础
2006年一个里程碑式的训练方法是「联结主义时间分类」(CTC),用于同时对齐和识别序列。
Schmidhuber的团队在2007年成功地将CTC训练的LSTM应用于语音(也有分层的LSTM堆栈),第一次实现了卓越的端到端神经语音识别效果。
2009年,通过Alex的努力,由CTC训练的LSTM成为第一个赢得国际比赛的RNN,即三个ICDAR 2009手写比赛(法语、波斯语、阿拉伯语)。这引起了业界的极大兴趣。LSTM很快被用于所有涉及序列数据的场合,比如语音和视频。
2015年,CTC-LSTM的组合极大地改善了谷歌在安卓智能手机上的语音识别性能。直到2019年,谷歌在移动端搭载的语音识别仍然是基于LSTM。
1995年:神经概率语言模型
1995年,Schmidhuber提出了一个优秀的神经概率文本模型,其基本概念在2003年被重新使用。
2001年,Schmidhuber表明LSTM可以学习HMM等传统模型无法学习的语言。
2016年的谷歌翻译,则是基于两个连接的LSTM(白皮书提到LSTM超过50次),一个用于传入文本,一个用于传出翻译。
同年,谷歌数据中心用于推理的超强计算能力中,有超过四分之一用于LSTM(还有5%用于另一种流行的深度学习技术,即CNN)。
到了2017年,LSTM还为Facebook的机器翻译(每周超过300亿次翻译)、苹果在大约10亿部iPhone上的Quicktype、亚马逊的Alexa的语音、谷歌的图像标题生成和自动电子邮件回答等提供支持。
当然,Schmidhuber的LSTM也被大量用于医疗保健和医疗诊断——简单的谷歌学术搜索就能找到无数标题中带有「LSTM」的医学文章。
LSTM/Highway Net原理是现代深度学习的核心
深度学习的核心是NN深度。
在20世纪90年代,LSTM为有监督的递归NN带来了基本无限的深度;在2000年,受LSTM启发的Highway Net为前馈NN带来了深度。
现在,LSTM已经成为20世纪被引用最多的NN,而Highway Net的其中一个版本ResNet,则是21世纪被引用最多的NN。
十六、1980至今:在没有老师的情况下学习行动的NNN
在随后的1997年和2015-18年,更复杂的学习抽象思维的方法被发表。
十七、是硬件问题,呆子!
安提基特拉机械
而世界上第一台实用的可编程机器,是古希腊机械学家海伦于公元1世纪发明的。
17世纪的机器变得更为灵活,可以根据输入数据计算答案。
第一台用于简单算术的机械计算器由威廉·契克卡德(Wilhelm Schickard)于1623年发明制造。
莱布尼茨乘法器
1800年左右,约瑟夫·玛丽·雅卡尔 (Joseph Marie Jacquard) 等人在法国制造了第一台首台可设计织布机——雅卡尔织布机(Jacquard machine)。该发明对将来发展出其他可编程机器(例如计算机)起了重要作用。
他们启发了阿达·洛芙莱斯(Ada Lovelace)和她的导师查尔斯·巴贝奇(Charles Babbage)发明了一台现代电子计算机的前身:巴贝奇差分机。
在随后的1843年,洛芙莱斯公布了世界上第一套计算机算法。
1914年,西班牙人Leonardo Torres y Quevedo成为20世纪第一位人工智能先驱,他创造了第一个国际象棋终端机器玩家。
1935年至1941年间,康拉德·楚泽(Konrad Zuse)发明了世界上第一台可运行的可编程通用计算机:Z3。
「曼彻斯特宝贝」复制品
汉斯·约阿希姆·布雷默曼
然而,太阳系的质量只有2x10^30千克,这一趋势势必会在几个世纪内打破,因为光速会严重限制以其他太阳系的形式获取额外质量。
因此,物理学的限制要求未来高效的计算硬件必须像大脑一样,在三维空间中有许多紧凑放置的处理器以最小化总连接成本,其基本架构本质上是一种深度的、稀疏连接的三维RNN。
Schmidhuber推测,此类RNN的深度学习方法将变得更加重要。
十八、1931年以来的人工智能理论
现代人工智能和深度学习的核心主要是基于近几个世纪的数学:微积分、线性代数和统计学。
20世纪30年代初,哥德尔创立了现代理论计算机科学。他引入了一种以整数为基础的通用编码语言,允许以公理形式将任何数字计算机的操作正规化。
同时,哥德尔还构建了著名的形式化语句,通过给定一个计算性的定理检验器,从可列举的公理集合中系统地列举所有可能的定理。因此,他确定了算法定理证明、计算以及任何类型的基于计算的人工智能的基本限制。
此外,哥德尔在写给约翰·冯·诺伊曼的著名信件中,确定了计算机科学中最著名的开放问题「P=NP?」。
Plankalkül
参考资料:
网友评论已有0条评论, 我也要评论