深度学习在大量领域取得优异成果,但仍然存在着鲁棒性和泛化性较差、难以学习和适应未观测任务、极其依赖大规模数据等问题.近两年元学习在深度学习上的发展,为解决上述问题提供了新的视野.元学习是一种模仿生物利用先前已有的知识,从而快速学习新的未见事物能力的一种学习定式.元学习的目标是利用已学习的信息,快速适应未学习的新任务.这与实现通用人工智能的目标相契合,对元学习问题的研究也是提高模型的鲁棒性和泛化性的关键.近年来随着深度学习的发展,元学习再度成为热点,目前元学习的研究百家争鸣、百花齐放. 本文从元学习的起源出发,系统地介绍元学习的发展历史,包括元学习的由来和原始定义,然后给出当前元学习的通用定义,同时总结当前元学习一些不同方向的研究成果,包括基于度量的元学习方法、基于强泛化新的初始化参数的元学习方法、基于梯度优化器的元学习方法、基于外部记忆单元的元学方法、基于数据增强的元学方法等. 总结其共有的思想和存在的问题,对元学习的研究思想进行分类,并叙述不同方法和其相应的算法.最后论述了元学习研究中常用数据集和评判标准,并从元学习的自适应性、进化性、可解释性、连续性、可扩展性展望其未来发展趋势.
引言
随着计算设备并行计算性能的大幅度 进步,以及近些年深度神经网络在各个领域 不断取得重大突破,由深度神经网络模型衍 生而来的多个机器学习新领域也逐渐成型, 如强化学习、深度强化学习[1] [2] 、深度监督 学习等。在大量训练数据的加持下,深度神 经网络技术已经在机器翻译、机器人控制、 大数据分析、智能推送、模式识别等方面取 得巨大成果[3] [4] [5] 。
实际上在机器学习与其他行业结合的 过程中,并不是所有领域都拥有足够可以让 深度神经网络微调参数至收敛的海量数据, 相当多领域要求快速反应、快速学习,如新 兴领域之一的仿人机器人领域,其面临的现 实环境往往极为复杂且难以预测,若按照传 统机器学习方法进行训练则需要模拟所有 可能遇到的环境,工作量极大同时训练成本 极高,严重制约了机器学习在其他领域的扩 展,因此在深度学习取得大量成果后,具有 自我学习能力与强泛化性能的元学习便成 为通用人工智能的关键。
元学习(Meta-learning)提出的目的是 针对传统神经网络模型泛化性能不足、对新 种类任务适应性较差的特点。在元学习介绍 中往往将元学习的训练和测试过程类比为 人类在掌握一些基础技能后可以快速学习并适应新任务,如儿童阶段的人类也可以快 速通过一张某动物照片学会认出该动物,即 机 器 学 习 中 的 小 样 本 学 习 ( Few-shot Learning)[6] [7] ,甚至不需要图像,仅凭描 述就可学会认识新种类,对应机器学习领域 中的(Zero-shot Learning)[8] ,而不需要大 量该动物的不同照片。人类在幼儿阶段掌握 的对世界的大量基础知识和对行为模式的 认知基础便对应元学习中的“元”概念,即一 个泛化性能强的初始网络加上对新任务的 快速适应学习能力,元学习的远期目标为通 过类似人类的学习能力实现强人工智能,当 前阶段体现在对新数据集的快速适应带来 较好的准确度,因此目前元学习主要表现为 提高泛化性能、获取好的初始参数、通过少 量计算和新训练数据即可在模型上实现和 海量训练数据一样的识别准确度,近些年基 于元学习,在小样本学习领域做出了大量研 究[9] [10] [11] [12] [13] [14] [15] [16] [17] ,同时为模拟 人类认知,在 Zero-shot Learning 方向也进行 了大量探索[18] [19] [20] [21] [22] 。
在机器学习盛行之前,就已产生了元学习的相关概念。当时的元学习还停留在认知 教育科学相关领域,用于探讨更加合理的教 学方法。Gene V. Glass 在 1976 年首次提出 了“元分析”这一概念[23] ,对大量的分析结 果进行统计分析,这是一种二次分析办法。G Powell 使用“元分析”的方法对词汇记忆 进行了研究[24] ,指出“强制”和“诱导”意象有 助于词汇记忆。Donald B.Maudsley 在 1979 年首次提出了“元学习”这一概念,将其描述 为“学习者意识到并越来越多地控制他们已 经内化的感知、探究、学习和成长习惯的过 程”,Maudsley 将元学习做为在假设、结构、 变化、过程和发展这 5 个方面下的综合,并 阐述了相关基本原则[25] 。BIGGS J.B 将元学 习描述为“意识到并控制自己的学习的状 态” [26] ,即学习者对学习环境的感知。P Adey 将元学习的策略用在物理教学上[27] , Vanlehn K 探讨了辅导教学中的元学习方法 [28] 。从元分析到元学习,研究人员主要关 注人是如何意识和控制自己学习的。一个具 有高度元学习观念的学生,能够从自己采用 的学习方法所产生的结果中获得反馈信息,进一步评价自己的学习方法,更好地达到学 习目标[29] 。随后元学习这一概念慢慢渗透 到机器学习领域。P.Chan 提出的元学习是一 种整合多种学习过程的技术,利用元学习的 策略组合多个不同算法设计的分类器,其整 体的准确度优于任何个别的学习算法[30] [31] [32] 。HilanBensusan 提出了基于元学习的决 策树框架[33] 。Vilalta R 则认为元学习是通 过积累元知识动态地通过经验来改善偏倚 的一种学习算法[34] 。
Meta-Learning 目前还没有确切的定义, 一般认为一个元学习系统需结合三个要求:系统必须包含一个学习子系统;利用以前学 习中提取的元知识来获得经验,这些元知识 来自单个数据集或不同领域;动态选择学习偏差。
元学习的目的就是为了设计一种机器学习模型,这种模型有类似上面提到的人的 学习特性,即使用少量样本数据,快速学习 新的概念或技能。经过不同任务的训练后, 元学习模型能很好的适应和泛化到一个新任务,也就学会了“Learning to learn”。