2019-04-18-少样本学习

主要内容

  1. 少样本学习任务
  2. 大数据集的有监督关系抽取
  3. 如何在关系抽取中进行少样本学习
  4. 原型网络用于关系抽取的少样本学习
少样本学习(Few-shot Learning)
  • 产生背景:现有的有监督的深度学习模型都需要大量的数据,当数据量很小时,该如何学习?

  • 模拟人脑:一个好的机器学习模型通常需要训练大量的样本。相比之下,人类学习新概念和新技能的速度更快、效率更高。(知道如何骑自行车的人很有可能在几乎没有或甚至没有演示的情况下就发现了快速骑摩托车的方法。 )在人类的快速学习能力的启发下,研究人员希望机器学习模型在学习了一定类别的大量数据后,对于新的类别,只需要少量的样本就能快速学习,这就是 Few-shot Learning 要解决的问题。
  • Few-shot LearningMeta Learning 在监督学习领域的应用。Meta Learning,又称为 learning to learn,在训练阶段将数据集分解为不同的任务,去学习类别变化的情况下模型的泛化能力,在测试阶段,面对全新的类别,不需要变动已有的模型,就可以完成分类。
少样本数据集

image

用10类图像分类数据为例,传统的方法是基于大量训练集获得模型,然后对同类别的测试集进行自动标注。而小样本问题是我们大量拥有的是上方这5类的数据,而新问题(下方这5类)是只有很少的标注数据。

  • 训练阶段:支撑集和测试集(或查询集)
  • 测试阶段:支撑集和未标注的测试集
训练任务 (N-Way K-Shot)

image

few-shot 的训练集中包含了很多的类别,每个类别中有多个样本。在训练阶段,会在训练集中随机抽取 N 个类别,每个类别 K 个样本(总共 N * K 个数据),构建一个 meta-task,作为模型的支撑集(support set)输入;再从这 N 个类中剩余的数据中抽取一批(batch)样本作为模型的预测对象。即要求模型从 N * K 个数据中学会如何区分这 N 个类别,这样的任务被称为 N-way K-shot 问题。

FewRel数据集

FewRel是一个关于关系抽取的少样本学习数据集,包含7万个实例,100种关系,每种关系700个实例,其中, 64种关系用于few-shot learning 的训练集,16种关系用于验证集,20种关系用于测试集。

Few-shot Learning关系抽取学习方法
  • Prototypical Networks (Snell et al., 2017)是一种Metric Based 方法,它通过度量query集中的样本和 support 集中样本的距离,借助最近邻的思想完成分类;
  • Meta Network (Munkhdalai and Yu, 2017)是一种元学习算法,它用元学习器学习各种任务,基础学习器学习特定任务;
  • GNN (Satorras and Estrach, 2018)将每个支持实例或查询实例视为图中的节点。对于支持集中的那些实例,标签信息也嵌入到相应的节点表示中,然后利用图神经网络在节点之间传播信息。
  • SNAIL (Mishra et al., 2018)是一种元学习模型,它利用时间卷积和注意力模型从之前的信息中快速学习。
原型网络 (Prototypical Networks)

原型网络是基于度量的学习方法,它通过学习一个度量空间,计算实例和原型的距离,来进行分类。具体而言:每个类别都存在一个 聚在某单个原型表达周围的嵌入空间,该类的原型是支撑集在嵌入空间中的均值。然后,分类问题变成在嵌入空间中的最近邻。

image

图中,c1、c2、c3分别是三个类别的均值中心(称Prototype),将测试样本x进行embedding后,与这3个中心进行距离计算,从而获得x的类别。

原型网络学习算法

image

原型网络在少样本关系抽取中的应用
B   N     K     Q
4   20   5      5
每次训练选择4个batch,
每个batch选择20种关系,
在支撑集中每种关系选择5个实例,
在查询集中每种关系选择5个实例。

训练过程:

image

训练结果:

FewRel: 5-way 5-shot 实验结果 85.27

参考文献:
  • Han, X.; Zhu, H.; Yu, P.; Wang, Z.; Yao, Y.; Liu, Z.; and Sun, M. 2018. Fewrel: A large-scale supervised few-shot relation classification dataset with state-of-the-art evaluation. In Proceedings of EMNLP, 4803–4809.
  • Snell J, Swersky K, Zemel R. Prototypical networks for few-shot learning[C]//Advances in Neural Information Processing Systems. 2017: 4077-4087.
  • Munkhdalai T, Yu H. Meta networks[C]//Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 2017: 2554-2563.
  • Victor Garcia Satorras and Joan Bruna Estrach. 2018. Few-shot learning with graph neural networks. In Proceedings of ICLR.
  • Nikhil Mishra, Mostafa Rohaninejad, Xi Chen, and Pieter Abbeel. 2018. A simple neural attentive metalearner. In Proceedings of ICLR.