最近大佬们接连放出大招。。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了
MT-DNN是基于BERT的多任务学习模型,通过结合不同任务的fine-tune步骤,提高了模型性能和泛化能力。它在NLP领域的预训练模型上迈出了一步,尤其在标注数据有限的情况下,展示出优于单一任务学习的优势。模型结构中,根据任务类型选择不同的编码表示,并使用联合训练方法避免任务偏置。
1613

被折叠的 条评论
为什么被折叠?



