近日,Jürgen亲自撰文介绍了自己从上世纪90年代起在深度学习领域所做出的巨大贡献。正如Jürgen所言,对于科学研究来说,「唯一真正重要的是研究的质量」。也许多年以后,当人们回顾这段历史,我们会意识到,最重要的并不是谁发明了某项技术,而是技术本身对于人类文明发展所具有的无上价值!
Jürgen在洋洋洒洒写了近两万字之后,总结道:「放眼于以英语为主导的学术圈,我们往往不能看清一个事实——深度学习是在官方语言不是英语的地方被发明的。」对我们中国(当前人工智能研究领域最大非英语为母语地区)的人们来说,似乎尤其应当认识到这点。
Jürgen还提到:
深度学习只是人工智能研究的一小部分,它主要局限于被动的模式识别。……而人工智能本身也只是更宏大的科学追求的一部分,它将宇宙从简单的初始条件推向越来越深不可测的复杂性。最后,即使这个令人敬畏的过程可能也只是所有逻辑上可能存在的宇宙中更宏大、更有效的计算中的沧海一粟。
当时,很少有人对这一研究领域感兴趣,但是四分之一个世纪过去了,基于这些思想设计的神经网络出现在了包括智能手机在内的逾3亿台设备上,每天会被使用数十亿次,消耗着这个世界上相当大一部分的计算资源。
0.人工神经网络深度学习的研究背景
人类大脑拥有约1,000亿个神经元,平均每个神经元都会与其余的10,000个神经元相连。在这些神经元中,有一些是为其它神经元提供数据(声音、视觉、触觉、疼痛、饥饿)的输入神经元。另一些神经元则是控制肌肉的输出神经元。而大多数神经元则隐藏在输入和输出之间的处理过程中,这也正是我们进行思考的地方。显然,大脑是通过改变连接的强度或权重进行学习的,这样可以决定神经元之间互相影响的强度,而这种机制似乎也对人们一生中积累的经验进行了编码。我们的人工神经网络(NN)的工作原理与上述人类的神经系统相类似,它能够比先前的各种方法更好地进行学习,从而完成语音识别、手写数字识别或视频识别,最小化损失、最大化受益,甚至自动驾驶汽车等任务[DL1][DL4]。
如今,那些最为强大的神经网络往往具有很深的结构,也就是说,他们有许多层神经元或若干后续的计算阶段。然而,在1980年代,基于梯度的训练方法并不适用于深度神经网络,仅在浅层神经网络上有较好的表现[DL1][DL2]。
尤其是,不同于FNN,RNN基本上可以处理任意深度的问题[DL1]。然而,在1980年代,早期的RNN实际上并不能学习较深的问题。我希望克服这一缺点,实现基于RNN的「通用深度学习」。
1.第一个基于无监督预训练的深度学习器(1991)
为了解决上述的「深度学习问题」,我首先想到了通过对一个层次化RNN的无监督预训练促进深度RNN中的监督学习(1991),从而实现了第一个「非常深的学习器」,我们将其称为「神经序列组块」(NeuralSequenceChunker)[UN0],或称「神经历史压缩器」[UN1]。每个更高层的RNN会使用预测性编码技术最小化下层RNN中的数据表征的描述长度(或负对数概率)。其中,预测性编码技术试图在给定先前的输入的情况下,预测接下来的数据流中的下一个输入,并且只在存在不可预测的数据时更新神经激活值,因此此时只存储未知的东西。换句话说,神经序列组块会学着压缩数据流,从而减缓「深度学习问题」,使其能够通过标准的反向传播方法求解。
尽管那时的计算机要比现在同等价位的计算机运算得慢一百万倍,但是截止到1993年,我的方法可以解决之前无法解决的、深度大于1000[UN2]的「非常深的深度学习」(需要超过1000个后续的计算步骤,步骤越多则学习的深度越深)。在1993年,我们还发布了一个「连续」版本的神经历史压缩器[UN3]。
在这项工作发表十多年后[UN1],一种针对限制更强的前馈神经网络的类似方法被提出,这种方法通过堆叠的前馈神经网络的无监督预训练使监督训练的性能得到了提升,该方法被称为深度置信网络(DBN)[UN4]。在这篇于2006年发表的论文中,作者的证明与我在1990年代初期为我的堆叠式RNN所使用的证明几乎如出一辙:每个更高的层试图缩短下层中数据表征的描述长度(或负对数概率)。
在上述的基于无监督预训练的深度学习器被提出后不久,「深度学习问题」(详见第3章)也通过我们的纯监督LSTM被解决了(详见第四章)。后来,在2006到2011年间,我的实验室又推动了一次非常相似的从无监督预训练到纯监督学习的转变。在「奇迹之年」过去20年后,这一次,通用性较低的前馈神经网络(FNN)催生了在癌症检测和许多其它问题上的革命性应用,而不是循环神经网络(RNN)。详细情况见第十九章。
当然,前馈神经网络深度学习的起源要追溯到更早的时期。1965年,Ivakhnenko和Lapa为具有任意层数的深度多层感知机发布了第一个通用可行的学习算法[DEEP1]。例如,Ivakhnenko于1971年发表的论文[DEEP2]就已经提出了一个8层的深度学习网络,该网络采用了一种高被引方法[DL2]进行训练,这种方法直到2000年后仍然被广泛使用。但是,与Ivakhnenko与其后继者在1970年代和1980年代提出的深度FNN不同,我们的深度RNN具有通用的并行序列计算架构[UN0-3]。
直到1990年代初期,大多数神经网络方面的研究仍然仅限于包含10个以内的后续计算步骤的非常浅的网络,而我们的方法已经可以使包含1,000个这样的后续计算步骤的网络正常工作。我想说的是,正是我们让神经网络变得这么深(尤其是RNN,它是所有网络中最深、功能最强大的)。
2.对一个网络进行压缩/蒸馏,用于一个网络(1991)
假设有一个「老师」神经网络和一个「学生」神经网络,「老师」神经网络已经学会了对在给定其它数据的情况下,预测数据(的条件期望)。那么我们可以通过训练「学生」神经网络模仿「老师」神经网络的行为,将「老师」神经网络的知识压缩到一个「学生」神经网络中(同时重新训练学生神经网络去完成之前学过的技能,从而避免它遗忘这些技能)。
我将这种操作称作将一个网络的行为「折叠」或「压缩」到另一个网络中。如今,这种方法被广泛使用,有的研究者(例如,Hinton)也将它称为将「老师」网络的行为「蒸馏」[DIST2]或「克隆」到一个「学生」网络中。
3.根本性的深度学习问题(梯度弥散/爆炸,1991)
在介绍背景知识的第0章中,我们指出深度学习是很困难的。但是为什么它很困难呢?我喜欢将其中的一个主要原因称为「根本性的深度学习问题」,而我的第一个学生SeppHochreiter于1991年在他的毕业论文[VAN1]中提出了这个问题,并且对其进行了分析。
作为这篇论文的一部分,Sepp实现了上面(第1章)介绍的「神经历史压缩器」和其它基于RNN的系统(第11章)。除此之外,他还做了更多的工作——他的工作正式说明了,深度神经网络受困于如今非常著名的「梯度弥散」或「梯度爆炸」问题:在典型的深度网络或循环网络中,反向传播的误差信号要么迅速衰减,要么增长得超出界限。在这两种情况下,学习都会失败。这样的分析催生了如今的LSTM的基本原理(详见第4章)。
(在1994年,还有其他研究者的研究成果[VAN2]和Sepp于1991年发表的有关梯度弥散的研究成果[VAN1]基本一模一样。甚至在公开发表了论文[VAN3]之后,本文参考文献[VAN2]的第一作者还发表了一系列论文(例如[VAN4]),并且只引用了他自己在1994年发表的论文,但对Sepp的原创性工作只字不提。)
请注意,在Sepp的论文指出那些深度神经网络中反向传播的问题之前20年,有一位名字相似的学生(SeppoLinnanimaa)于1970年在他的论文中发表了现代的反向传播算法,或称自动微分的逆向模式[BP1]。
4.长短时记忆网络(LSTM):有监督的深度学习
长短时记忆虚幻神经网络(LSTM)[LSTM1-6]克服了Sepp在其1991年发表的毕业论文[VAN1](详见第3章)中提出的根本性的深度学习问题。我认为这是机器学习历史上最重要的论文之一。它还通过我们在1995年发布的技术报告[LSTM0]中所称的LSTM的基本原理(例如,恒定误差流)为解决根本性的深度学习问题提供了重要的思路。这催生了如下所述的大量后续工作。
其中一个具有里程碑意义的工作是:带有遗忘门[LSTM2]的「vanillaLSTM」架构,这是1999年到2000年间被提出的LSTM变体,直到现在仍然被广泛使用(例如,在谷歌的Tensorflow中)。LSTM的遗忘门实际上是一种端到端可微的快速权值控制器,我们在1991年也提出了这种结构[FAST0](详见第八章)。
2009年,我的博士学生JustinBayer作为第一作者完成了一个自动设计类似于LSTM的架构的系统,该系统在某些应用上的性能超过了「vanillaLSTM」。2017年,谷歌开始使用类似的「神经网络架构搜索」(NAS)技术。
自2006年起,我们一直与软件公司(例如,LifeWare)通力合作,大大提升了首写字母识别系统的能力。2009年,在Alex的努力下,利用「连接时序分类」(CTC)技术训练的LSTM模型成为了首次在国际竞赛(三个ICDAR2009举办的联通首写字母识别大赛(法文、波斯文、阿拉伯文))中夺冠的RNN模型。这极大地吸引了工业界的兴趣。
不久之后,LSTM便被广泛应用于涉及包括语言、语音、视频在内的序列数据的一切任务[LSTM10-11][LSTM4][DL1]。截至2017年,人们基于LSTM模型构建了Facebook的机器翻译系统(每周需要完成超过300亿份翻译任务)[FB17][DL4],超过10亿台iPhone上运行的苹果的「Quicktype」智能输入法[DL4],亚马逊的Alexa语音助手,谷歌的语音识别(自2015年起内置于安卓设备)[GSR15][DL4]、图像字幕生成[DL4]、机器翻译[GT16][DL4]、自动邮件回复[DL4]等系统。美国的「商业周刊」将LSTM成为「商业化程度最高的人工智能研究成果」。
到2016年为止,谷歌数据中心超过四分之一的算力都被用于LSTM(相比之下,只有5%被用于另一种名为「卷积神经网络」的流行的深度学习技术——详见第19章)[JOU17]。谷歌2019年发布的新的设备内置的语音识别(现阶段内置于你的手机上,而不是部署在服务器上)仍然是基于LSTM模型设计的。
通过我的学生RupeshKumarSrivastava和KlausGreff的工作,LSTM的原理也催生了我们在2015年5月提出的「Highway」神经网络[HW1],这是第一个具有数百层非常深的FNN结构的网络。微软提出的广为人知的ResNet[HW2](ImageNet2015竞赛的冠军方案)就是Highway神经网络的一种特例。然而,早期的Highway网络就可以在ImageNet上取得与ResNet大致相当的性能[HW3]。Highway层还常常被用于自然语言处理领域,而此时更为简单的残差层则性能较差[HW3]。
我们还通过没有「老师」监督信息的强化学习(RL)技术训练LSTM模型(例如,我的博士后BramBakker于2002年发表的工作[LSTM-RL])。我们还通过神经演化来训练LSTM,例如我的博士生DaanWierstra于2005年发表的工作[LSTM12],Daan后来成为了DeepMind公司的1号员工,而DeepMind的联合创始人正是我实验室中的另一名博士生ShaneLegg(Shane和Dann是DeepMind公司里最早发表人工智能论文的计算机科学博士)。
强化学习与LSTM的结合具有重要的意义。例如,2019年,DeepMind在「星际争霸」游戏(该游戏在很多方面都要比国际象棋和围棋更加困难)中击败了职业玩家,而它们使用的正式一种名为「Alphastar」的算法,该算法的决策中枢拥有通过强化学习训练的深度LSTM核心[DM3]。OpenAI的「Dactyl」仿人机械手也采用了通过强化学习训练的LSTM核心,它能够学着在没有「老师」监督信息的情况下,控制灵巧的机器人手[OAI1],同时「OpenAIFive」也于2018年通过学习在DOTA2游戏中成功击败了人类职业玩家[OAI2]。
上面提到的这一切成果的重要基础都是在1991年奠定的。后来,在慕尼黑工业大学和(当时还是私人的)瑞士DalleMolle人工智能研究所(IDSIA)的基础基金以及我在1990年代和2000年代早期的「神经网络寒冬」中从瑞士、德国、欧盟获得的公共基金的资助下,我的团队还研发出了「LSTM&CTC」等成果,试图在几乎没有人对神经网络感兴趣的年代保持这一领域的活力。
在此,我要特别鸣谢KurtBauknecht、LeslieKaelbling、RonWiliams以及RaySolomonoff等教授,他们对我提交的基金申请的积极评价在很大程度上帮助我自从1990年代以来获得了来自SNF的资金支持。
5.通过对抗生成神经网络实现人工好奇心(1990)
当人类与自己身处的世界交互时,他们会学着预测自己行为的后果。人们有很强的好奇心,会通过设计实验得出新的数据,并且可以从中学到更多知识。1990年,为了构建具有好奇心的人工智能体,我提出了一种新型的主动无监督学习(或自监督学习)算法[AC90,AC90b]。该方法以一个极小极大博弈为基础,其中一个神经网络最小化另一个神经网络最大化的目标函数。现在,我把这种两个无监督的对抗性神经网络之间的博弈称为对抗性好奇心[AC19],以区别于我们后来自从1991年提出的人工好奇心(详见第六章)。
然而,对抗性好奇心的工作原理如何呢?我们不妨将第一个神经网络成为控制器C,C以一定概率生成可能对某个环境产生影响的输出。第二个神经网络被称为世界模型M,M可以预测环境对于C的输出做出的反应,其使用梯度下降法最小化其误差,从而逐渐成为更好的预测器。然而,在一个「零和博弈」中,C试图找到的是使得M的误差最大的输出。因此,M的损失就是C的增益。
因此,在1990年,我们已经拥有了无监督(或自监督)的同时满足「生成式」和「对抗性」(这里我们采用很久以后在2014年的[GAN1]中出现的术语)两大特征的神经网络,它们生成能够产生新数据的实验输出,这不仅仅适用于静态的模式,同时也可以用于模式的序列,甚至是通用场景下的强化学习。
当下火热的对抗生成网络(GAN)[GAN0][GAN1](2010-2014)是对抗性好奇心[AC90]的一种应用,其中环境仅仅返回C目前的输出是否属于一个给定的集合[AC19]。
6.通过最大化学习进度的神经网络实现人工好奇心(1990)
因此,正如我们在1991年所指出的,在随机环境中,C的奖励不应该是M的误差,而应该是M的误差在后续训练迭代过程中的一阶导数的近似,即M获得的改进[AC91][AC91b]。因此,尽管面对上述充满噪声的电视屏幕会导致很高的误差,但C也不会在陷入这种困境时获得奖励。完全可预测和根本不可预测的情况都会使好奇心消失。这种思路催生了许多人工智能科学家和艺术家[AC09]的后续工作[AC10]。
7.用于无监督数据建模的对抗性网络(1991)
在我1990年发表首篇关于对抗生成网络的工作(详见第5章)后不久,我在科罗拉多大学博尔德分校做博士后时,又提出了一种无监督对抗性极小极大值原理的变体。神经网络最重要的任务之一就是学习图像等给定数据的统计量。
第一个关于PM的小型实验[PM1]是在大约30年前进行的,当时其计算成本大约是现在的100万倍。5年后,当计算成本降低了10倍时,我们得以说明,应用于图像的半线性PM变体会自动生成在神经科学领域广为人知的特征检测器(例如,从中心到周围的检测器、从周围到中心的检测器,以及方向敏感的棒状检测器[PM2])。
8.端到端的可微「快速权值」:能学着对神经网络进行编程的网络(1991)
一个典型的神经网络拥有比神经元更多的连接。在传统的神经网络中,神经元的激活值变化较快,而连接权值变化则较慢。也就是说,大量的权重无法实现短期记忆或临时变量,只有少数神经元的激活值可以做到。具有快速变化的「快速权值」的非传统神经网络则克服了这一局限性。
神经网络的动态连接或快速权值是由Christophv.d.Malsburg于1981年提出的[FAST],其他学者对此进行了更深入的研究,例如[FASTb]。然而,这些作者并没有采用端到端可微的系统,通过梯度下降学习来迅速操作「快速权重」的存储。我在1991年发表了下面这样的系统[FAST0][FAST1],其中慢速神经网络学着去控制独立的快速神经网络的权值。也就是说,我将存储和控制像在传统计算机中那样分开,但是,是以完全的神经方式(而不是以混合方式)做到这一点。这种思路催生了许多后续的工作,下面我将列举其中的一些。
我也曾说明了「快速权值」可以如何被用于元学习或「LearningtoLearn」,这也是我自1987年以后的一个主要的研究课题[META1]。在1992年后的参考文献[FASTMETA1-3]中,慢速RNN和快速RNN是相同的:网络中每个连接的初始权值都是由梯度下降法训练的,但是在一个迭代周期中,每个连接都可以由网络本身编址、阅读、并修改(通过O(log^n)个特殊的输出单元,其中n是连接的数目)。
而连接的权值可能迅速变化,从某种意义上说,网络具有了「自我参照」效应(认知心理学概念,指记忆材料与自我联系时记忆效果优于其它编码条件),这是由于理论上它可以学着运行任意可计算的权值变化算法或学习算法(作用于该网络的所有权值)。这催生了1990年代和2000年代的许多后续工作。
不使用「老师」监督信号的深度强化学习(RL)也可以从快速权值中受益(即使系统的动力不可微)。2005年,我之前的博士后FaustinoGomez[FAST5](现为NNAISENSE的CEO)也说明了这一点,而那时人们负担得起的电脑的运行速度相较于1990年代已经提升了1000倍。
在过去的几十年中,我们发表了大量其它的方法来学习如何通过非常紧凑的代码,快速生成大型神经网络的大量的权值,例如:[KO0][KO1][KO2][CO1][CO2][CO3]。在此,我们利用了「成功的大型神经网络的柯尔莫哥洛夫复杂性或算法的信息量实际上可能非常小」这一规律。
值得一提的是,在2013年7月,「压缩网络搜索」(CompressedNetworkSearch)[CO2]成为了第一个在没有任何无监督预训练(与第一章不同)的情况下,使用强化学习技术成功地直接根据高维感知数据(视频)学会控制策略的深度学习模型。不久之后,DeepMind也开发出了一个用于高维感知输入的深度强化学习模型[DM1][DM2]。
现在,最著名的基于快速权值的端到端可微神经网络[FAST0]实际上是我们2000年提出的vanillaLSTM网络[LSTM2](详见第4章),它的遗忘门可以学着控制内部LSTM神经元的自循环连接的快速权值。今天,所有主要的IT公司都大量使用vanillaLSTM[DL4]。同样,这个模型的起源可以追溯到1991年(详见第4章和第8章)。
9.通过神经网络学习顺序注意力机制(1990)
因此,当时我们已经提出了现在非常常用的两种类型的神经顺序注意力机制:
这催生了许多后续的工作。今天,许多人都在使用带有顺序注意力学习机制的神经网络。
10.分层强化学习(1990)
传统的不具有「老师」的强化学习(RL)不能层次化地将问题分解为更容易解决的子问题。正是我在1990年提出分层强化学习(HRL)的原因,HRL使用基于神经网络的端到端可微分的子目标生成器[HRL0],以及学着生成子目标序列的循环神经网络(RNN)[HRL1][HRL2]。强化学习系统获得形如(start,goal)的额外输入。有一个评价器神经网络会学着预测从起始状态到目标状态的奖励/开销。基于RNN的子目标生成器也可以获取(start,goal),并使用评价器神经网络的副本通过梯度下降来学习成本最低的中间子目标序列。强化学习系统试图使用这样的子目标序列来实现最终目标。
11.通过循环神经世界模型规划并进行强化学习(1990)
12.将目标定义命令作为额外的神经网络输入(1990)
在现在的强化学习神经网络中,有一个被广泛使用的概念:用额外的目标定义输入模式来编码各类人物,这样一来神经网络就知道下一步该执行哪个任务。我们在1990年的许多工作中[ATT0][ATT1][HRL0][HRL1]提到了这一概念。在[ATT0][ATT1]中,我们使用一个强化学习神经控制器学着通过一系列的「扫视」(Saccade)操作去控制任务的「凹轨迹」(Fovea),从而找到视觉场景下的特定目标,因此可以学习到顺序注意力(详见第9章)。
我们通过特殊的不变的「目标输入向量」将用户定义的目标输入给系统(详见第3章第2节[ATT1]),而系统通过「凹轨迹移动」(Fovea-Shifting)来形成其视觉输入流。
具有端到端可微字目标生成器的分层强化学习(HRL,详见第10章)[HRL0][HRL1]也使用了一个具有形如(start,goal)的任务定义输入的神经网络,学着预测从起始状态到目标状态的成本。(25年后,我之前的学生TomSchauls在DeepMind提出了「通用值函数近似器」[UVF15])。
这一思想催生了许多后续的工作。例如,我们开发的「POWERPLAY」系统(2011)[PP][PP1]也使用了任务定义的输入将不同的任务区分开来,不断地提出自己IDE新目标和新任务,以一种主动的、部分无监督的或自监督的方式逐渐学着成为一个越来越通用的问题求解器。2015年,使用高维视频输入和内在动机(intrinsicmotivation)的强化学习机器人也学着去探索[PP2]。
13.作为神经网络输入/通用值函数的高维奖励信号(1990)
传统的强化学习是基于一维奖励信号的。然而,人类有数百万种作用于不同种类刺激(例如,疼痛和愉悦)的信息传感器。据我所知,参考文献[AC90]是第一篇关于具有多维、向量值的损失和奖励信号的强化学习的论文,这些信号从许多不同的感知渠道传入,我们将预测所有这些传感器接受信号的累计值,而不仅仅是单个标量的整体奖励,这与之后的通用值函数(GVF)相类似。不同于之前的自适应评价(adaptivecritics),我们1990年发表的这篇论文[AC90]提出的学习机制是多维循环的。
不同于传统的强化学习,这些信息量巨大的奖励信号也被用作使控制器神经网络学着执行最大化累积奖励的动作的输入。
14.确定性策略梯度(1990)
25年后,DeepMind提出了该方法的一种变体「确定性策略梯度算法」(DeterministicPolicyGradientalgorithm,DPG)[DPG][DDPG]。
15.用网络调整网络/合成梯度(1990)
自那以后,我一直尽我所能做到公正和诚信。至少,我们1987年的论文[GP1]似乎是第一篇将GP用于带有循环结构以及可变大小的代码的论文,也是首次关于在逻辑编程语言中实现GP。
17.深度神经「热交换器」(1990)
「神经热交换器」(NHE)是一种用于深度多层神经网络的监督式学习方法,受启发于物理意义上的热交换器。输入「加热」会经过许多连续层的转换,而目标则从深层管道的另一端进入并且进行「冷却」。与反向传播不同,该方法完全是局部的,使其不需要进行并行计算也可以较快运行。
自1990年[NHE]发表以来,我不定期地在各大学的演讲中会提到该方法,它的与亥姆霍兹机(HelmholtzMachine)关系密切。同样,该方法的实验是由我杰出的学生SeppHochreiter完成的(详见第3章、第4章)。
18.我的博士毕业论文(1991)
1991年,我发表了我在慕尼黑工业大学的博士论文[PHD],总结了我自1989年以来的一些早期工作,其中包括:第一个强化学习(RL)神经经济学方法(NeuralBucketBrigade)[BB1][BB2]、用于局部时空循环神经网络的学习算法[BB1]、具有端到端可微子目标生成器的分层强化学习(HRL,详见第10章)、通过两个被称为控制器C和世界模型M的循环神经网络组合进行强化学习和规划、顺序注意力学习神经网络、学着调整其他神经网络的神经网络(包括「合成梯度」,详见第15章),以及用于实现「好奇心」的无监督或自监督的生成对抗网络(详见第5章)。
当时,许多其他人的神经网络研究受到了统计力学的启发(例如,[HOP])。我在1990-1991年间的工作(以及我早先于1987年发表的学位论文)呈现了另一种面向程序的机器学习的观点。
自从1990年发表[AC90]以来,我经常指出:神经网络的权值应该被看作是它的程序。一些研究者认为深度神经网络的目标是学习观测数据的有用的内部表示(甚至针对表征学习举办了名为ICLR的国际学术会议),但我一直倾向于认为神经网络的目标是学习一个计算此类表征的程序(参数)。
在Gdel的启发下,我构建输出为其它神经网络的程序或权值矩阵的神经网络,甚至是可以运行和检查自己的权值变化算法或学习算法的自参照循环神经网络(详见第8章)。
与Gdel的工作不同的是,这里的通用编程语言并不是基于整数,而是基于实数值,这样一来典型神经网络的输出对于其程序而言就是可微的。也就是说,一个简单的程序生成器(高效的梯度下降过程[BP1])可以在程序空间中计算出一个方向,在该方向上可以发现更好的程序[AC90],尤其是更好的「程序生成」程序(详见第8章)。我自1989年以来的大量工作都利用了这一事实。
19.从无监督预训练到纯粹的监督式学习(1995-1995,,2006-2011)
正如第1章中所提到的,我构建的第一个非常深的学习器是1991年的栈式循环神经网络,它使用无监督预训练学习深度大于1000的问题。但不久之后,我们发表了更多无需任何预训练的解决「深度学习」问题的通用方法(详见第3章),通过纯粹的监督式长短时记忆网络(LSTM)来替代无监督的栈式循环神经网络[UN1-3](详见第4章)。
也就是说,在公元2000年之前,无监督的预训练已经不再那么重要了,因为LSTM并不需要它了。实际上,这种从无监督预训练到纯粹的监督式学习的转变早在1991年就开始了。
多年之后,在2006年到2010年间,也出现了非常类似的转变,但这次这种转变并不是针对于循环神经网络(RNN),而是发生在没那么通用的前馈神经网络(FNN)上。同样的,我的小实验室在这次转变中也起到了核心作用。2006年,研究者通过栈式FNN的无监督预训练改进了FNN中的监督学习[UN4](详见第1章)。但是在2010年,我们的团队以及我杰出的罗马尼亚博士后DanCiresan[MLP1]说明可以通过简单的反向传播训练深度FNN,而且对于重要的应用来说完全不需要无监督预训练。
我在瑞士人工智能实验室IDSIA的团队,通过将传统的FNN替换为另一种名为卷积神经网络(CNN)的神经网络,进一步改进了上述关于FNN中纯粹监督式深度学习的工作(2010)。自1970年起,研究者们便发明并不断改进了CNN[CNN1-4]。
我们对基于GPU的快速CNN的监督式集成(请参阅Ciresan等人于2011年发表的论文)[GPUCNN1]是一个重大的突破(相较于早期对CNN进行加速的工作快了许多[GPUCNN]),并在2011年5月15日至2012年9月10日期间连续4次在重要的计算机视觉竞赛中夺冠[GPUCNN5]。尤其是,我们的快速深度卷积神经网络是第一个在手写汉字识别竞赛(ICDAR2011)中夺冠的算法,也是在所有国际竞赛中实现超越人类的视觉模式识别能力的算法(我们在IJCNN2011的现场交通标志识别大赛中获得了第一名,误差率为0.56%,也是该比赛中唯一超越人类的方法,人类的平均误差为1.16%,本届比赛第三名方案的误差为1.69%);我们的模型也在2012年5月的ISBI大会举办的图像分割大赛中首次夺冠,在2012年9月10日的ICPR大会举办的目标检测大赛中首次夺冠,同时也是第一个在医学癌症图像检测竞赛中夺冠的模型[GPUCNN5];我们的快速CNN图像扫描器比之前方法的运行速度要快1000倍以上[SCAN]。
在2011年的一次竞赛中,我们的系统将目标识别误差率降低了一半以上,而此时距离「奇迹之年」已经过去了20年[GPUCNN2]。不久之后,其他研究者也在图像识别竞赛中也采用了类似的方法[GPUCNN5]。
与我们的LSTM在2009年取得的结果一样(详见第4章),我们的上述结果以及2010-2011年在前馈神经网络上取得的结果引起了工业界极大的兴趣。例如,在2010年,我们为全世界最大的钢铁制造商ArcelorMittal提出了我们基于GPU的深度快速网络,从而大大改进了钢铁缺陷检测技术[ST]。这可能是深度学习技术在重工业领域取得的第一个重大突破。如今,大多数人工智能初创公司和主要的IT公司以及其它著名的公司都在使用这种监督式的快速GPU神经网络。
20.令人惊讶的关于人工智能的FKI系列技术报告(1990年代)
当时,我们还提出了序列注意力学习神经网络,这是另一种已经变得非常流行的概念(关于观测空间的「硬」注意力机制和潜在空间的「软」注意力机制的介绍都请参阅第9章);还有学着对另一个神经网络的快速权值、甚至是它们自己的权值进行编程的神经网络(详见第8章),以及上述提到的所有其它技术:从分层强化学习(详见第十章)到使用循环神经世界模型进行规划(详见第11章),等等。
当然,要想将这些算法商业化运行,人们不得不等待更快的计算机的诞生。然而,直到2010年代中期,我们的产品被苹果、谷歌、Facebook、亚马逊、三星、百度、微软等巨头所使用,每天被数十亿台电脑使用数十亿次以上[DL4]。
上述大多数研究结果首次发表在慕尼黑工业大学的FKI系列科技报告中,我为其手动绘制了许多示意图,本文展示了其中的一部分(详见第10、11、13、18章)。现在,FKI系列报告在人工智能的历史上起到了重要的作用,它介绍了许多重要的概念:
值得一提的是,报告FKI-126-90[AC90]还介绍了大量现在被广为使用的概念:
后来,举世瞩目的FKI科技报告自1990年代起介绍了一系列大大压缩神经网络从而提升其泛化能力的方法[KO0][FM]。
21.结语
放眼于以英语为主导的学术圈,我们往往不能看清一个事实[DLC]——深度学习是在官方语言不是英语的地方被发明的:
当然,深度学习只是人工智能研究的一小部分,它主要局限于被动的模式识别。我们将其视为通过元学习或「learningtoLearn」的学习算法(于1987年发表,研究更通用的人工智能的副产品,具有人工好奇心和创造力的系统定义了自己的问题并设定自己的目标(1990),演化计算(1987)、RNN演化、压缩网络搜索、在真实部分可观测的环境下(此时用于棋类游戏的传统强化学习不起作用,1989)的智能体的强化学习、通用人工智能、如GdelMachine这样的最优通用学习机(2003至今)、对运行在通用计算机上的程序的最优搜索等。
当然,人工智能本身只是更宏大的科学追求的一部分,它将宇宙从简单的初始条件推向越来越深不可测的复杂性[SA17]。最后,即使这个令人敬畏的过程可能也只是所有逻辑上可能存在的宇宙中更宏大、更有效的计算中的沧海一粟[ALL1][ALL2][ALL3]。