任玉琪 多任务学习在文本分类及命名实体识别中的应用
新闻来源:IR实验室       发布时间:2019/3/28 15:55:37

  在最近的一些自然语言处理领域的顶会论文中,多任务学习出现的频率越来越高,说明多任务学习成为目前研究的热门方向。机器学习方法往往需要大量的标注数据才能训练出有效的参数。但是目前很多任务上没有丰富的标注数据资源,因此需要借助外部知识来提高模型效果。多任务学习(Multitask Learning)的提出就是为了解决低资源数据的问题,它属于迁移学习中的一种,通过将相关任务的信息来帮助每个任务学习到更准确的模型。本文对分别对今年发表在NAACL2018以及ACL2018的两篇论文进行解读。

1、背景知识

多任务学习模型是一种并行结构,任务之间的信息相互共享,知识在不同的任务中互相迁移,对于小样本数据的训练效果突出。多个任务之间主要通过共享参数的形式来共享不同数据间的特征,参数的共享主要分为两种:硬共享和软共享。参数的硬共享机制共享所有任务的所有隐层参数,而保留任务相关的输出层。硬共享机制降低了过拟合的风险,模型图如图1所示。软共享机制中每个任务都有自己的模型,自己的参数。模型参数之间的距离是正则化的,以便鼓励参数相似化,模型图如图2所示。目前多任务学习已经应用在文本分类、命名实体识别、机器翻译等各个领域。

多任务学习的优点主要有三个:

(1)单任务学习时,梯度的反向传播倾向于陷入局部极小值。多任务学习中不同任务的局部极小值处于不同的位置,通过相互作用,可以帮助隐含层逃离局部极小值。

(2)辅助的任务可以改变权值更新的动态特性,使网络更适合多任务学习。比如,多任务并行学习,提升了浅层共享层(shared representation)的学习速率,较大的学习速率提升了学习效果。

(3)多个任务在浅层共享表示,削弱了网络的能力,降低网络过拟合,提升了泛化效果。

图1 参数的硬共享机制

图2 参数的软共享机制

2Gated Multi-Task Network for Text Classification[1]

本文来自于上海交通大学团队,发表于NAACL2018。这篇文章将多任务学习应用在文本分类中。作者指出现在大部分的参数共享机制是共享不同任务间所有的参数,这种方法会将一些无效的甚至有害的特征引入进来,从而影响了任务的分类效果。因此作者提出一种门控机制在每个任务之间进行特征共享的时候,通过门机制控制每个私有网络之间分配的特征,对于某个任务来说,只选择对该任务有用的特征来提供标签预测的准确性。具体的模型方法如图3所示:

image.png

图3 具有门机制的多任务学习网络

从图中可看出不同的任务具有独立的网络结构,两个任务之间使用门机制来共享参数。针对某个任务,从其他任务中迁移对该任务有益的特征与自身特征融合来学习额外的信息,从而达到提高模型效果的目的。每个私有模型由输入层、巻积层、门共享层、池化层、门共享层、全连接层等构成。下面重点介绍作者提出的门共享单元,该单元的模型图如图4所示:

图4 门共享单元模型图

门共享单元的计算公式如下所示:

公式中表示的是任务k将特征迁移到任务j中,l表示网络层的等级。任务k与参数矩阵W相乘后经过sigmoid函数得到迁移到任务j中的特征比例,然后与任务k特征相乘计算得到迁移的特征部分与任务j相加,完成参数的共享。文本分类模型的目标函数依然是Softmax,但由于多个任务,因此损失函数由多个任务的损失函数共同组成,文章中将每个任务的权值设置相同。作者使用了多个数据集来证明门机制多任务学习的优势,具体的数据集说明如图5所示:

图5 数据集简述

在不同数据集中该模型的表现情况如图6所示:

图6 不同数据集间的对比实验

从实验结果可以看出,在于单一模型进行比较的时候,多任务模型的效果普遍优于单个模型,说明多任务学习中特征共享的机制效果较好。在门机制多任务模型和其他多任务模型进行对比的时候,可以发现有些数据集上效果还是没有达到最好,但大部分都超过了最好的模型。这篇文章提出的想法较为新颖,具有启发性,可以将这种方法泛化到其他任务领域中。作者也提出在未来会使用记忆力机制来代替门机制,更好的捕获不同任务之间有效的特征,过滤掉噪声特征。

3A Multi-lingual Multi-task Architecture for Low-resource Sequence

Labeling[2]

这篇论文的作者来自于美国伦斯勒理工学院,发表在ACL2018上,这篇论文主要将多任务学习应用在低资源数据的序列标注任务上。论文中指出深度学习依赖大规模的数据集,对于规模较小的数据集,难以训练神经网络达到预期的效果。尤其对于低资源语言的数据,更加缺乏训练样本。因此作者提出使用多任务学习的方法通过迁移多资源语言相关任务的特征来提高低资源语言任务的效果,并且使用两级的参数共享来完成多任务学习。在第一层,模型将字符级Embedding、字符级卷积神经网络以及词级LSTM层参数进行共享,第二层采用不同的参数共享机制来迁移不同的模型。本文使用的基础模型是序列标注中常用的charCNN+BiLSTM+CRF模型,下面是该模型的整体框架图:

image.png

图7 基本模型框架图

在该模型的基础上,作者进行多任务学习,模型图如图8所示。模型中低资源语言作为主任务,多资源语言作为辅助任务。

图8 多语言多任务模型图

从图中可看出为了提高低资源数据的词表示特征,作者将多种Embedding的结果拼接在一起,共享全部特征。由于低资源语言的稀缺性,在训练词向量表示时,作者使用MUSE工具来训练多语言词向量。接着经过Bi-LSTM层,不同任务之间所有参数也共享。然后经过全连接层,这一层针对于相同任务中的不同语言,不同语言之间既有私有的线性变换又有共享的线性变换,私有的全连接层学习该语言独有的特征信息,共享的全连接层用来捕获不同语言之间通用的特征信息。共享层中的具体公式如下:

该公式的原理与上篇的门机制单元类似,通过计算不同语言特征的权重来更新低资源语言的信息。论文中使用了荷兰语、俄罗斯语、西班牙语、英语等语言进行对比实验,序列标注任务选择的词性标注和命名实体识别。图9是对实验数据集的具体描述:

image.png

图9 实验数据集

作者使用了多个对比实验,这里只选择其中两个代表,实验结果如图10所示。第一个图中的主任务是命名实体识别,辅助任务是词性标注,主语言是荷兰语,辅助语言是英语。第二个图中的主任务是命名实体识别,辅助任务是词性标注,主语言是西班牙语,辅助语言是英语。从图中可以看出论文中提出的方法在F1值上效果优于其他模型。从图中也可以发现单独跨语言的模型效果要优于单独跨任务的模型效果,这是因为跨语言的模型具有共享线性层可以学习到不同语言数据间的特征权值,保留有效特征,去除无效的特征。

图10 对比实验结果

作者也解释了为什么选择命名实体识别作为主任务:由于词性标注任务的需求更少,命名实体识别任务更具有挑战性,词性标注的数据资源高于命名实体识别任务。这篇论文的实验十分充分,方法也可迁移。

[1] Xiao L, Zhang H, Chen W. Gated Multi-Task Network for Text Classification[C]//Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 2 (Short Papers). 2018, 2: 726-731.

[2] Lin Y, Yang S, Stoyanov V, et al. A multi-lingual multi-task architecture for low-resource sequence labeling[C]//Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2018, 1: 799-809.