预训练模型的多任务主动学习

前言

 

在NLP领域多任务学习可以使得相似任务之间共享信息,获得更好的收益,但是要进行多任务学习的前提是要有一份多任务的标注数据,这里说的标注数据是说任务之间共享一份相同的输入数据,但是是不同的标注任务。

上诉预料通常来说是比较昂贵,而主动学习可以很好的缓解这一困境,两则结合便成了今天要介绍的MT-AL即多任务学习:Multi-task;主动学习:Active learning;

本篇并不是探究MT-AL的第一篇,而本篇是第一次尝试端到端的MT-AL,感兴趣的来看看吧~

论文链接:https://arxiv.org/pdf/2208.05379.pdf

Confidence Estimation

主动学习的一个最基本思路就是每次从未标注的样本中选出最困难的样本(所谓最困难就是模型最难识别的样本),然后人工标注,最后把这部分样本加入到训练样本中一起训练。如此以往,多次迭代,直到收敛。

可以看到其中最关键的步骤就是选困难样本,再说的直白点就是怎么量化困难这一含义,为此这里介绍了几种,

具体的分为单任务和多任务两个方面来介绍:

先来看单任务:

Random (ST-R):这里就是随机选,可以当作一个baseline

Entropy-based Confidence (ST-EC) :使用熵来量化

E(x)就是熵,相信大家也比较熟悉,其越大代表着结果越不确定,所以ST-EC(x)越小越代表着困难样本。

Dropout Agreement (ST-DA) :这里借鉴了Ensemble方式即通过多个模型来综合决定最后的分数

说完了单任务的,再来看看多任务的,其实和单任务一样,对应的为MT-EC 和MT-DA,只不过这里是多个任务,那就是说一个样本对应多个量化指标,所以最后得聚合一下得到一个总的量化值,具体的聚合方式也非常的常见就是平均值、最大值、最小值即MT-AVGDA、MT-MAX、MT- MIN。

多任务的量化指标除了上面容易想到的简单指标,作者这里还提出了另外三个MT-PAR、MT-RRF和MT-IND。

首先说第一个即把每一个样本的不确定量化值看成一个向量,假设有n个任务,那么该向量值就是一个n维的向量,向量中的每一个值代表当前任务的一个量化值,如果一个样本对应向量中存在一个元素小于其他所有样本的向量对应位置的元素或者一个样本所有元素都小于其他样本向量对应位置元素的时候,这个样本就叫做边界点,而这样样本就是被选择的困难样本,当通过这种方式选出了的样本数量小于规定的样本数时,那就先把这部分样本选出来,然后在剩下的样本中重复上述逻辑,直到达到规定的数量,当超出时,那就选第一个维度先进行排序,然后等间隔选择出规定的数量。

其次来看MT-RRF,对于每一个样本首先计算得到其t个任务对应的ST-EC值,然后假设对于某一个任务,我们对所有样本进行排序,具体的是ST-EC值从小到大排序,然后每一个样本就可以得到其t个任务对应的ST-EC排序值即r,最后样本x的MT-RRF值就是倒排,公式如下:

​然后在选择的时候,优先选择MT-RRF值大的值,因为MT-RRF值越大意味着其各个任务的排序就越小,意味着其各个认为的ST-EC值排序地位就越靠前,就意味着其各个任务的ST-EC值越小,就意味着越是困难样本。

最后来看MT-IND就更简单粗暴了,假设要选n个样本,一个t个任务,那么就每个任务选出n/t个样本,具体的也是根据ST-EC值。

看到这里,大家应该就更清楚了,其实本质上用的基本都是ST-EC,只不过对于多任务就是怎么想办法把多个任务的ST-EC值聚合成一个,为此作者想了MT-PAR、MT-RRF和MT-IND三个值。

​通过上面几种方式选出的困难样本,可以看到有很多交叉的

Models

模型如下,这里有两个任务DP和NER任务,有一个底层共享的transformer和自己交叉的模型,模型图也比较清楚

results

这里做了很多实验,这里列几个。

首先看模型结构的影响,首先是单模型ST,SMT一种简单的多模型(就是transformer上游简单接任务头),CMT本文提出的复杂模型,同时采取了两种训练方式,一个是交叉熵CE一个是采用平滑标签LS,

​另外就是单模型和多模型,AL就是主动学习

同时还做了很多实验:

​大家感兴趣的可以去看原paper

总结

(1) 关于多任务其实涉及到两方面的工作,一个是多任务数据一个多任务模型,对于前者本文是探讨在同一份数据集上做不同的任务进而导致了标注数据昂贵进而采用了主动学习,但其实这不是必须的,我们有多个任务对应的多份不同数据也是可以一起训练一个模型的,另外就是多任务模型的设计,大体思路就是大家先过一个共享的模型,然后再过一些自己的模型单元,当然之间还可以设计一些交叉交互

(2) 多任务挑选困难样本这里可以借鉴一下本文的一些方法

(3) 看到这里的多任务,不由得想起来多模态,输入数据就是完完全全的不同模态,本质上就是一个多任务,其实都是可以互相借鉴的

关注

欢迎关注,下期再见啦~

欢迎关注笔者微信公众号:

github:

Mryangkaitong · GitHubhttps://github.com/Mryangkaitong

知乎:

小小梦想 - 知乎

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值