【论文笔记】Adversarial Multi-task Learning for Text Classification

一、概要
  该文章发于ACL 2017,针对于已有的大多数神经网络多任务学习模型进行文本分类,存在的共享特征(shared features)可能再次包含特定任务特征(task-specific features)或者含有来自其他任务带来的噪声问题,作者提出了一个对抗多任务学习模型,缓解了共享特征空间和特定任务特征空间相互干扰的问题,作者在16个任务上进行实验证明其模型的有效性,并且实验结果表明模型的共享特征学习到的知识可以很好地用在新任务上。

二、模型方法
2.1 Adversarial Shared-Private Model

【论文笔记】Adversarial Multi-task Learning for Text Classification_第1张图片

  如概要所述,针对于已有的神经网络多任务学习的方法可能存在共享和私有特征相互包含的问题,作者提出了对抗多任务学习模型。如上图所示,(b)表示本文方法,存在两个任务,其中蓝色的正方形和三角形表示特定任务的私有特征领域,用来捕捉特定任务的特征,重叠的红色圆圈表示共享的特征领域,其用来捕获不同任务间存在的共同特征。
  本文通过使用对抗训练来保证共享空间仅包含多任务的共享信息,以及使用正交约束来消除共享空间和私有空间之间的冗余信息。

2.2 Recurrent Models for Text Classification
  本文使用Long Short-term Memory(LSTM)模型进行文本分类,关于LSTM模型可见【Deep Learning】LSTM(Long Short-Term Memory)及变体。对于一个给定的句子x = { x1,x2,···,xT },首先通过lookup层获取到每个词的向量表示,然后通过LSTM,使用最后一个时间步的输出 hT 作用整个句子的表示,最后通过一个softmax层进行分类,得到相应类别的概率。

y=softmax(WhT+b)
L(y,y)=Ni=1Cj=1yjIlog(yji)

  其中 y 表示通过softmax层输出的分类概率, yji 表示真实的类别标签,C为类别数。

2.3 Multi-task Learning for Text Classification
  多任务学习的目标是通过多个任务并行学习到它们的相关性来提高分类的准确性;假设第k个任务中存在 Nk 个样本,那么将 Dk 定义为:

Dk = { (xki,yki) } Nki=1

  其中 xki 表示为该任务中第i个句子, yki 表示对应的标签。

【论文笔记】Adversarial Multi-task Learning for Text Classification_第2张图片

  如上图所示,多任务学习有两种结构,分别为Fully-Shared Model (FS-MTL)和Shared-Private Model (SP-MTL),假设存在两个任务m和n,那么:
  ①FS-MTL仅使用单LSTM对所有的任务进行特征提取,然后将提取到的特征分别传入对应任务的sorfmax层进行分类;
  SP-MTL使用了两种特征学习方法,一种是所有任务共享的特征,一种是特定任务独立的特征,均使用LSTM进行特征提取,对应任务k,共享特征与私有特征可以表示为:
skt=LSTM(xt,skt1,θs)
hkt=LSTM(xt,hmt1,θk)

  最后的特征是将共享特征与私有特征组合,对于任务k,将最终特征 h(k) 传入对应任务的sorfmax层进行分类,损失函数 Ltask 计算方法为:
Ltask=Kk=1αkL(y(k),y(k))

2.4 Incorporating Adversarial Training
  这里使用到了GAN的思想,关于GAN可以查看网上的一些资料,比如机器之心的 GAN完整理论推导与实现,这里主要是使用一个sorfmax层作为判别器(Discriminator),共享特征提取的LSTM作为生成器(Generator),判别器是判断提取到的特征来自于哪个任务,即:
D(skT,θD)=softmax(b+UskT)

  那么Adversarial Loss LAdv 为:
LAdv=minθs(λmaxθD(Kk=1Nki=1dKIlog[D(E(Xk))]))

  其中 dki 表示任务类别的标签,这是一个min-max优化问题,对于一个给定的句子,共享LSTM试图不断地误导判别器,而sorfmax层的判别器不断地努力辨别句子来自哪个任务,在不断地训练后,达到一个平衡。同时这里不需要任务中文本分类的label,而是需要句子来自哪个任务作为标签,所以这可以看做一个半监督的多任务学习,可以充分利用一些没有标签(unlabeled)的数据集进行训练。
   Orthogonality Constraints,为了消除共享空间与各任务私有空间的干扰,保持其独立性,因而对共享特征和私有特征进行正交约束,即:
Ldiff=Kk=1||SkTHk||2F

  所以最终的损失函数为:
L=LTask+λLAdv+λLDiff

  其中λ和 λ 分别是超参数,文中取值分别为0.01和0.05。

三、实验结果
3.1 实验数据集
【论文笔记】Adversarial Multi-task Learning for Text Classification_第3张图片

3.2 Competitor Methods for Multi-task Learning
【论文笔记】Adversarial Multi-task Learning for Text Classification_第4张图片
  其中MT-CNN模型是由Colbert和Weston(2008)提出使用卷积神经网络的模型,只有lookup层共享,其他层则是特定任务私有。MT-DNN:该模型由Liu等人提出(2015),其中包含词袋输入和多层感知器,隐藏层是共享的。

3.3 Shared Knowledge Transfer
【论文笔记】Adversarial Multi-task Learning for Text Classification_第5张图片
  其中存在两种知识迁移的方法,如下图,黄色方框表示来自其他15个任务训练得到的共享特征提取器。

【论文笔记】Adversarial Multi-task Learning for Text Classification_第6张图片

3.4 Visualization

【论文笔记】Adversarial Multi-task Learning for Text Classification_第7张图片

【论文笔记】Adversarial Multi-task Learning for Text Classification_第8张图片

四、结论与思考
  本文提出了一个对抗多任务学习模型,缓解了共享特征空间和特定任务特征空间相互干扰的问题,并在16个任务上进行实验证明其模型的有效性,以及通过进行广泛的定性分析,间接证明了模型有效性的提升。

五、个人思考
  ①首先是最近GAN及强化学习真是被大家玩得火热,通过寻求合适应用场景下使用深度强化学习,本文正是基于此提出了一个较为新颖的模型,并证明其方法的有效性。
  ②本文的模型在特征提取模块仅使用了LSTM进行特征提取,所以可以进一步加强模型的复杂度,多任务学习与模型融合在一定程度上是不是相似的呢?是否具有普适性?尽管多任务学习最近也非常火热。

参考文献
①Pengfei Liu,Xipeng Qiu,Xuanjing Huang.Adversarial Multi-task Learning for Text Classification
②代码链接:http://pfliu.com/#Publications
③数据集:http://nlp.fudan.edu.cn/data/

你可能感兴趣的:(论文笔记,Text,Mining)