超强文本半监督方法MixText

低资源少样本NLP问题是JayJay比较关注的一个方向,说白了就是一个问题:标注样本少怎么办?而半监督学习就是解决这一问题的一个重要手段。

半监督学习在CV领域早已经“大显身手”,而在NLP领域的应用却不太多。此外,随着BERT等预训练模型的强大,本质上也缓解了少样本问题。而BERT如果能和其他机器学习方法(如:半监督学习 或 主动学习 等)结合起来,或许少样本问题的增益会更加明显。

本文JayJay介绍一篇来自ACL20的paper《MixText: Linguistically-Informed Interpolation of Hidden Space for Semi-Supervised Text Classification》。

论文下载地址:https://arxiv.org/pdf/2004.12239

论文开源地址:https://github.com/GT-SALT/MixText

MixText主要针对的是半监督文本分类场景,其主要的亮点有:

  1. 提出一种全新文本增强方式——TMix,在隐式空间插值,生成全新样本。

  2. 对未标注样本进行低熵预测,并与标注样本混合进行TMix。MixText可以挖掘句子之间的隐式关系,并在学习标注样本的同时利用无标注样本的信息。

  3. 超越预训练模型和其他半监督方法, 在少样本场景下表现卓越!

本文的组织结构为:

图片

1、回顾:半监督文本分类有哪些方法?

数据为王,数据是深度学习时代的“煤油电”。虽然标注数据获取昂贵,但半监督学习可以同时标注数据和未标注数据,而未标注数据通常很容易得到。

总的看,半监督文本分类可分为以下4种:

  • 变分自编码VAE:通过重构句子,并使用从重构中学到的潜在变量来预测句子标签;

  • 自训练:通过self-training的方式,让模型在未标注数据上生成高置信度的标签;

  • 一致性训练:通过 对抗噪声 或者 数据增强 的方式对未标注数据进行一致性训练;

  • 微调预训练模型:在大规模无标注数据上进行预训练,在下游标注数据上微调;

也许你会问,一致性训练是啥?我们这里补充介绍2种半监督深度学习利用未标注数据的训练方式:

1、熵最小化:根据半监督学习的Cluster假设,决策边界应该尽可能地通过数据较为稀疏的地方(低密度区),以能够避免把密集的样本数据点分到决策边界的两侧。也就是模型通过对未标记数据预测后要作出低熵预测,即熵最小化:

2、一致性训练:对于未标记数据,希望模型在其输入受到扰动时产生相同的输出分布。即:

上述介绍的4种半监督文本分类方式有一个不足之处:就是分开利用标注数据和未标注数据,没有在二者之间直接建立联系。大多数半监督模型仍然会在小标注样本上过拟合。

2、TMix:新颖的文本数据增强方式

图片

Mixup是图像领域常见的一种数据增强方式,其方式非常简单,如上图所示:可直接在像素级别上进行插值,公式如下(其中为图像输入,为标签one-hot向量):

由于文本的输入是离散的,因此不能直接输入层直接进行Mixup。所以作者提出了一种在隐空间进行插值的方法——TMix,如下图所示。

图片

TMix理解起来也是相当简单,其在BERT编码层进行隐空间插值,相比于直接在输入层进行Mixup,TMix的数据增强的空间范围更加广阔。

需要特别指出的是,从Beta分布进行采样得到:图片

3、MixText的计算流程

图片

MixText的计算流程如上图所示,其共分为三步:

第1步:对未标注数据进行增强:采用未标注数据采取回译方式进行次增强生成;

第2步:对未标注数据进行标签预测:将原始未标注数据和增强后的未标注数据一同喂入到当前模型中,通过平均加权的方式对未标注数据进行预测:

图片

由于预测出的“伪标签”分布相对平坦,论文也采取了Sharpen操作:使得“伪”标签熵更低,即猫狗分类中,要么百分之九十多是猫,要么百分之九十多是狗。Sharpen操作在CV中也应用很广泛啦:

第3步:对标注数据和未标注数据一同进行TMix:将所有数据(有标注,原始未标注,增强后的未标注)混合在一起生成,然后随机选择2个样本和进行TMix,然后通过KL散度计算损失:

图片

当来源不同时,上述损失代表不同的意义:

  • 当x来自标注数据时,主要利用信息来自有标注数据,因此模型损失为有监督损失。

  • 当x来自未标注数据时,主要利用信息来自未标注数据,因此模型损失为一致性训练损失。

JayJay的一个小疑问:主要信息来源于 标注数据 还是 未标注数据,其实主要应该取决于TMix的值是多少,论文这里描述似乎不太恰当。

值得注意的是:在CV领域论文MixMatch[1]中,数值大部分落在0或1附近,因此其主要利用来自而不是。

4、MixText表现如何?

图片

论文最后在4个数据集上,将MixText与BERT和其他半监督方法进行了对比(如上图),可以看出:

  • MixText在各个数据集上超越了之前的半监督SOTA——谷歌的UDA方法;

  • MixText在不同标注数据量均取得最高指标,标注数据越少,指标增益越明显;

  • 仅仅利用标注数据的TMix方法也超越了BERT。

图片

此外,作者还对比在仅有10条标注数据时、利用不同的未标注数据量时MixText的表现,如上图所示:随着未标注数据的增加,指标也不断提升!

总结

本文介绍的MixText展示了最强的半监督分类性能!其不仅仅合并了未标记数据,而且通过TMix建立了标注数据和未标注数据之间的隐式关系,同时对未标注数据也有较好的标签预测能力。

在小样本场景下,通过MixText充分利用大量的未标注数据,可以带来显著的指标增益!此外,一般情况下,半监督学习只会增加训练时间,而不会增加推断时间哦

因此,NLPer:不要浪费你的未标注数据,赶紧利用、操练起来吧!

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Prompt Learning是一种用于文本分类的方法,它将不同的自然语言处理任务转化为文本分类问题。与传统的BERT fine-tuning方法不同,Prompt Learning使用了一些特殊的技术和策略来提高分类效果。 在Prompt Learning中,有几个重要的概念,包括Template、Verbalizer和PromptModel。Template是一种用于构造提示的模板,它定义了输入文本和输出标签之间的关系。Verbalizer是一种将标签映射到自然语言描述的方法,它用于生成提示中的掩码。PromptModel是一个基于提示学习的文本分类模型,它使用预训练语言模型学习到的特征和标签文本来初始化分类器参数。 Prompt Learning适用于标注成本高、标注样本较少的文本分类场景,尤其在小样本场景中表现出更好的效果。它能够充分利用预训练语言模型学习到的特征和标签文本,从而降低样本量需求。此外,PaddleNLP还集成了一些前沿策略,如R-Drop和RGL,以帮助提升模型效果。 总之,Prompt Learning是一种用于文本分类的方法,通过构造提示和利用预训练语言模型的特征来提高分类效果,特别适用于标注成本高、标注样本较少的场景。 #### 引用[.reference_title] - *1* [Prompt-Learning](https://blog.csdn.net/weixin_42223207/article/details/122954172)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [效果超强!基于Prompt Learning、检索思路实现文本分类,开源数据增强、可信增强技术](https://blog.csdn.net/PaddlePaddle/article/details/126968241)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值