我在上述有关 Neural History Compressor 的论文中还介绍了一种将网络层次结构压缩到单个深度 RNN 的方法,从而学会了解决非常深入的问题。将一个神经网络的知识转移到另一个神经网络的一般原理是,假设教师 NN 已学会预测数据,通过训练学生 NN 模仿教师 NN 的行为,它的知识可以压缩到学生 NN 中。
神经网络的动态连接或快速权值是由 Christoph v. d. Malsburg 于 1981 年提出的,其他学者对此进行了进一步的研究。然而,这些作者并没有提出端到端可微分的系统,通过梯度下降学习来快速操作快速权重存储。我在 1991 年发表了这样一个系统,其中慢速神经网络学习控制独立的快速神经网络的权值。也就是说,我将存储和控制分开,就像在传统计算机中那样,但是以完全的神经方式 (而不是以混合方式)。后续的许多工作基于这一方法。
我还展示了如何快速使用权重进行元学习或 “学习如何学习”(learning to learn),这是我自 1987 年以来的主要研究课题之一。
顺便一提,同年我们在 Deep RL (但没有快速权重) 方面也做了相关工作,据我所知,这是第一篇标题包含 "learn deep” 这个词组的论文 (2005 年)。
如今,最著名的基于快速权重的端到端可微分神经网络实际上就是我们的原始 LSTM 网络,其遗忘门学会控制内部 LSTM 单元自循环连接的快速权重。所有主要的 IT 公司现在都大量使用 LSTM,而这可以追溯到 1991 年。
1987 年发表的固定大小的存储学习算法用于完全循环连续运行的网络,它要求每个时间步长进行 O (n^4) 计算,其中 n 是非输入单元的数量。我提出了一种方法,该方法计算完全相同的梯度,需要固定大小的存储,其顺序与之前的算法相同。但是,每个时间步长的平均时间复杂度只有 O (n^3) 。然而,这项工作并没有实际意义,因为伟大的 RNN 先驱 Ron Williams 首先采用了这种方法。
顺便说一句,我在 1987 年也犯了类似的错误,当时我发表了我认为是第一篇关于遗传编程 (GP) 的论文,也就是关于自动进化的计算机程序。直到后来我才发现,Nichael Cramer 早在 1985 年就已经提出了 GP。从那以后,我一直在努力做正确的事情。至少我们 1987 年的论文 [GP1] 似乎是第一篇在 GP 上使用循环和可变大小代码的论文,也是第一篇在 GP 上使用逻辑编程语言实现的论文。
大多数上述结果实际上是首次发表是在慕尼黑工业大学的 FKI 技术报告系列,为此,我手工画了很多插图,本文的插图就是其中一些。FKI 系列现在在人工智能的历史中起着重要作用,因为它引入了几个重要概念:用于非常深的神经网络的无监督预训练、将一个 NN 压缩 / 蒸馏成另一个、长短期记忆、通过神经网络使学习进度最大化的好奇心 (Artificial Curiosity)、端到端快速权重和学会编程其他神经网络的神经网络、通过 NN 学习序列注意力、将目标定义命令作为额外的 NN 输入、分层强化学习等等。
特别是,其中一些概念现在已经在整个 AI 研究领域被广泛使用:使用循环神经世界模型进行规划、作为额外的 NN 输入的高维奖励信号 / 通用值函数、确定性策略梯度、NN 既具有生成性又具有对抗性、人工好奇心和相关概念。1990 年代以后的引人注目的 FKI 技术报告描述了大幅压缩 NN 以提高其泛化能力的方法。