资源技术动态使用元学习(Meta-Learning)进行少样本下的文本分类

使用元学习(Meta-Learning)进行少样本下的文本分类

2019-11-19 | |  69 |   0

原标题:使用元学习(Meta-Learning)进行少样本下的文本分类

来源:今日头条          链接:https://www.toutiao.com/a6754890464723206667/


元学习与少样本学习


近些年,元学习(meta-learning)在处理少数据集的任务上十分流行,所谓元学习,就是让一个算法能够扩展到一个新的标注任务(类)上,这个标注任务(类)有不同于原有任务的标注类别,而且训练集很少。

目前元学习主要在CV上取得了较大成功,对NLP,还未有广泛的成功。元学习不易处理NLP的主要原因还是在CV和NLP的内在区别:CV的低级别模型,如边、颜色、点在不同任务上都是通用的;而NLP的不同任务,即使是同一个句子,其重点都是不同的。比如下图是 HuffPost 数据集中共41个类别不同词的相关度:

image.png


从图中可以看到,词和类别是高度相关的,但是对不同任务(类)而言,同一个词的重要性又是不同的。比如下图,同样是在数据集 HuffPost 中,如果把类别 fifty 抹去,传统的网络根本无法找出最重要的词来:

image.png


但是本文提出的方法可以很好地找到最重要的词,从而判断正确的类别。


本文提出了一个元学习模型用于少样本下的文本分类模型。总的来说,本文贡献如下:

• 不直接考虑词,本文的方法使用词的分布式特征

• 提出了一个少样本下的元学习(迁移学习)文本分类模型

• 使用了一个注意力生成器(Attention Generator)和一个岭回归器(Ridge Regressor)

• 在跨类别迁移上模型表现良好


背景概述

我们首先阐释几个概念。


问题定义

现在我们有一个类别集合,对这些类别,我们有足够的标注数据。又有一个类别集合,但是标注数据很少。我们的目标是通过类别集的标注数据使得模型能够在类别集的数据上也有较好的效果。


元学习

我们把元学习分为元学习训练(Meta-Training)和元学习测试(Meta-Testing),对于元学习训练,我们要创造若干个训练段(training episode),同理我们也有若干测试段(testing episode)。


为了创造一个训练段,我们首先从中随机取个类别,再从每个类别中取个训练样本作为训练集和个样本作为测试集,所以就有个训练样本和个测试样本。一般来说,我们把这个训练样本称为支持集(support set),把个测试样本称为询问集(query set)。


在元学习测试阶段,对每个测试段,我们都先从中随机取个类,然后再从这个类中取支持集和询问集,然后在所有段的询问集中验证模型效果。

下图是一个例子:

image.png

扩展

在上图中还出现了一个source pool,这就是本文的一个扩展。具体地,在元学习训练时,对每个训练段,我们把所有没被选择的类的数据作为source pool;在元学习测试阶段,source pool包括所有类的训练数据。


方法

模型主要分为两个模块:

• 注意力生成器:该模块通过结合source pool的分布式特征和支持集,生成以类为基础的注意力大小,然后生成的注意力被用于岭回归器来修正词重要度的偏差

• 岭回归器:对每个段,该模块接受注意力值并构建词汇表示,然后在询问集上进行预测

总的流程图如下:

image.png

注意力生成器

注意力生成器的目标是评估词的重要度,我们使用source pool来得到词的 一般 重要度,使用支持集得到 类相关 重要度。

由于出现越频繁的词重要度越低,所以用下式得到一般重要度:

image.png

这里是source pool中词的unigram的似然。

然后用下式得到类相关重要 度:

image.png


这里

image.png

条件似然是在支持集中使用正则线性分类器(Regularized Linear Classifier,具体请参考原文附录A1)得到的,为求熵。显然,得到的是词 在类别中的不确定度,从而也是重要度。

但是只用这些数据效果不好,原因有二:(1)source pool和支持集包含的是互补的数据,模型无法确定如何结合;(2)这些数据只是词重要度在分类问题上的估计。于是,我们使用BiLSTM结合这些数据:

image.png

,然后得到下面的注意力值:

image.png


岭回归器

对于岭回归器,我们首先得到样本的表示:

image.png


然后令

image.png


是支持集的表示,

image.png


是类别的one-hot表示。然后最小化下面的loss:

image.png

可以得到闭式解:

image.png

对询问集,令是其表示,于是我们直接预测其标签:

image.png

最后我们用softmax得到,再用交叉熵进行反向传播即可。


实验


本文在下面的数据集上进行了实验: 20 Newsgroups , RCV1 , Reuters-21578 , Amazon product data , HuffPost headlines 和 FewRel 。其他实验细节,若读者有兴趣可参见原文。

下表是6个数据集在不同表示(Rep.)和不同学习算法(Alg.)上的表现,其中NN是1近邻分类,FT是首先在所有训练样本上进行预训练,然后在支持集微调。

image.png


平均来说,本文的模型在

image.png

时提高6.26%的准确率,在

image.png

时提高3.84%准确率。下图说明了本文模型可以有效地避免过拟合:

image.png


下表是使用BERT之后不同模型的比较:

image.png

对于 FewRel 提升较大,对于 HuffPost 提升较少。

下图展示了分别使用

image.png

和结合使用的PCA可视化结果,可以看到,结合使用两者可以有效区分不同类别的特征:

image.png



下图是两个例子:

image.png

小结

本文提出了一种少样本下的元学习方法,用于文本分类,在多个数据集上取得较好效果。本方法利用词的分布式特征得到注意力值,从而与词重要度建立联系,很好地缓解了过去单纯使用tf-idf或单纯使用词向量的不足。此外,在测试的时候,不需要经过复杂网络,只需用一个线性变换即可进行预测,在效果好的同时也很快,一举两得。

文章标题 :Few-shot Text Classification with Distributional Signatures

文章作者 :Bao, Yujia and Wu, Menghua and Chang, Shiyu and Barzilay, Regina

文章链接 :https://arxiv.org/pdf/1908.06039.pdf

代码链接 :https://github.com/YujiaBao/Distributional-Signatures

收录情况 :Work in Progress for ICLR2020

THE END

免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。

合作及投稿邮箱:E-mail:editor@tusaishared.com

上一篇:TensorFlow实现文本分类(Sentence Classification)

下一篇:如何用 Python 和深度迁移学习做文本分类?

用户评价
全部评价

热门资源

  • 应用笔画宽度变换...

    应用背景:是盲人辅助系统,城市环境中的机器导航...

  • 人体姿态估计的过...

    人体姿态估计是计算机视觉中一个很基础的问题。从...

  • GAN之根据文本描述...

    一些比较好玩的任务也就应运而生,比如图像修复、...

  • 端到端语音识别时...

    从上世纪 50 年代诞生到 2012 年引入 DNN 后识别效...

  • 谷歌发布TyDi QA语...

    为了鼓励对多语言问答技术的研究,谷歌发布了 TyDi...