元学习——让机器学习学会学习

一、概述

现代机器学习模型通常使用手工设计的特征和固定的学习算法,然后针对特定的任务从零开始进行训练,特别是在可以收集大量数据和可以使用大量计算资源的很多领域,深度学习都取得了巨大的成功。然而,还有一些任务,其数据本身是稀有的,或计算资源不可用,此时让模型知道如何学习或学会学习就显得尤为重要。元学习作为当前深度学习前沿领域的推手,提供了另一种学习模式,它通过多个学习事件或相关任务来获得经验并提高未来的学习性能,这种学会学习的学习策略可以缓解数据量小和计算效率低下的问题。

二、元学习

近年来,元学习(Meta Learning,ML)是深度学习领域最热门的研究方向之一。传统的人工智能方法使用固定的学习算法从零开始解决问题,而元学习的目的是改进学习算法本身,这避免了深度学习的许多固有挑战,比如数据和计算瓶颈,以及泛化问题。
本节分享一篇来自爱丁堡大学的综述,全面系统地介绍元学习这个领域,希望给感兴趣的读者提供一些帮助。

2.1 概念定义

2.2 相关领域

1、迁移学习(Transfer Learning,TL)
迁移学习利用过去的源任务经验来提升目标任务的学习速度等,最常见的是参数迁移和可选的微调。相比之下,元学习处理的元表示的范围要更大,不仅限于模型的参数,更侧重于学习的方法。
2、领域自适应和领域泛化(Domain Adaptation and DomainGeneralization,DA and DG)
域转移是指源问题和目标问题具有相同的目标,但是相比于源问题,目标任务的输入分布发生了转移从而降低了模型性能。针对域转移问题,领域自适应试图通过目标任务的数据对源模型进行调整,领域泛化试图通过训练源模型使其具有鲁棒性。然而,元学习方法可以同时实现领域适应和领域泛化,更重要的是,元学习使用元目标来优化跨域学习方法。
3、持续学习(Continual learning,CL)
持续学习是指在不忘记旧任务的同时不断加速学习新任务,元目标并没有得到明确的解决,而元学习提供了一个潜在的框架去推进持续学习。
4、多任务学习(Multi-Task Learning ,MTL)
多任务学习的目标是通过参数共享和结果共享等共同学习若干个相关的已知任务,而元学习的重点往往是解决未知的任务。
5、超参数优化(Hyperparameter Optimization,HO)
超参数优化属于元学习的范畴,正是像学习速率或正则化强度这样的参数描述了“如何学习”。
6、贝叶斯层次优化(Hierarchical Bayesian Models,HBM)
在实践中,贝叶斯层次优化通常侧重于学习简单的模型,而大多数元学习工作考虑更复杂的内循环学习过程,涉及到许多迭代,贝叶斯层次模型通过建模而非算法框架为元学习提供了一个有价值的视角。
7、AutoML
AutoML是一个用于实现机器学习过程自动化的框架,比如通常需要手动完成的数据准备、算法选择、超参数优化等,AutoML经常使用元学习范围之外的许多启发式方法,并专注于数据清洗等任务,而这些对于元学习并不是那么重要。然而,AutoML有时会使用元目标的端到端优化,所以元学习可以被视为AutoML的特殊情况。

2.3 分类

如图1所示,根据元表征、元优化和元目标,研究人员提出了对元学习的新的分类。

元学习的概况

1、元表征(Meta-Representation)
元知识ω的选择,即元学习应该学习什么?
(1)参数初始化
ω对应于用于内部优化模型的初始参数,MAML就是最典型的例子,一个好的初始化参数可以使得模型在少量的梯度下降步骤后应用到新的相关任务上,并且不会在小样本学习中过拟合。这种方法的一个挑战是参数数量庞大,另一个挑战是初始参数是否限制于较窄的分布而不具有足够的元知识表征能力。
(2)优化器
以参数初始化为中心的方法通常依赖于现有的优化器,如SGD和Adam,相反,以优化器为中心的方法是通过训练一个函数来学习内部优化器。以初始化为中心的方法和以优化器为中心的方法可以进行合并,即前者学习后者的初始化条件。优化器方法被应用于小样本学习和加速多样本学习。
(3)黑盒模型
黑盒模型不依赖于基于梯度的参数迭代优化,而是根据某些嵌入条件由另一个网络如RNN/CNN直接生成权值参数。通常的研究主要是参数化分类器的网络结构,一方面是哪些参数应该在所有任务之间全局共享,另一方面是如何对超网络进行参数化来限制参数数量。特别地,记忆增强神经网络通常也属于黑盒模型。
(4)嵌入函数(度量学习)
通过支持实例和查询实例的简单相似度比较,将原始输入转换成适合识别的表示,可以看作是黑盒模型的一种特殊情况,其中超网络为查询集生成了一个线性分类器。
(5)损失
类似于优化器设计的元学习方法,损失学习方法通常定义一个小型神经网络,该网络输入与损失相关的数量,并输出被内部任务优化器视为损失的标量,目的是为基模型学习内部任务的损失。优点在于得到更容易优化的可被学习的损失,学习速度更快,泛化能力更好,它的极小值对应于域转移更鲁棒的模型。
(6)网络结构
网络结构的构建一直是神经网络的一个重要领域,元学习可以通过学习来自动化这个过程。近期研究人员对于可微架构搜索的改进主要致力于更有效的可微近似、鲁棒化离散步骤、学习适应初始化或网络结构先验。
(7)注意力模块
注意力模块已经在基于度量的元学习器中被用作比较器,以防止在小样本连续学习中出现灾难性遗忘,并用于总结文本分类任务的分布。
(8)模块
模块化元学习假设任务未知知识ω定义了一组模块,这些模块以定义为θ的任务特定方式重新组合起来,以便解决遇到的每一个任务。这些策略可以看作元学习对典型知识共享结构化方法的概括,这些方法在多任务学习和迁移学习中得到了很好的研究。
(9)超参数
ω表示基学习器的超参数,如正则化强度、参数正则化、多任务学习中的任务相关性、数据清洗中的稀疏性强度等,超参数可以被视为优化器的一部分。
(10)数据增强
在监督学习中,通常是通过对现有数据进行保留标签的转换来合成更多的训练数据,从而提高泛化能力。由于增强操作通常是不可微的,所以需要强化学习、离散梯度估计器或进化的方法。
(11)Minibatch选择、样本权重、课程学习
当基模型是基于Minibatch的随机梯度下降时,学习策略的设计参数是批量选择的过程,有各种手工方法来改进随机采样的Minibatch,元学习方法可以定义ω为实例选择的概率或包含在Minibatch中的挑选实例的神经网络。还有学习每个样本损失权重ω的方法,可以通过校正噪声样本离群值或类别不平衡来进行标签噪声下的学习。更普遍地说,课程学习是指要学习的数据或概念的序列,这些序列比随机学习有更好的表现。通过将教学策略定义为元知识并对其进行训练,元学习可以自动化这个过程进而优化学习过程。
(12)数据集、标签和环境
通过对训练集进行调优,可以优化验证性能。比如数据蒸馏通过很少的步骤学习支持数据本身,就可以在查询数据上有很好的泛化;半监督学习直接学习未标记的数据标签来优化在验证集上的性能;计算机视觉或强化学习中的sim2real学习使用环境模拟器生成训练数据,此时,还可以对引擎和模拟器进行训练。
(13)其他
元学习涉及的范围非常广,作为非常有潜力的方向之一,我们还可以元学习新的激活函数等符号。
2、元优化器(Meta-Optimizer)
优化器的选择,即元学习应该如何学习?
(1)梯度
很多方法都在元参数ω上采用梯度下降来进行优化,这种方法可能是最有效的,但问题在于,如何通过许多步骤进行有效的微分、减少不可避免的梯度退化问题、以及在不可微操作时进行梯度计算。
(2)强化学习
当基学习器包含不可微步骤或元目标本身不可微时,强化学习可以使用策略梯度来解决,但是由于其包含了任务模型优化而非常低效。
(3)进化
进化学习没有可微性的约束,也不依赖反向传播,所以既避免了梯度退化问题,也避免了传统的基于梯度方法的计算代价,同时,进化学习通过保持解决方案的多样性来避免陷入局部极小值。然而,进化学习的缺点也很明显,比如其拟合能力不如基于梯度的方法,特别是像CNN这样的大型模型。
3、元目标(Meta-Objective)
元目标的选择,即元学习的目标是什么?
(1)多样本或小样本
根据目标是多样本还是小样本,元学习可以在每个任务中设置样本数量。
(2)快速或渐进性能
元训练既可以渐进式地在基模型上表现优异,也可以快速学习,大多数强化学习使用后一种设置。
(3)多任务或单任务
根据目标是多任务还是单任务,元学习可以在任务家族中随机选择任务或在单任务上进行学习。
(4)在线或离线
除了离线学习,一些研究者也在研究在线进行元优化。
(5)其他
为特定的应用程序定制元学习,比如在元训练中加入噪声标签,或针对对抗防御生成对抗验证集进行优化等。

2.4 应用

元学习在计算机视觉、强化学习和结构搜索等方面都有广泛的应用。
1、计算机视觉
计算机视觉是元学习的一个主要应用领域,基于元学习的方法越来越能够在许多视觉问题的小样本数据集上训练出强大的CNN,比如在分类、目标检测、目标分割、图像和视频生成、生成模型和密度估计等方面都发挥了重要作用。
2、元强化学习
强化学习为元学习提供了一个丰富的应用领域,在任务分布上的元学习可以显著提高样本效率,比如在强化学习中的探索、优化、在线元强化学习、策略等方面都发挥了重要作用。
3、环境学习
在模拟环境中训练一个能够推广到现实世界的模型。
4、神经结构搜索
神经结构搜索的成本很高,一个热门问题是发现的神经结构是否可以推广到新的问题。
5、贝叶斯元学习
贝叶斯元学习方法通过贝叶斯层次模型将元学习形式化,并使用贝叶斯推理进行学习,而不是直接优化参数。此外,元学习也被提出来辅助贝叶斯推理过程本身。
6、无监督元学习
根据无监督学习是在元训练还是元测试中进行,可以使用不同的方式使无监督学习与元学习相互作用。
7、持续学习、在线学习和自适应学习
元学习可以将持续学习的需求包含在元目标中,可以通过学习各种元表示来提高持续学习的性能,除此之外,也考虑了有效适应当前任务的能力。
8、领域自适应和领域泛化
元学习可以学习不同种类的元知识,如正则化器、损失和噪声增强等,以最大限度地提高学习模型对域转移的鲁棒性,也可以定义一个元目标来优化无监督领域自适应算法的性能。
9、超参数优化
基于端到端梯度的元学习已经证明了对数百万个参数的可扩展性。
10、自然语言处理
深度学习是目前最先进的自动语音识别方法,元学习被应用于解决许多小样本适应问题。
11、系统
元学习也可以在网络压缩、主动学习、带标签噪声学习、对抗攻击和防御、推进系统等领域发挥重要的作用。

2.5 挑战

1、多样化和多模态的任务分布
目前元学习的成功大都发生在狭窄的任务家族中,其任务的分布是单模态的,然而针对多模态任务学习的研究才刚刚开始。
2、元泛化
元学习对不同任务之间的泛化提出了新的挑战,一方面是将元训练推广到从任务家族中的其他训练任务,另一方面是推广到不同分布的元测试任务。
3、任务家族
许多现有的元学习框架需要任务家族来进行元训练,但是在一些场景下同类任务家族的数据可能无法获得。
4、计算成本和小样本
元学习的优化在时间和内存上消耗非常多,就元测试阶段解决新任务的成本而言,域分解机模型相对于基于优化的元学习器具有显著优势。

三、小结

本文介绍了元学习的定义,并将元学习与迁移学习、超参数优化等相关领域进行了比较,然后介绍了一个新的分类方法,并展示了元学习的应用前景和成功案例,如小样本学习和强化学习,最后讨论了有待解决的挑战和未来有希望的研究领域。

参考文献

[1] Hospedales T , Antoniou A , Micaelli P , et al. Meta-Learning inNeural Networks: A Survey[J]. arXiv, 2020.
版权声明
本站“技术博客”所有内容的版权持有者为绿盟科技集团股份有限公司(“绿盟科技”)。作为分享技术资讯的平台,绿盟科技期待与广大用户互动交流,并欢迎在标明出处(绿盟科技-技术博客)及网址的情形下,全文转发。
上述情形之外的任何使用形式,均需提前向绿盟科技(010-68438880-5462)申请版权授权。如擅自使用,绿盟科技保留追责权利。同时,如因擅自使用博客内容引发法律纠纷,由使用者自行承担全部法律责任,与绿盟科技无关。

Spread the word. Share this post!

Meet The Author