当环境发生变化,使我们难以实现目标时,我们必须进行适应。若只能单纯依赖进化来寻找更合适的基因程序,这将是一个极其缓慢的过程。幸运的是,进化“发现”了学习,人类能够通过经验进行适应,形成新的行为来完成当前任务。表面上看,学习就是这样:我们在某一任务上不断变得更擅长。但学习可能很慢,而我们却常常置身于新的情境中,不得不再次适应。幸运的是,任务很少完全陌生,更为重要的是,学习某些相似的东西通常会更容易。我们在某种意义上能够发现不同任务之间的共通结构,形成概括性的知识,并随着时间的推移不断改进学习策略。
本论文旨在研究这些能力如何在神经网络中得以实现。特别地,我们研究元学习(meta-learning),即通过经历一系列具有共同结构的任务来改进学习过程本身的能力。同时,我们探讨如何利用任务之间的一种特殊结构:可组合性(compositionality)——即通过有限的基本要素组合出大量不同的任务组合。我们将首先回顾本研究贡献所依赖的数学基础。具体而言,我们阐述了如何将神经网络中的元学习形式化为一个层次化的优化问题,或是一个序列建模问题。此外,我们还定义了“任务族具有可组合性”的含义,并据此形式化地提出**组合泛化(compositional generalization)**的目标。在这些理论背景的基础上,论文分为三个部分,旨在加深我们对神经网络中元学习与组合泛化的理解。
在第一部分中,我们提出了一种基于双层优化(bilevel optimization)的简单而精确的元学习算法。与以往需要在时间维度上反向传播梯度或计算二阶导数的算法不同,我们的方法只需运行学习过程两次,并通过局部元可塑性规则对比两次学习结果,从而获得元梯度。 在第二部分中,我们研究了如何通过模块化架构(modular architectures)的元学习来捕获任务族的可组合结构。我们从理论上刻画了超网络(hypernetworks,即即时生成另一神经网络权重以解决特定任务的神经网络)在何种条件下能够保证组合泛化。随后,我们通过一系列实验验证了这些条件,结果表明:在满足条件时,模块化架构而非单体式架构能够学到在组合泛化上成功的策略。 在第三部分中,我们研究了在Transformer中进行的元学习,其将可组合任务作为序列在上下文中处理。我们形式化地建立了**多头注意力机制(multi-head attention)**与超网络之间的联系。这一联系表明,Transformer 可能能够通过隐式超网络的潜在编码(latent code)来重用并重新组合操作。我们在两个抽象推理任务中实验性地验证了这一假设,发现了一个功能上具有结构化的潜在编码,它能够预测神经网络在未见过的任务组合上所使用的子任务。 综上所述,我们的研究结果揭示了神经网络具备元学习和组合泛化的潜能。最后,我们提出了未来值得探索的一些研究问题,以期在机器学习和神经科学快速发展的背景下进一步加深对神经网络的理解。