机器也能学会如何学习?——元学习介绍

本文作者王健宗,特此修正。 MetaLearning ,简称元学习,是机器学习的一个子领域。它将自动学习算法应用到机器学习实践用到的元数据中,它的主要目标是使用元数据来了解元学习,并且通过提高现有的学习算法的性能或者学习学习算法本身,灵活地解决学习问题。

基本介绍

元学习的思想是学习 学习训练 的过程,旨在设计能够通过训练一些实例来快速学习新技能或适应新环境的模型。通常有三种方式: 1) 学习一个有效的距离度量标准 (metric-based) 2) 使用具有外部存储或者内部存储的网络 (model-based); 3) 明确优化模型参数以进行快速学习 (optimization-based)

元学习起源于认知科学领域,最早可以追溯到 1979 年。在 John Biggs 1985 )的著作中可以找到一个较为简单的定义,他将元学习定义为 意识到并控制自己的学习

在人工智能系统的背景下,元学习可以简单地定义为获取知识多样性 (knowledge versatility) 的能力。作为人类,我们能够以最少的信息同时快速完成多个任务;例如人类在有了世界的概念之后,看一张图片就能学会识别一种物体,而不需要想神经网络一样一切都得从头训练;又例如在学会了骑自行车之后,可以基本在很短时间里无障碍地学会骑电动车。

目前的 AI 系统擅长掌握单一技能,例如 Go Jeopardy 甚至直升机特技飞行。但是,当你要求 AI 系统做各种简单但各略有不同的问题时,它会很困难。相比之下,人类可以智能地行动和适应各种新的情况。

元学习要解决的就是这样的问题 : 设计出拥有获取知识多样性能力的机器学习模型,它可以在基于过去的经验与知识下,通过少量的训练样本快速学会新概念和技能。

我们期望一个良好的元学习模型能够很好地适应或推广到在训练期间从未遇到过的新任务和新环境。对新任务的适应过程,实质上是一个 mini learning session ,这个过程只需要少量的训练就可以快速完成。最终,适应后的模型可以完成新任务。这就是为什么元学习也被称为 learning to learn 的原因。

以下为几个经典的元学习任务场景:

1) 在非猫图像上训练的分类器可以在看到一些猫图片之后判断给定图像是否包含猫

2) 游戏机器人能够快速掌握新游戏

3) 迷你机器人在测试期间在上坡路面上完成所需的任务,即使它仅在平坦的表面环境中训练

元学习系统通常有如下定义:

1)    该系统必须包括一个子学习系统;

2)    经验是利用提取的元知识获得的;

3)    只学习之前学习中单个或不同领域的数据集;

4)    要动态的控制学习误差。

经典案例

一个好的元学习模型应该在各种学习任务上进行训练,并对所有的任务进行优化,包括可能潜在的不可见任务上。对于分类任务而言,每个任务都与一个数据集 D 相关联, D 包含特征向量和真实标签。

少样本分类问题是元学习在监督学习领域中的实例。数据集通常分为两部分,一套用于学习的数据集 S 和一套用于训练或测试的数据集 B 。在应用场景上通常考虑将少样本分类问题定义为 “K 样本 -N 类别 分类任务:对于 N 个类中的每个类,数据集包含每个类别的 K 个标记示例。具体理解参考下图:

14-1 4 样本 -2 分类案例

上图有 3 个框框,每一个框框是一个数据样本,大量的数据样本构建成了一个数据集,这点跟传统监督学习的数据集意义不太像。

每一个数据包含两种标签 , 标签间不具有相关性,随机抽样而成的,所以花跟自行车会放在一起; 4 shot 是指每个标签都只有 4 个样本,这跟我们的训练目地一致:小样本下的快速学习;最终我们希望通过训练得到一个模型,在测试的时候可以只通过 8 个样本的小样本训练就可以完成狗和海獭的分类。

整个过程包含同一个模型两个阶段的训练。

一个是基于训练数据样本的元模型训练,一个是基于测试数据样本的基于特定任务的泛化模型训练。

我们希望利用训练的数据样本来拟合一个具有强泛化能力的元模型,这个模型可以在没见过测试数据样本上仅用 8 张图片进行泛化就能快速得到一个高质量的分类器。

具体怎么构造实现这个元模型的训练,有很多种不同的方法,如孪生网络,匹配网络,原型网络,图网络等。

深入了解元学习

通过以上的定义,我们会发现元学习与多任务学习以及迁移学习有非常相似的地方;从适应新任务的角度看,像是多任务学习;从利用过去信息的角度看,又像迁移学习。

l 元学习模型的泛化不依赖于数据量。迁移学习的微调阶段还是需要大量的数据去喂模型的,不然效果会很差。而元学习要做到的是,在新的任务上只用很少量的样本就可以完成学习,看一眼就可以学会。从这个角度看,迁移学习可以理解为元学习的一种效率较低的实现方式。

l 元学习实现是无限制的任务级别的泛化。多任务学习是基于多个不同的任务同时进行损失函数优化,它的学习范围只限定在这几个不同的任务里,它不具有学习的特性。而元学习是要基于大量的同类任务 ( 如图像分类任务 ) 去学习到一个模型,这个模型可以有效泛化到所有图像分类任务上。

元学习从结合角度来看,可以分成三大块:监督学习 [4] 、无监督学习 [5][25] 和强化学习 [6] 。在监督元学习中,最长碰到的就是 Few Shot Learning[7] 问题,也就是我们常说的少样本学习问题。

元监督学习在少样本分类问题中注重于算法 [10] ,通过学习算法的参数话模型和训练集合的定义来代表不同的分类问题,每个样本都有一个小标记训练集和测试集。

14-2  元强化学习

元强化学习的流程图如图 14-2 所示,在元强化学习的应用中,最著名的例子是 Deep Mind 在探索多巴胺在人脑中的地位,并据此提出了强化学习模型未来的发展思路。该研究中使用 AI 来探索大脑中的多巴胺所发挥的帮助学习的作用。通过这项研究, Deep Mind 使用元强化学习( meta-RL )算法,指出多巴胺的作用不仅仅是奖励对过去行为的学习,它发挥的是整体作用,特别是在前额叶区域,它使我们能高效地学习新知识、执行新任务 —— 而不需要像深度学习算法那样,依赖大量数据进行训练。运用元强化学习( meta-RL )算法 [12] 能真正帮助人类解决各种类型的问题,而不只是执行某个特定任务,这将使得 AI 真正适用到人们的生活、工作中。以 AI 机器人将来或走进千家万户为例,每个人对 AI 机器人的要求是不同的,每个家庭的环境也并不相同,如果 AI 机器人运用元强化学习( meta-RL ),不需要长时间的学习就能快速灵活的适应各种需求。

而对于无监督元学习,针对的是以下任务:

1 )使用无标签样本来学习一个好的特征表达;

2 )利用这个特征表达在少样本学习问题上取得好的效果;

这样的设计是很合理的,因为无监督学习的最终目标是要在特定任务上取得比较好的效果。传统的无监督学习方法比如 VAE[9] ,通过训练神经网络得到一些特征表达,但是却无法直接说明 VAE[9] 的这套学习方式是直接对特定任务有利。举一个的例子: image captioning 图像标注问题,一开始是使用监督学习来训练神经网络,但是采用的是人为设计的评价指标来评价效果的好坏,这种情况下监督学习和评价指标没有直接联系。所以近年来 image captioning 就采用增强学习的方法,基于评价指标来改进网络的效果,这就有了直接联系。

元学习应用的发展

在机器学习领域, DeepMind 的一个研讨会课件给出了如下的一个总结,元学习的模型通常包括基于模型的方法、基于度量的方法和基于最优的方法,如图 14-3 所示。

14-3  元学习模型分类方法分类

在应用上元学习涉及到方方面面,包括图像领域的少样本学习,还有在强化学习领域的元强化学习;在 GAN[12] 领域也有相关的应用。

元学习领域涌现出很多意义重大的研究。随着研究界对元学习的理解整体得到提升,传统的随机梯度下降法( SGD [14] 将被边缘化,转向更有效的方法,将更具爆发性和探索性的搜索方法结合起来。

元学习互联网的普及与发展使得网络上主观性文本如产品、新闻、社会事件的评论等大量出现 [10] ,使用元学习和机器学习相结合的模型,很大程度上缩减了深度学习网络的训练时间,并且能够较大幅度的提高模型分类的准确度。

文章摘自:《深入理解 AutoML AutoDL 》机械工业出版社 .2019.9