1. 第一个基于无监督预训练的深度学习器(1991)

文章插图
为了解决上述的「深度学习问题」,我首先想到了通过对一个层次化 RNN 的无监督预训练促进深度 RNN 中的监督学习(1991),从而实现了第一个「非常深的学习器」,我们将其称为「神经序列组块」(Neural Sequence Chunker)[UN0],或称「神经历史压缩器」[UN1] 。每个更高层的 RNN 会使用预测性编码技术最小化下层 RNN 中的数据表征的描述长度(或负对数概率) 。其中,预测性编码技术试图在给定先前的输入的情况下,预测接下来的数据流中的下一个输入,并且只在存在不可预测的数据时更新神经激活值,因此此时只存储未知的东西 。换句话说,神经序列组块会学着压缩数据流,从而减缓「深度学习问题」,使其能够通过标准的反向传播方法求解 。
尽管那时的计算机要比现在同等价位的计算机运算得慢一百万倍,但是截止到 1993 年,我的方法可以解决之前无法解决的、深度大于 1000[UN2] 的「非常深的深度学习」(需要超过 1000 个后续的计算步骤,步骤越多则学习的深度越深) 。在 1993 年,我们还发布了一个「连续」版本的神经历史压缩器[UN3] 。
据我所知,序列组块[UN0]同时还是第一个由在不同(自组织的)时间尺度上运行的 RNN构成的系统(实际上,我还有一种方法,可以将所有这些 RNN 「蒸馏」到一个很深的、在单个时间尺度上运行的 RNN 中——详见本文第 2 章) 。几年之后,其他的研究者也开始在多时间尺度 RNN 的研究领域发表相关工作(例如,[HB96],相关的工作还有 Clockwork RNN[CW]) 。
在这项工作发表十多年后[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)
在我们上面提到的关于神经历史压缩器(第 1 章)的论文中,还介绍了一种将网络的层次结构(较高层网络相较于较低层网络,往往在慢得多的自组织时间尺度上运行)压缩到一个深度 RNN[UN1] 中,从而在尽管存在第 0 章提到的障碍的情况下,学着解决非常深的网络的学习问题 。这部分的内容在参考文献 [UN1][DIST1] 的第 4 章有介绍,它们讨论了「有意识」的组块和「下意识」的自动化,介绍了将一个神经网络的知识迁移到另一个神经网络上的通用原则 。
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
