推出 Meta-Dataset:为小样本学习而构建的数据集

文 / 学生研究员 Eleni Triantafillou 和高级研究员 Vincent Dumoulin,Google Research

推出 Meta-Dataset:为小样本学习而构建的数据集

最近,深度学习在一系列颇具挑战性的难题上取得了突出成果,但其成功往往依赖于大量手动标注的训练数据。这一限制激发了研究人员的兴趣,即从较少样本中学习。其中一个很好的示例是小样本图像分类,即从少量代表性图像中学习新的分类。

  • 手动标注的训练数据
    https://ai.googleblog.com/2019/05/announcing-open-images-v5-and-iccv-2019.html

由于人类对有限信息的学习能力明显不及深度学习算法,所以从科学角度而言,小样本分类是个很有趣的问题。而从实际的角度来看,这也是非常重要的问题。

大型标注数据集通常无法用于兴趣类任务,因此解决此类问题将带来诸多益处(如,让模型可根据用户需求进行快速定制),从而让越来越多的人能够使用机器学习技术。不可否认的是,研究人员近期开展了许多工作,想要解决小样本分类问题,但由于先前的基准无法可靠评估各种所提出模型的优缺点,拖慢了研究进度。

在《Meta-Dataset:为小样本学习而构建的数据集(Meta-Dataset: A Dataset of Datasets for Learning to Learn from Few Examples)(已在 ICLR 2020 上发表)一文中,我们提出了一种大型多元化基准,用于在现实且具有挑战性的小样本情境中衡量各种图像分类模型。该基准也提供了一个框架,供学者研究小样本分类中的重要方面。

  • Meta-Dataset:为小样本学习而构建的数据集
    https://openreview.net/forum?id=rkgAGAVKPr

本数据集由 10 个公开的自然图像数据集(包括 ImageNet、CUB-200-2011、Fungi 等)、手写字符以及涂鸦数据集组成。我们已向研究社区公布了代码,以及如何在 TensorFlow 和 PyTorch 中使用 Meta-Dataset 的 Notebook 演示。在本文中,我们将介绍在 Meta-Dataset 初期研究中取得的一些成果与重要研究方向。

  • 代码
    https://github.com/google-research/meta-dataset

  • Notebook
    https://github.com/google-research/meta-dataset/blob/master/Intro_to_Metadataset.ipynb

背景:小样本分类

在标准图像分类中,一般将图像集分为两组:一组特定类图像来训练模型,然后用同类的另一组图像进行测试。小样本分类在此基础上更进一步,在测试时将训练成果泛化至全新的类(训练中未见过的新分类)。

具体而言,在小样本分类中,训练集包含的类与测试时使用的类完全没有交集。因此,训练的目的是学习柔性模型,以便仅使用少量样本便可将其用途转变为分类新类。最终目标是在针对一些 测试任务 进行的测试时评估表现良好,每种测试任务都会在已提出的 测试集 中展现先前未出现的类之间存在的分类问题。每个测试任务包含一个由若干带标签图像组成的 支持集(模型可通过这些图像学习新的类), 以及一个完全无交集的 样本查询集(模型随后需要对该集进行分类)。

在 Meta-Dataset 中,除了上述小样本学习中固有的难以泛化至新类的问题,我们还研究了训练成果至全新的数据集的泛化(训练中未使用任何类的图像)。

Meta-Dataset 与先前基准的比较

mini-ImageNet 是研究小样本分类的一个热门数据集,也是 ImageNet 中类的子集的降采样版本。此数据集共包含 100 个类,拆分为训练、验证和测试 类别。尽管 mini-ImageNet 等基准在测试时使用的类与训练时使用的类不同,但从外观来看,测试时使用的类在很大程度上与训练时使用的类相似。近期研究显示,这一特点可简单地通过再次使用训练时学习的特征,使模型在测试时发挥较大竞争优势,而无需验证模型能否从支持集中的若干样本中学习。相比而言,在 Meta-Dataset 上表现良好需要在训练时吸收多元信息,并在测试时将其快速应用于解决完全不同的任务,而这些任务可能使用完全陌生的数据集。

推出 Meta-Dataset:为小样本学习而构建的数据集

采用 mini-ImageNet 执行的测试任务:每个任务为先前未曾遇到(测试)的类之间的分类问题。模型可使用新类的一些带标签样本组成的支持集适应手头的新任务,然后预测这些新类的查询样本标记。评估指标为查询集准确度,根据每个任务中的样本和各任务之间的结果取平均值

虽然近期发表的其他论文也研究了针对 mini-ImageNet 的训练,并针对不同数据集进行了评估,但 Meta-Dataset 代表着迄今为止跨数据集小样本图像分类最大规模的有序基准。此基准还引入一种采样算法,用于生成特征和难度各异的任务,具体做法是使每个任务中类的数量、每个类中的可用样本数量都不一样,以引入类不均衡。而对于某些数据集,则使每个任务的类之间的相似程度不同。下面展示了 Meta-Dataset 的一些示例测试任务。

推出 Meta-Dataset:为小样本学习而构建的数据集

Meta-Dataset 的测试任务:与上文展示的 mini-ImageNet 任务相反,此处的各种任务来自不同的数据集(的测试类)。此外,各任务之间的类数量和支持集大小可能不同,支持集中可能存在类不均衡的问题

对 Meta-Dataset 的初期研究和发现

我们在 Meta-Dataset 上对以下两个主要类别的小样本学习模型进行基准测试:预训练元学习

预训练仅使用监督式学习在类的训练集上训练分类器(神经网络特征提取器与线性分类器的组合)。然后,可以通过微调预训练特征提取器和训练新的任务特定线性分类器,或通过近邻比较(对每个查询样本的预测是其毗邻的支撑样本的标记)来对测试任务样本进行分类。虽然其“基线”状态属于小样本分类范畴,但这种方法最近受到格外关注,并取得了突破性成果。

另一方面,元学习模型构建一些“训练任务”,其训练目标明确反映了使用关联支持集调整任务后,在每个任务的查询集上表现良好的目标,从而捕获了测试时解决每个测试任务所需的能力。每个训练任务皆通过对训练类的子集和某些类的部分样本(这些类充当支持和查询集)进行随机采样创建而成。

通过评估基于 Meta-Dataset 的预训练和元学习模型,我们部分发现的总结如下:

1) 现有方法难以利用异构训练数据源

我们比较了仅使用 ImageNet 训练类的训练模型(来自预训练和元学习方法)与使用 Meta-Dataset 中数据集内所有训练类的训练模型,以便使用更广泛的训练数据集合来衡量泛化收益。我们之所以选择 ImageNet 进行此类比较,是因为在 ImageNet 上学习的特征易于转移到其他数据集。应用于所有模型的评估任务都衍生自训练所用数据集的类留出集,其中至少完全留出两个额外数据集以备评估(即这些数据集中的任何类都不用于训练)。

人们可能会料想,对更多数据(尽管是异构数据)进行训练可以将训练结果更好地泛化至测试集。然而,事实并非总是如此。具体而言,下图呈现了不同模型在 Meta-Dataset 所含十个数据集的测试任务中的准确度。我们观察到,在所有数据集(而非只是 ImageNet)上进行训练后,模型在手写字符/涂鸦(Omniglot 和 Quickdraw)测试任务中的表现得到了显著改善。这很合理,因为这些数据集在视觉上与 ImageNet 明显不同。但是,对于自然图像数据集的测试任务,仅在 ImageNet 上进行训练就可以获得近似的准确度,这表明当前模型无法有效利用异构数据来改善这一方面。

推出 Meta-Dataset:为小样本学习而构建的数据集

仅在 ImageNet (ILSVRC-2012) 或所有数据集上进行训练后,每个数据集测试表现的比较

2) 测试时,某些模型更能利用额外数据

我们根据每个测试任务中可用样本的数量来分析不同模型的表现,发现了一个有趣的利弊权衡:不同模型在训练(支持)样本达到某个特定数量时表现最佳。我们观察到,当仅有很少的可用样本(例如 ProtoNet 和我们提出的 fo-Proto-MAML)时,某些模型的表现优于其他模型,但是当提供更多的样本,模型性能也不会有很大的提升。而其他模型在样本很少的任务中表现平平,但是随着样本量增加,其性能提升速度也会加快(例如 Finetune 基线)。但是在实践中,我们可能事先不知道测试时可以使用的样本数量,因此,我们希望设计一种可以灵活利用任意样本数量,而不会受特定条件不当限制的模型。

推出 Meta-Dataset:为小样本学习而构建的数据集

不同数据集之间平均测试表现与测试任务中每个类可用样本数量的比较。表现根据类精确度衡量:获得准确标记的类的样本比例,取所有类的平均值

3) 与元学习器经过端到端训练(即元训练)这一事实相比,其自适应算法对其自身性能的影响更大

我们开发了一套全新的基线用于衡量元学习的优势。具体而言,对于若干个元学习模型,我们考虑使用预训练特征提取器的非元学习模型,之后,仅在评估中像对应的元学习模型一样将同样的自适应算法应用于这些特征。仅对 ImageNet 进行训练时,元学习训练通常有一点帮助或至少没有多少坏处,但对所有数据集进行训练时,结果较为复杂。这说明,未来的研究工作需要侧重于理解和改进元学习,尤其是面向各种数据集的情况。

推出 Meta-Dataset:为小样本学习而构建的数据集

三种不同元学习器变体与其对应的仅推断基线的比较(仅对 ImageNet (ILSVRC-1012) 或所有数据集进行训练):每个矩形表示元训练和仅推断基线之间的差异,正值表示性能与元训练相比有所改进

结论

Meta-Dataset 为小样本分类带来了新的挑战。我们的初期探索揭示了现有方法的局限性,同时表明了开展进一步研究的必要性。在 Meta-Dataset 方面,最近的研究已经取得了一些很不错的成果,例如使用巧妙设计的任务调节,以及更复杂的超参数调优、结合预训练和元学习优势的“元基线”,以及最后使用特征选择将每个任务的通用表征专门化。我们希望 Meta-Dataset 有助于推动机器学习这一重要子领域的研究。

致谢

Meta-Dataset 由 Eleni Triantafillou、Tyler Zhu、Vincent Dumoulin、Pascal Lamblin、Utku Evci、Kelvin Xu、Ross Goroshin、Carles Gelada、Kevin Swersky、Pierre-Antoine Manzagol 和 Hugo Larochelle 共同开发。我们在此感谢 Pablo Castro 对本篇博文给予的宝贵指导,感谢 Chelsea Finn 参与卓有成效的讨论并确保 fo-MAML 正确实现,还要感谢 Zack Nado 和 Dan Moldova 调整初期代码集代码,感谢 Cristina Vasconcelos 指出模型排名中的问题,感谢 John Bronskill 建议我们针对 MAML 利用更大的内部循环学习率进行实验,这确实大大改善了我们的 fo-MAML 结果。

推出 Meta-Dataset:为小样本学习而构建的数据集

推出 Meta-Dataset:为小样本学习而构建的数据集

推出 Meta-Dataset:为小样本学习而构建的数据集