万万没想到,未得图灵奖的LSTM之父Jürgen,30年前做了这么多DL前沿研究

当今深度学习的很多概念,都是 30 年前 LSTM 之父 Jürgen 玩过的?近日,Jürgen Schmidhuber 发表了一篇文章,详细论述了近 30 年前(1990-1991)年间他和团队所进行的很多研究,其中的研究思想,据他本人称,为当今的许多深度学习前沿研究奠定了基础,包括 LSTM、元学习、遗忘门机制、注意力和强化学习等。

今年 3 月份,ACM 2018 图灵奖得主公布,深度学习三巨头 Geoffrey Hinton、Yoshua Bengio 和 Yann LeCun 三人共享此殊荣。

此次 ACM 大奖的颁布,让人感叹「实至名归」的同时,也让人不禁想起 LSTM 之父 Jürgen Schmidhuber,他是否也应获得此荣誉?

作为 LSTM 发明人、深度学习元老,Jürgen Schmidhuber 的知名度一直没有 Yann LeCun、Yoshua Bengio 等人那么高,但他对人工智能技术发展的贡献是毋庸质疑的。

近日,Jürgen 在 Twitter 上发表文章(8 月份开通账号时还引起了社区的小轰动),宣称深度学习革命背后的许多基础理念都基于他们团队近 30 年前的工作,引起了社区极大的讨论,也让人对 Jürgen 团队的研究有了清晰的认知。

在文章《Deep Learning: Our Miraculous Year 1990-1991》中,Jürgen 称深度学习神经网络所使用的技术是其团队之前在模式识别和机器学习中所做的工作。虽然当时的条件下,发表的内容无人问津,但在二十五年后成为了当今工业和学术领域使用最多的技术。2020 年即将到来,这些技术发表也将近 30 年,Jürgen 发表了这篇文章,详细介绍了当时团队所完成的工作。

这些技术涵盖了深度学习中很多的知识点,Jürgen 总结如下:

0. 深度学习的背景:神经网络

1. 第一个非常深的神经网络,基于无监督预训练

2.. 压缩、蒸馏神经网络到另一个(1991)

3. 基础深度学习问题:梯度消失、爆炸(1991)

4. 长短时记忆循环神经网络:有监督的深层学习

5. 通过对抗生成神经网络的人工「好奇心」(1990)

6. 通过最大化神经网络的学习过程制造人工的好奇心(1991)

7. 用于无监督数据建模的对抗性网络(1991)

8. 端到端可微分快速权重:让神经网络学习去编写神经网络(1991 年)

9. 通过 NN 学习序列注意力(1990)

10. 分层强化学习(1990)

11. 用循环神经世界模型做规划(1990)

12. 将定义好的目标命令作为神经网络的额外输入(1990)

13. 将高维奖励信号作为神经网络的输入/泛用价值函数(1990)

14. 确定性策略梯度(1990)

15. 用网络来调整网络/同步梯度(1990)

16. 在线循环网络的 O(n^3) 梯度(1991)

17. 深度神经热度交换器(1990)

18. 博士论文(1990)

19. 从无监督预训练到纯监督学习(1991-95 和 2006-11)

20. FKI 人工智能技术报告(1990)

21. 总结

Jürgen 提到,以上总结不仅包含面向非专业人士背景知识,还包括面向专业人士的参考文献,以便于评估信息源。此外,他还在文章中提到了一些基于这些概念的后续相关工作。机器之心对这些研究思想进行了简要概述,如果读者希望了解更详细的研究工作与背后的思考,可查阅文后原文链接。

0. 深度学习的背景:神经网络

人的大脑是依靠突触建立连接的,各种行为与能力也都隐藏在突触连接的强度改变。这与人工神经网络相似,依靠连接权重学习不同的任务。在众多研究中,1970 年的 Seppo Linnainmaa 梯度计算算法,用于逐渐减弱某些权重连接并增强其他连接,从而使人工神经网络的行为更像一位老师。这种计算方法,如今通常称为反向传播或自动微分的反向模式。

当今功能最强大的 NN 往往很深,它们具有许多层神经元或许多后续的计算阶段。然而,在 1980 年代,基于梯度的训练不适用于深层神经网络,仅适用于浅层神经网络。对于深度循环神经网络(RNN),它与更有限的前馈神经网络(FNN)不同,RNN 具有反馈连接。RNN 原则上可以处理任意深度的问题,然而 1980 年代早期的 RNN 并没有在实践中学习到深度问题。我们想克服此缺点,以实现基于 RNN 的「通用深度学习」或「通用深度学习」。

1. 第一个非常深的神经网络,基于无监督预训练(1991)

我们克服深度学习问题的第一个想法是通过对 RNN 的分层堆栈进行无监督的预训练来促进深度 RNN 的监督学习,从而获得第一个称为「极深学习器」的神经序列分块,或称为神经历史压缩器(Neural History Compressor)。

每个较高的级别使用 Predictive Coding 技巧将较低级别的数据表示的描述长度(或负对数概率)最小化,并在发生不可预测的数据时更新神经元的激活函数,因此网络仅会存储未知的数据。换句话说,分块学习器可以压缩数据流,使得深度学习的问题不太严重,而且可以通过标准的反向传播。

而 2006 年的证明,本质上是为我们团队在 1990 年代初期使用的 RNN 堆栈构建证明:每个更高的级别都试图减少以下级别中数据表示的描述长度(或负对数概率)。

在上述无监督的深度学习器出现之后不久,我们就在用纯监督的 LSTM 克服深度学习问题的工作了。后来,在 2006 年至 2011 年之间,我的实验室也经历了从无监督的预训练转向监督学习的过程。

当然,前馈神经网络中的深度学习出现要早得多。Ivakhnenko 和 Lapa 于 1965 年发布了第一个通用的,可构建任意多层的深层感知器通用学习算法。例如,Ivakhnenko 于 1971 年发表的论文已经描述了一个 8 层的深度学习网络。但是,与 Ivakhnenko 的深层前馈神经网络及其 1970 年代和 80 年代的后继者不同,我们的深层 RNN 具有通用的并行顺序计算体系结构。此外,在 1990 年代初期,大多数神经网络研究仍仅限于相当浅的网络,其后续计算阶段少于 10 个,而我们的方法已经使用了 1000 多个这样的阶段。

2. 压缩、蒸馏神经网络到另一个神经网络(1991)

我们在以前的论文中提到了一种将网络层次结构压缩为单个深度 RNN 的方法,从而学会了解决非常深的问题。假设教师 NN 已学会预测数据,通过训练学生 NN 模仿教师 NN 的行为,它的知识可以压缩到学生 NN 中。我把这种行为称作是「collapsing」或「compressing」一个神经网络到另一个网络。如今,这已被广泛使用,也称为将教师网络的行为「蒸馏」或「克隆」到学生网络。

3. 基础深度学习问题:梯度消失、爆炸(1991)

背景部分 0 指出深度学习很难。但是为什么很难呢?主要是我的第一位学生 Sepp Hochreiter 在其 1991 年毕业论文中发现并分析的基本深度学习问题。他的工作表明,深层 NN 受到梯度消失或爆炸这一问题的困扰:在典型的深层或循环网络中,反向传播的误差信号要么迅速缩小,要么急速膨胀。在两种情况下学习都会失败,该分析得出了现在称为 LSTM 的基本原理。

1994 年,其他研究者发表的结果与 1991 年 Sepp 的梯度消失结果基本相同。

4. 长短时记忆循环神经网络:有监督的深层学习

1991 年我们提出长短时记忆循环神经网络被认为是机器学习历史上重要的工作,启发了很多后续的研究。

首先是使用了遗忘门的 vanilla LSTM,这是一种 LSTM 变体,也是 TensorFlow 等框架中使用的 LSTM 架构,在 1991 年我已经介绍了它——端到端可微分快速权重控制器。

此外还有 2005 年使用完全反向传播的 LSTM 和 Bi-LSTM。以及 2006 年的 CTC-LSTM。日后,LSTM 及其变体被广泛地使用在各类序列数据上,如谷歌和 Facebook 的机器翻译、语音识别、谷歌的神经架构搜索(2009 年我的学生 Justin Bayer 作为一作提出了这一方法)。

作为 LSTM 思想的延伸,我们后来在 2015 年提出了高速公路网络,残差网络是它的特例。高速公路网络通过门来控制前后层的快捷连接,从而大大降低了梯度消失问题,以及信息流传递问题。

5. 通过对抗生成神经网络的人工「好奇心」(1990)

为了建立好奇的人工智能体,我在 1990 年引入了一种新型的主动无监督或自监督学习方法。它基于最小极大博弈,其中一个 NN 最小化了另一个 NN 最大化的目标函数。今天,我将两个无人监督对抗性 NN 之间的竞争称为对抗性好奇心,以区别于我们自 1991 年以后来人工好奇心。

对抗好奇心如何运作?第一个 NN 称为控制器 C,C 概率地生成可能影响环境的输出。第二个 NN 被称为世界模型 M,它对 C 的输出预测环境的反应。使用梯度下降,M 使误差最小化,从而成为更好的预测指标。但是在零和博弈中,C 试图找到使 M 误差最大化的输出,M 的损失就是 C 的收益。

流行的对抗性生成网络(GAN)(2010-2014)是对抗性好奇心的一种应用,其中环境简单地返回 C 的当前输出是否在给定集中。

6. 通过最大化神经网络的学习过程制造人工好奇心(1991)

1990 年的「世界模型 M」的问题在于控制器 C 的奖励(被最大化的)。在随机环境下,却可能失败。由于随机性,C 可能学习去关注那些 M 经常出现预测错误的情况。在 1991 年的工作中,在随机环境下,C 的奖励不应该是 M 的错误,而是 M 的错误在训练轮次中的微分,这边是 M 模型的改进版本。这些也启发了很多后续的工作。

7. 用于无监督数据建模的对抗性网络(1991)

在 1990 年首次从事对抗性生成网络的工作后不久,我在科罗拉多大学博尔德分校担任博士后时介绍了无监督对抗极小极大化原理的一种变体。我在 minimax 游戏中再次使用了梯度下降/上升原理,其中一个 NN 极小化了另一个极大化的目标函数,两个无人监督的对抗性 NN 之间的对抗称为可预测性极小化(PM,1990s)。

8. 端到端可微分快速权重:让神经网络学习去编写神经网络(1991 年)

经典的神经网络中,连接数大于神经元数量。传统上,神经元激活得很快,但连接的权重则改变得比较慢。这说明,神经元的权重不能有效根据因短时间记忆或临时变量进行调整,只有少量的神经元激活函数可以。非传统的神经网络快速权重则可以克服这个问题。

1981 年 Christoph v. d. Malsburg 和其他研究提出了动态连接或神经网络快速权重。在 1991 年,我提出了基于梯度下降、通过 2D 张量或外积更新进行激活控制快速权重的方法。这一工作的启发是:用端到端可微分控制的方式获取比同大小的 RNN 下更多的临时变量。这一工作同时清楚地解决了在端到端可微分网络中学习「内部注意力」的问题。

这一工作也说明了快速权重怎样可以被用于元学习。从 1992 年以后,慢速 RNN 和快速 RNN 是一样的,每个连接的初始权重使用梯度下降进行计算,但在每一个训练的轮次,每个权重可以根据网络自身进行权重调整。

而无教师的深度强化学习也可以从快速权重中受益,即使系统的动态学习过程是不可微的。

9. 通过 NN 学习序列注意力(1990)

与传统的神经网络不同,人类使用序列的视线移动和选择性的注意力来检测和识别模式。这就是为什么我们在三年前(1990 年及以后)引入序列注意学习神经网络的原因。此后不久,我还明确地谈到了 RNN(第 8 节)中「内部注意力焦点」的学习。那时我们已经拥有了两种现在常见的神经顺序注意:通过神经网络中的乘法单元进行端到端可微分的「软」注意力和「硬」注意力。

我在 CMSS 1990 上获得的概述论文在第 5 节中总结了我们有关注意力的早期工作,这是第一个结合 glimpses 共同训练识别、预测组件与注意力组件(注视控制器)的神经网络系统。

10. 分层强化学习(1990)

传统强化学习(RL)不会将问题分解为更容易解决的子问题,这就是我为什么在 1990 年引入了带有端到端可微 NN 的子目标生成器,以及能学习生成子目标序列的循环神经网络的原因,它们共同构建了分层强化学习。

我们在 1990-91 年发表的论文是许多有关 HRL 的后续论文中的第一篇,此后不久,其他研究者也开始在 HRL 上做一些前沿研究。

11. 用循环神经世界模型做规划(1990)

1990 年,我介绍了基于控制器 C 和世界模型 M 两个 RNN 模型组合的强化学习(RL)和规划。M 学习预测 C 的行为后果。C 学习使用 M 来提前规划多个时间步,选择使预测的累积奖励最大化的动作序列。近年来,这种思路带来了许多后续研究。

12. 将定义好的目标命令作为神经网络的额外输入(1990)

现在,一个在强化学习中被广泛使用的概念是使用额外的目标定义输入模式来编码许多任务,使得神经网络知道接下来应该执行什么任务。我在 1990 年就在许多工作下提出了这一概念。

13. 将高维奖励信号作为神经网络的输入/泛用价值函数(1990)

传统的强化学习基于一维的奖励信号,而人类则有着百万种信息传感器,用于获取不同的疼痛和愉悦感受。我们的团队有第一个使用多维度、向量化价值信号的强化学习论文,并使用了多种传感器获取信号。网络最终预测一个累积的奖励值。这些奖励信号作为信息输入到神经网络控制器中,并让网络执行可以最大化累积奖励的行为。

14. 确定性策略梯度(1990)

1990 年论文的章节「Augmenting the Algorithm by Temporal Difference Methods」结合了基于动态规划的时序差分方法,以梯度的方式来预测累积奖励,以计算单独控制网络的权重变化。25 年过后,DeepMind 将其变种称为确定性策略梯度算法(DPG)。

15. 用网络来调整网络/梯度同步(1990)

在 1990 年,我提出了很多使用神经网络去学习调整其他网络的方法。例如,在 An Approach to Local Supervised Learning in Recurrent Networks 中,需要被最小化的全局错误评价是一个 RNN 输出单元在时间上输出的所有错误之和。

DeepMind 在 25 年后提出了合成梯度的思路,和我的一些工作类似。

16. 在线循环网络的 O(n^3) 梯度(1991)

原本全循环连续运行网络每一个时间步都需要 O(n^4) 的计算复杂度,我发布了一种方法,该方法可以计算出完全相同的梯度,并且需要固定大小的内存,此外,每个时间步的平均时间复杂度仅为 O(n^3)。

但是,这项工作并没有真正被接纳,因为 RNN 的先驱 Ron Williams 先采用的这种方法。

17. 深度神经热度交换器(1990)

深度神经热度交换器是一个监督学习方法,用于深度多层神经网络。输入数据会通过许多后层被加热,而目标则会从深度管道的另一端输入,并冷却。和反向传播不同,这一方法是完全局部的。这使得网络不太需要并行计算了。这一工作在我在很多大学的讨论中提到,和 Helmholtz machine 非常相似。

18. 博士论文(1990)

我在 TUM 的博士学位论文也于 1991 年发表,总结了我自 1989 年以来的一些早期工作,包括第一个强化学习(RL)Neural Economy (the Neural Bucket Brigade)、在局部空间和时间上的 RNN 学习算法,带有端到端可微分子目标生成器的分层 RL(HRL)、通过两个称为控制器 C 和世界模型 M 的 RNN 组合进行规划、序列注意力学习 NN、学会调整其他 NN 的 NN(包括「合成梯度」)、以及通过无监督或自监督生成对抗网络以实现好奇心。

那时,其他人进行的大多数 NN 研究都是受统计机制启发的,1990-91 年的工作体现了机器学习的另一种面向程序的观点。

19. 从无监督预训练到纯监督学习(1991-95 和 2006-11)

我的第一个「极深学习器」是 1991 年的 RNN stack,它使用无监督的预训练来学习深度大于 1000 的问题。然而实际上,从无监督的预训练到纯监督学习的转变已经在 1991 年开始。2010 年,我们的团队与 Dan Ciresan 一起展示了深层 FNN 可以通过简单的反向传播进行训练,并且根本不需要进行无监督的预训练。我们的系统在当时著名的图像识别基准 MNIST 上创下了新的记录。

深度 CNN 在 GPU 上赢得计算机视觉竞赛的历史使 IDSIA 团队进一步改进了上述关于纯监督的 FNN 深度学习方法。在 2011 年,距离我们的 Annus Mirabilis 已经 20 年了,我们的系统将对象识别的错误率降低了一半以上。此后不久,其他人在图像识别竞赛中应用了类似的方法。

20. FKI 人工智能技术报告(1990)

之前我所介绍的这些工作,大部分都是在慕尼黑工业大学 FKI 系列报告中初次发表的。特别是 FKI-126-90 报告,其介绍了所有现在广泛使用的概念。而同行评审过的版本是在这些报告发表之后才进行的。

21.总结

从以上的举例中说明,深度学习其实是从非英语母语的地方诞生的。当然,深度学习也仅仅是 AI 的一小部分,大部分都局限于被动的模式识别上。我们团队将其视为我们在研究中的一些副产品。我们研究的是更通用的 AI,如元学习和「学习如何学习」的算法、有着人工好奇心和创造力来自我发现问题并设置目标的系统、进化计算方法和 RNN 改进、压缩网络搜索、在部分可观测环境中学习智能体的强化学习、通用人工智能、泛用优化学习机器(如哥德尔机器)、在通用目标计算机,如 RNN 上进行的程序优化搜索算法等。

当然,AI 本身也只是推动宇宙从简单的初始条件向更深不可测的复杂性前进的宏大计划中的一部分。最终,即使这一伟大的进程可能也只是更广大的、计算效率最优的逻辑可能宇宙中的一小部分。


Jürgen Schmidhuber 原文地址:http://people.idsia.ch/~juergen/deep-learning-miraculous-year-1990-1991.html

理论GANLSTMJürgen Schmidhuber
5
暂无评论
暂无评论~