dnn解读_MT-DNN原理解读

MT-DNN是基于BERT的多任务学习模型,通过结合不同任务的fine-tune步骤,提高了模型性能和泛化能力。它在NLP领域的预训练模型上迈出了一步,尤其在标注数据有限的情况下,展示出优于单一任务学习的优势。模型结构中,根据任务类型选择不同的编码表示,并使用联合训练方法避免任务偏置。
摘要由CSDN通过智能技术生成

最近大佬们接连放出大招。。MT-DNN还没看,GPT2就出来了,争取这两天读完把细节写一下,一直坚持追踪NLP预训练模型的进展,自己工作中也用上了BERT,希望NLP的发展越来越好。

不了解BERT的请戳这里。

正文分割线

1.MT-DNN模型

1.1 模型结构

了解BERT的朋友们一看这个图估计就懂了,BERT的fine-tune是针对不同的任务在编码层后面加上task-layer,而MT-DNN就是把所有任务fine-tune的步骤都拼到了一起。这里根据输出的不同将任务分成了四种。

其实这点相信大部分用了BERT但又缺少标注数据的朋友都可以想到,比如我这几天就在做这样的工作,因为标注数据只有几百条,所以除了各种数据增强就只能上多任务学习了。

多任务学习的优点主要有两个:在标注数据较少的情况下,可以利用到其他相似任务的标注数据

减少针对特定任务的过拟合,起到正则化的作用

但问题来了:拿BERT的哪个编码表示?(CLS、SEP还是都拼起来?)

带着上面两个问题,仔细读了下论文。

1.2 Task specific layersSingle Sentence Classification:采用[CLS]作为句子编码表示,softmax损失函数

Pairwise Text Similarity:采用[CLS]作为句子编码表示,sigmoid损失函数

Pairwise Text Classification:分别将第一句和第二句的词编码拼接,参考SAN模型迭代推理结果

Pairwise Ranking:采用[CLS]作为句子编码表示,sigmoid损失函数

1.3 模型训练

联合训练:作者将所有task的batch训练数据混合成数据集D,每次从D中拿出一个任务的batch进行训练。

相比于交替训练(先训练任务A再训练任务B),这样做的好处是避免偏向某个任务。

2.结论

2.1 多任务学习可以提升模型表现

BERT证明了在大规模无监督语料上进行预训练可以提升NLP任务的表现,MT-DNN则证明了在一定规模的有监督语料上,用多任务学习+预训练模型会带来更好的表现。可以说比BERT更进一步地解决了业界标注数据稀缺的情况。

2.2 多任务学习具有更好的泛化性能

作者又在其他数据集上进行了实验,以验证MT-DNN模型在新任务中的表现,还是优于精挑BERT。因此MT-DNN具备更好的泛化性能。

其实总的来说,MT-DNN并没有多少创新,不过也在BERT的基础上更进一步,提升了NLP的水准。希望NLP越来越好~去看GPT2了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>