摘要
作者提出MT_DNN迁移学习方法,该方法试图结合 Multi-Task Learning 与 Pretraining LM 的优点。MT_DNN的示意图如下:
MTL是指“同一模型同时在多个相关数据集上,进行多任务的学习”,这样的好处不仅可使模型利用更多的数据集,也具有正则效果。而加入预训练模型的优势,则是将预训练模型作为Encoder, 这个Encoder处于网络结构的底层,被多个任务所共享,而每个特定的任务具有特定的学习层则处于上层。
模型结构
Encoder部分就是Bert,可参考Bert原文,这里记录特定任务的不同层。
序列分类任务:添加logistic regression 与 softmax:
P
(
c
∣
x
)
=
s
o
f
t
m
a
x
(
W
T
x
)
P(c|x) = softmax(W^Tx )
P(c∣x)=softmax(WTx)
x
x
x 是Encoder中最后一层[CLS]向量。
句对相似性任务:添加logistic regression:
y
=
W
T
x
y = W^T x
y=WTx
x
x
x 是Encoder中最后一层[CLS]向量。其它任务的网络层设计参考原文,或者自行设计。
训练过程
训练过程包含两个阶段,第一个阶段仅对Encoder部分,与BERT预训练过程一致:MLM & NSP。第二个阶段更新Encoder,以及特定任务层的所有参数,具体做法是:“从多个任务数据集中,随机抽取一个batch, 计算抽取的batch对应任务的损失,并更新该任务对应的网络层参数,经过大量随机抽取,所有特殊网络层及Encoder的参数都将被更新”。怎样应用MT_DNN到下游任务论文没有提及,个人认为,剪去非下游目标任务所需层,然后与Bert用法就保持一致了。
实验结果
说明多任务学习方法比“单任务学习方法”更好。