人工智能300年!
Datawhale干货 编辑: 昕朋 ,来源 :新智元
【导读】最近,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)在回忆录中发表了微积分的链式法则。如今,这条规则成为了深度神经网络中信用分配的核心,是现代深度学习的基础。
    
二、19世纪初:神经网络、线性回归与浅层学习
1805 年,阿德利昂·玛利·埃·勒让德(Adrien-Marie Legendre)发表了现在通常称为线性神经网络的内容。
    
    
三、1920-1925年:第一个循环神经网络
与人脑相似,循环神经网络(RNN)具有反馈连接,因此可以遵循从某些内部节点到其他节点的定向连接,并最终在起点处结束。这对于在序列处理期间实现对过去事件的记忆至关重要。
    
    
四、1958年:多层前馈神经网络
1958年,弗兰克·罗森布拉特(Frank Rosenblatt)结合了线性神经网络和阈值函数,设计出了更深层次的多层感知器 (MLP)。
    
五、1965年:第一个深度学习
深度前馈网络架构的成功学习始于1965年的乌克兰,当时Alexey Ivakhnenko和Valentin Lapa为具有任意多个隐藏层的深度MLP引入了第一个通用的工作学习算法。
    
六、1967-68年:随机梯度下降
1967年,甘利俊一首次提出通过随机梯度下降 (SGD)训练神经网络。 甘利俊一与他的学生Saito在具有两个可修改层的五层MLP中学习了内部表示,该层被训练用于对非线性可分离模式类进行分类。 Rumelhart和Hinton等人在1986年做出了类似的工作,并将其命名为反向传播算法。
七、1970年:反向传播算法
1970 年,Seppo Linnainmaa率先发表了反向传播的算法,这是一种著名的可微节点网络信用分配算法,也称为「自动微分的反向模式」。
    
    
八、1979年:首个卷积神经网络
1979年,福岛邦彦(Kunihiko Fukushima)在STRL开发了一种用于模式识别的神经网络模型:Neocognitron。
福岛邦彦
  但这个Neocognitron用今天的话来说,叫卷积神经网络(CNN),是深度神经网络基本结构的最伟大发明之一,也是当前人工智能的核心技术。
  福岛博士引入的Neocognitron,是第一个使用卷积和下采样的神经网络,也是卷积神经网络的雏形。
  福岛邦彦设计的具有学习能力的人工多层神经网络,可以模仿大脑的视觉网络,这种「洞察力」成为现代人工智能技术的基础。福岛博士的工作带来了一系列实际应用,从自动驾驶汽车到面部识别,从癌症检测到洪水预测,还会有越来越多的应用。
  1987年,Alex Waibel将具有卷积的神经网络与权值共享和反向传播相结合,提出了延时神经网络(TDNN)的概念。
  1989年以来,Yann LeCun的团队为CNN的改进做出了贡献,尤其是在图像方面。
  
    
九、1987-1 990年代:图神经网络与随机Delta法则
可以操纵结构化数据(例如图形)的深度学习架构于1987年由Pollack提出,并在20世纪90年代初由 Sperduti、Goller和Küchler进行扩展和改进。如今,图神经网络被用于许多应用程序中。
Paul Werbos和R. J. Williams等人分析了在RNN中实现梯度下降的方法。Teuvo Kohonen的自组织映射(Self-Organizing Map)也流行起来。
    
十、1990年2月:生成式对抗网络/好奇心
生成对抗网络(GAN)最早于1990年在以「人工智能好奇心」为名发表。
两个对抗的NN(一个概率生成器和一个预测器)试图在一个最小极限游戏中使对方的 损失最大化。其中:- 
      
生成器(称为控制器)生成概率输出(使用随机单元,如后来的StyleGAN)。
 - 
      
预测器(称为世界模型)看到控制器的输出并预测环境对它们的反应。使用梯度下降法,预测器NN将其误差最小化,而生成器NN试图这个误差最大化——一个网的损失就是另一个网络的收益。
 
在2014年关于GAN的论文之前4年,Schmidhuber就在著名的2010年调查中,将1990年的生成式对抗NN总结如下:「作为预测世界模型的神经网络被用来最大化控制器的内在奖励,它与模型的预测误差成正比」。
  而之后发布的GAN,只是一个实例。其中,试验非常短,环境只是根据控制器(或生成器)的输出是否在一个给定的集合中而返回1或0。
  
1990年的原理被广泛用于强化学习的探索和现实图像的合成,尽管后者的领域最近被Rombach等人的Latent Diffusion接替。
  1991年,Schmidhuber发表了另一个基于两个对抗性NN的ML方法,称为可预测性最小化,用于创建部分冗余数据的分离表征,1996年应用于图像。
  十一、1990年4月:生成子目标/按指令工作
近几个世纪以来,大多数NN都致力于简单的模式识别,而不是高级推理。
然而,在20世纪90年代初,首次出现了例外。这项工作将传统的「符号」层次式人工智能的概念注入到端到端的可区分的「次符号」(sub-symbolic)NN中。 1990年,Schmidhuber团队的NN学会了用端到端可微分NN的子目标生成器来生成层次化的行动计划,用于层次化强化学习(HRL)。
一个RL机器得到额外的命令输入,其形式为(开始,目标)。一个评估器NN学习预测从开始到目标的当前奖励/成本。一个基于(R)NN的子目标生成器也看到了(开始,目标),并使用评估器NN的(副本)通过梯度下降学习一连串成本最低的中间子目标。RL机器试图使用这种子目标序列来实现最终目标。
  该系统在多个抽象层次和多个时间尺度上学习行动计划,并在原则上解决了最近被称为「开放性问题」的问题。
  十二、1991年3月:具有线性自注意力的Transformer
具有「线性自注意力」的Transformer首次发表于1991年3月。
这些所谓的「快速权重程序员」(Fast Weight Programmers)或「快速权重控制器」(Fast Weight Controllers)就像传统计算机一样分离了存储和控制,但以一种端到端差异化、自适应,以及神经网络的方式。
此外,今天的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)。 在这里,教师NN的知识被「蒸馏」到学生NN中,方法是训练学生NN模仿教师NN的行为(同时也重新训练学生NN,从而保证之前学到的技能不会被忘记)。NN蒸馏法也在许多年后被重新发表,并在今天被广泛使用。十四、1991年6月:基本问题——梯度消失
Schmidhuber的第一个学生Sepp Hochreiter在1991年的毕业论文中发现并分析了基本的深度学习问题。
深度NN受到现在著名的梯度消失问题的困扰:在典型的深度或递归网络中,反向传播的错误信号要么迅速缩小,要么超出界限增长。在这两种情况下,学习都会失败。
十五、1991年6月:LSTM/Highway Net/ResNet的基础
长短期记忆(LSTM)递归神经网络克服了Sepp Hochreiter在上述1991年的毕业论文中指出的基本深度学习问题。
在1997年发表了经同行评审的论文之后(现在是20世纪被引用最多的NN文章),Schmidhuber的学生Felix Gers和Alex Graves等人,进一步改进了LSTM及其训练程序。 1999-2000年发表的LSTM变体——带有遗忘门的「vanilla LSTM架构」,在如今谷歌的Tensorflow中依然还在应用。 2005年,Schmidhuber首次发表了LSTM在时间上完全反向传播和双向传播的文章(同样也被广泛使用)。
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」的医学文章。
  
2015年5月,Schmidhuber团队基于LSTM原理提出了Highway Network,第一个具有数百层的非常深的FNN(以前的NN最多只有几十层)。微软的ResNet(赢得了ImageNet 2015比赛)便是它的一个版本。
  早期Highway Net在ImageNet上的表现与ResNet大致相同。Highway Net的变体也被用于某些算法任务,在这些任务中,纯残差层的效果并不理想 。
  LSTM/Highway Net原理是现代深度学习的核心
深度学习的核心是NN深度。 在20世纪90年代,LSTM为有监督的递归NN带来了基本无限的深度;在2000年,受LSTM启发的Highway Net为前馈NN带来了深度。
    
      
  
十六、1980至今:在没有老师的情况下学习行动的NNN
此外,NN也与强化学习(RL)有关。 虽然部分问题可以通过早在20世纪80年代之前发明的非神经技术来解决。比如,蒙特卡洛树搜索(MC)、动态规划(DP)、人工进化、α-β-剪枝、控制理论和系统识别、随机梯度下降,以及通用搜索技术。但深度FNN和RNN可以为某些类型的RL任务带来更好的效果。 一般来说,强化学习智能体必须学会如何在没有老师的帮助下,与一个动态的、最初未知的、部分可观察的环境互动,从而使预期的累积奖励信号最大化。在行动和可感知的结果之间可能存在任意的、先验的未知延迟。 当环境有一个马尔可夫接口,使RL智能体的输入可以传达确定下一个最佳行动所需的所有信息时,基于动态规划(DP)/时序差分(TD)/蒙特卡洛树搜索(MC)的RL会非常成功。 对于没有马尔可夫接口的更复杂的情况,智能体不仅要考虑现在的输入,还要考虑以前输入的历史。对此,由RL算法和LSTM形成的组合已经成为了一种标准方案,特别是通过策略梯度训练的LSTM。
例如,在2018年,一个经过PG训练的LSTM是OpenAI著名的Dactyl的核心,它在没有老师的情况下学会了控制一只灵巧的机器人手。
  视频游戏也是如此。
  2019年,DeepMind(由Schmidhuber实验室的一名学生共同创立)在《星际争霸》游戏中击败了职业选手,其中用到的Alphastar,就是有一个由PG训练的深度LSTM核心。
  
    
十七、是硬件问题,呆子!
在过去的一千年里,如果没有不断改进和加速升级的计算机硬件,深度学习算法不可能迎来重大突破。
我们第一个已知的齿轮计算设备是2000多年前古希腊的安提基特拉机械(Antikythera mechanism)。这是现今所知的最古老的复杂科学计算机,同时也是世界上第一台模拟计算机。
    
    
    
    
    
    
    
十八、1931年以来的人工智能理论
现代人工智能和深度学习的核心主要是基于近几个世纪的数学:微积分、线性代数和统计学。
20世纪30年代初,哥德尔创立了现代理论计算机科学。他引入了一种以整数为基础的通用编码语言,允许以公理形式将任何数字计算机的操作正规化。 同时,哥德尔还构建了著名的形式化语句,通过给定一个计算性的定理检验器,从可列举的公理集合中系统地列举所有可能的定理。因此,他确定了算法定理证明、计算以及任何类型的基于计算的人工智能的基本限制。 此外,哥德尔在写给约翰·冯·诺伊曼的著名信件中,确定了计算机科学中最著名的开放问题「P=NP?」。
1935年,Alonzo Church通过证明Hilbert和Ackermann的决策问题没有一般的解决方案,得出了哥德尔结果的一个推论。为了做到这一点,他使用了他的另一种通用编码语言,称为Untyped Lambda Calculus,它构成了极具影响力的编程语言LISP的基础。
  1936年,阿兰·图灵引入了另一个通用模型:图灵机,重新得出了上述结果。同年,Emil Post发表了另一个独立的计算通用模型。
  康拉德·楚泽不仅创造了世界上第一台可用的可编程通用计算机,并且还设计了第一种高级编程语言——Plankalkül。他在1945年将其应用于国际象棋,在1948年应用于定理证明。
  
    
    
https://people.idsia.ch/~juergen/deep-learning-history.html
整理不易, 点 赞 三连 ↓