仅用于自己学习
小样本自然语言处理中的元学习研究综述
Meta-learning for Few-shot Natural Language Processing: A Survey
0 摘要
Few-Shot NLP是只有几个标注示例的自然语言处理任务。
元学习的目标是训练一个关于各种任务的具有丰富注释的模型,这样它就可以只使用几个标记的样本来解决一个新的任务。其关键思想是训练模型的初始参数,使模型在通过零个或几个梯度步骤更新参数后,在新任务上具有最大的性能。
1 什么是meta-learning
为了解决只有几个例子的新任务,元学习的目标是构建能够快速学习新任务的高效算法(例如,需要一些甚至不需要特定于任务的微调)。
元学习框架将任务视为训练样本-为了解决一个新任务,我们首先收集大量任务,将每个任务作为训练样本,并训练一个模型来适应所有这些训练任务,最后该模型有望对新任务起到很好的作用。
在常规的文本分类任务中,我们通常假设训练句子和测试句子分布相同。类似地,元学习还假设训练任务和新任务来自相同的任务分布p(T)。
由于新任务只有K个已标记的样本和大量未标记的测试实例,因此每个训练任务在训练过程中也只保留K个已标记的样本。这是为了确保训练用例(这里的那些训练任务)与测试用例(这里的新任务)具有相同的分布。
在更高的层面上描述元学习:元学习并不学习如何解决特定的任务。它接连学会解决许多任务。
Meta-learning vs. Transfer learning.
通常,迁移学习使用源任务的过去经验来改进目标任务的学习-通过预先训练参数以及可选的微调。迁移学习指的是一个问题领域(任务A帮助任务B),而元学习指的是可以用来改进迁移学习和其他问题的方法(Hospedales等人,2020年)。
从技术上讲,迁移学习中的预训练通常不考虑其最终应用场景(例如,几枪任务);取而代之的是,元学习特别针对受益于目标任务而优化(例如,系统配置被优化,使得它在目标几枪问题中只需要几次梯度更新)。
实际上,元学习假设培训任务与目标任务分布相同;这通常意味着所有所谓的任务(包括培训任务和目标任务)在不同的领域基本上是相同的问题,比如从其他产品领域的评论到目标手机的评论领域。相反,迁移学习没有这样严格的假设;理论上,迁移学习可以对任何可能对目标任务有帮助的源任务进行预训练(例如从一个问题回答任务到共指关系解决任务)。
Meta-learning vs. Multi-task learning.
如果我们认为上述迁移学习通常是一个从源任务到目标任务的顺序训练流程,那么多任务学习就是同时训练所有任务。
由于元学习也依赖于一组训练任务,所以元学习也是一种多任务学习。我们在这里总结了三个不同之处:
·多任务学习的传统目标是学习一个能推广到目标任务的预先训练好的模型;元学习试图学习一种快速学习目标任务的有效学习算法。
·此外,多任务学习可能比其他任务更倾向于数据量明显更大的任务,如图1所示。
·由于元学习将任务视为训练范例,理想情况下,训练任务越多越好。
然而,多任务学习在同时训练太多任务时可能会遇到越来越大的挑战。
2 Meta-learning milestones
2.1 学习嵌入:基于度量的元学习
Siamese Network.
Matching Network.
Matching Network.
Relation Network.
2.2 学习微调:基于优化的元学习
MAML
FOMAML
Reptile
3 专门针对少镜头NLP的进展
通常,元学习的进展按其技术进行划分,如基于度量的或基于优化的。无论应用哪种技术,应用程序通常仅限于模拟数据集,其中每个分类标签都被视为一项任务。针对自然语言处理问题,我们将研究进展分为以下两类:
(I)同一问题不同领域的元学习。这些类别通常可以访问本质上属于同一问题的不同领域的数据集,例如用于情感分类的不同领域的数据集,用于意图分类的不同领域的数据集;(在同一个问题里面,只是这个问题里面有可能一个类就是一个任务,也有可能一个领域才是任务)
(Ii)针对不同问题的元学习,然后将其应用于解决新问题。(不同问题中,有的问题的任务资源丰富,有的问题任务资源稀缺,用高资源的作为训练任务,低资源的作为测试任务。其训练的是一整个问题,也就是训练好多个高资源的问题)
3.1 Meta-learning within a problem
在同一个问题里面,只是这个问题里面有可能一个类就是一个任务,也有可能一个领域才是任务)
一个类别就是一个任务
一个领域是一个任务
3.2 Meta-learning on distinct problems
为了解决一个目标少的任务,如何利用其他类型的具有丰富注释数据集的问题更具挑战性和实用价值。gu等人。(2018)将低资源翻译定义为元学习问题:18个高资源语言翻译任务作为培训任务,5个低资源语言翻译任务作为测试任务。然后,开发了一个扩展的MAML系统来处理这个翻译问题。
窦等人。(2019年)比较了MAML、一阶MAML和爬行动物三种典型的基于优化的元学习:将低资源任务Cola、MRPC、STS-B和RTE作为测试任务,将四个高资源任务SST-2、QQP、MNLI和QNLI作为训练任务,也就是训练好多个高资源的问题)。他们还表明,元学习方法优于精调的BERT和多任务学习。
4 Datasets for few-shot NLP
4.1 一个类就是一个任务
FewRel(han等人,2018年)是一个关系分类数据集,有100个关系,每个关系有700个标注句子。官方设置使用64、16和20个关系作为训练/开发/测试任务。该数据集是通过手动标注*语料库和维基数据知识库上的远程监督结果来构建的。因此,所有的培训/开发/测试示例都来自同一个领域。最新版本FewRel-2.0(Gao等人,2019b)增加了一个新的测试集域和“非上面”关系。Sun等人报道了FewRel。(2019),高等人。(2019a)以此类推,并有排行榜(https://thunlp.github.io/1/fewrel1.html)。
SNIPS(Coucke等人,2018年)(https://github.com/snipsco/nlu-benchmark/)是一个只有七种意图类型的意图分类数据集。
4.2 一个领域是一个任务
CLINC150(Larson等人,2019年)(https://github.com/clinc/oos-eval)是意图分类数据集。它有23700个实例,其中22500个实例覆盖150个意图,1200个实例超出范围。这150个意向分布在10个领域:“银行”、“工作”、“meta”、“汽车和通勤”、“旅行”、“家”、“公用设施”、“厨房和餐饮”、“闲聊”和“信用卡”,每个领域有15个意向。
ARSC(Blitzer等人,2007)是一个情感分类数据集。它由亚马逊对23种产品的评论组成(每种产品对应一个域名)。对于每个产品领域,有三个不同的二进制分类任务,其评论评级的阈值不同:如果评论的评级=5星,>=4开始或>=2星,这些任务将其视为正面(Yu等人,2018年)。因此,该数据集共有23×3=69个任务。两者(Yu等人,2018年;Sui等人,2020年)都使用了来自4个领域的12个任务作为目标任务,其余的领域任务是培训任务。