阅读笔记:Adversarial Multi-task Learning for Text Classification [ACL-2017]

【阅读笔记:Adversarial Multi-task Learning for Text Classification】

论文题目:Adversarial Multi-task Learning for Text Classification

作者:Pengfei Liu, Xipeng Qiu and Xuanjing Huang

出处:ACL 2017

论文主要相关:多任务学习、文本分类、情感分析

概要:常规的多任务学习通常单纯的共享某些参数,导致共用特征空间和私有特征空间中存在大量冗余的特征。作者提出了一种对抗性多任务学习框架,缓解了共享特征空间和特定任务特征空间(私有潜在特征空间)之间的相互干扰的问题,并采用对抗学习确保共用特征空间中仅存在共用特征和任务无关的特征,辅以正交约束来去除私有和共用特征空间中冗余的特征。在16个任务的情感分析测试中,该框架比单任务学习平均效果提升了4.1%,比其他多任务学习框架(FS-MTL、 SP-MTL等)效果更好。并且实验结果表明模型的共享特征学习到的知识,容易被迁移到新任务的情感分析中。

一、待解决问题:特征噪声

  1.1 Multi-task Learning
  多任务学习是一种有效的借助其他相关任务的帮助来提升单个任务表现的方法,而基于神经网络的多任务学习模型因为便于结合来自多个任务的信息而在机器视觉和自然语言处理中大受欢迎。->关于多任务学习的回顾
  
  1.2 Problems in existing methods
  现有的方法中,提取的共享(shared)特征容易受到特定任务(task-specific)特征或其他任务带来的噪声污染。

阅读笔记:Adversarial Multi-task Learning for Text Classification [ACL-2017]

  Background:多任务学习中将特征空间划分为两部分,一个用于存储某任务特有的(private 、task-specific、task-dependent )的特征表示,另一个用于捕获与特定任务关联性较低的共享特征表示。
  目前的SP-MTL模型中存在的主要局限在于共享特征表示空间中可能包含一些不必要的任务特有特征表示,而且一些与任务关联性较低的共享特征表示也可能混合在私有特征空间中,这是由特征冗余造成的。
  私有特征表示:任务特定的,独有的的情感特征表示,在具体任务背景中具有独有的情感极性。
  共享特征表示:任务分类之间的泛化边界,应具有较低的任务敏感性,在不同的任务语境中表现出相同或相近的情感极性。
  
  1.3 Give an example
  使用传统多任务学习模型输入以上两个句子(电影评论与婴儿用品评论),进行情感特征分类学习。
阅读笔记:Adversarial Multi-task Learning for Text Classification [ACL-2017]

  使用传统多任务学习模型输入以上两个句子(电影评论与婴儿用品评论),进行情感特征分类学习。
  一词多义问题:“infantile”一词在电影任务中表示消极情绪,而在婴儿任务中则是中性的。使用传统的SP-MTL进行特征提取之后,在共享层与电影任务的特定特征表示层中都存放了“infantile”一词,这就对后续的情感分析造成潜在的不确定影响。
  同时,共享空间的容量也可能被一些不必要的特性所浪费。

  1.4 Neural network models

阅读笔记:Adversarial Multi-task Learning for Text Classification [ACL-2017]

  目前主要有四种用于MTL的神经网络模型,本文使用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)  (5)

  其中y′表示通过softmax层输出的预测分类概率(向量),W表示通过训练得到的权重向量,b为偏置项;

  对于含有N个训练样本的数据集(xi,yi),对网络参数进行训练,从而使预测分布与真实分布的交叉熵达到最小。

L(y^,y)=i1Nj=1CyIilog(yij)  (6)

  yij表示真实的类别标签,y^ij表示预测分类概率,C为类别数。

  目前有许多可用于文本建模的neural sentence model,包括RNN(recurrent neural networks or recursive neural networks)和CNN(convolutional neural networks)。作者采用了具有长短时记忆(LSTM)的递归神经网络(由于其在各种NLP任务中表现优异)。

  长期短时记忆网络(LSTM) 是一种递归神经网络(RNN),专门解决了学习长期依赖关系的问题。目前已有多种LSTM变体,作者使用的是没有peephole connections结构的LSTM。

  文中对LSTM做了一定篇幅介绍,这里关于LSTM不再详细展开,具体参考理解 LSTM 网络
  
  1.5 Neural network models

阅读笔记:Adversarial Multi-task Learning for Text Classification [ACL-2017]

  定义Dk为一个带有Nk样本的数据集(关于任务k)。特别地,

Dk=(xik,yik)Ni=1k   (7)

  其中xikyik分别表示关于任务k的第i个句子及其对应标签。

  
  多任务学习的关键因素是潜在特征空间的共享方案。在神经网络模型中,潜在的特征可以被看作是隐藏神经元的状态。具体到文本的分类,隐藏的特征是在句末的LSTM的隐藏状态。因此,共享方案在如何分组共享特性方面有所不同。
  常用的基于LSTM的多任务学习方案有两种,分别为Fully-Shared Model (FS-MTL)和Shared-Private Model (SP-MTL):

  1. FS-MTL仅使用单LSTM对所有的任务进行特征提取,并将提取到的特征分别传入对应任务的sorfmax层进行分类,该模型忽略了任务特定的特征表示(task-dependent)的存在;
  2. SP-MTL对每个任务引进两类特征空间:私有特征空间(task-dependent)和共有特征空间(task-invariant),使用两个LSTM进行特征提取(一个用于提取私有特征,另一个提取共有特征),该模型会忽略一些有用的可共有特征,共有特征空间也容易受到某些私有特征的污染。

  对应任务k,共享特征stk与私有特征htk分别为:   

stk=LSTM(xt,st1k,θs)  (8)

htk=LSTM(xt,ht1m,θk)  (9)

  最终获取到的特征是共有特征(task-invariant)与私有特征(task-dependent)的组合,
  对于task k中一个句子的最终特征h(k),由深层muti-task架构发出,最终传入对应任务的softmax层进行分类或其他任务。损失函数Ltask(优化目标 :最小化所有任务的预测分布和真实分布的交叉熵)计算公式为:   

Ltask=k=1KαkL(y^(k),y(k))  (10)

  其中αk对应任务k的权值。L(y^(k),y(k))的定义见(6)式

二、提出方法:ASP-MTL模型

  2.1 MAIN IDEA
  
  为解决传统模型中存在的问题,作者提出了ASP模型框架来解决问题,具体做法为使用对抗训练来保证共享空间仅包含多任务的共享信息,以及使用正交约束来消除共享空间和私有空间之间的冗余信息

  2.2 提出新模型ASP-MTL

  作者提出了如图3所示可用于多任务框架的对抗性训练学习模型。
  

阅读笔记:Adversarial Multi-task Learning for Text Classification [ACL-2017]

  这里使用到了GAN的思想,关于GAN可以查看网上的一些资料,如GAN模型介绍及研究进展亦或是Github上机器之心的GAN完整理论推导与实现,这里主要是使用一个sorfmax层作为判别器(Discriminator),共有特征提取的LSTM作为生成器(Generator),使共有特征空间不会混有私有特征。判别器用于将句子共有特征映射为概率分布,并以此作为依据,判断提取到的特征来自于哪个任务,即:
  

D(sTk,θD)=softmax(b+UsTk)  (12)

  其中,URdd为可学习参数,bRd为偏置项。

  对抗性损失:加入对抗损失函数Ladv(思想来源:Goodfellow NIPS2014)能够防止共有特征空间混有私有特征,通过对抗损失函数训练一个模型来产生一些共享特征以至于分类器无法根据在这些特征可靠预测任务。对抗性网络的原始损失是有限的,因为它只能用于二元对抗。为了克服这个问题,作者将它扩展到多类形式,使得新的模型能够同时进行多个任务的训练:

LAdv=minθs(λmaxθD(k=1Ki=1Nkdiklog[D(E(Xk))]))  (13)

  其中dik表示任务类别的标签,这是一个min-max优化问题,其基本思想为,对于一个给定的句子,共享LSTM试图不断地误导判别器,而sorfmax层的判别器不断地努力辨别句子来自哪个任务,在不断地训练后,共享特征提取器和鉴别器达到了平衡态,鉴别器无法根据共享层中的任一特征表示来判断输入的句子来自于哪一类task,此时,共享特征表示空间中仅包含纯净的与任务无关的通用情感特征表示。

  半监督多任务学习:注意到LAdv只需要输入句子x并且不需要相应的标签y,这使得该模型可应用于半监督的多任务学习框架中,模型不仅可以利用相关任务的数据,而且可以使用丰富的未标记语料库。

  正交性约束:为了消除各任务私有空间*有特征的干扰,保持其独立性,因而对共有特征和私有特征进行正交约束,作者通过对多种优化方式的考察,最终选择了BousMalis等人于2016年发表论文中提出的方法(同类方法中表现最优)。即:

Ldiff=k=1K||SkTHk||F2  (14)

  其中||||F2是Frobenius范数,SkHk矩阵中的行分别表示,任一个句子输入共享特征抽取器Es(,;θs)与私有特征抽取器Ek(,;θk)到的输出。

  最终的损失函数为:

L=LTask+λLAdv+γLDiff  (15)

  网络利用反向传播进行训练,并通过使用梯度反转层来实现最小最大优化组合
  λ和γ为超参数,即各个loss的权重比例。文中取值分别为0.01和0.05。

三、性能评估:实验分析

  3.1 Dataset

  阅读笔记:Adversarial Multi-task Learning for Text Classification [ACL-2017]

  数据集:作者在实验中使用了16个较为流行的数据集,其中前14个是Amazon网站上14类商品的评论数据,最后两个为电影评论数据集。所有数据集均以7:2:1的比例随机抽取分为训练集、测试集与开发集(development set)
  Competitor Methods:

  单任务组实验:选取3种常用的LTSM模型
  多任务组实验:选取MT-DNN与MT-CNN网络以及前文提到的两种多任务学习模型FS-MTL与SP-MTL:
  1.MT-CNN:由Colbert和Weston(2008)提出使用卷积神经网络的模型,只有lookup层共享,其他层则是特定任务私有。
  2.MT-DNN:该模型由Liu等人提出(2015),其中包含词袋输入和多层感知器,隐藏层是共享的。

  3.2 Performance Evaluation

阅读笔记:Adversarial Multi-task Learning for Text Classification [ACL-2017]

  表2显示了16个文本分类任务的错误率。 “单任务”一栏显示了传统LSTM,双向LSTM(BiLSTM),堆叠LSTM(sLSTM)和前三种模型的平均错误率的结果。 “多任务”栏显示了相应的多任务模型实现的结果。
  从这张表中我们可以看到,与单任务学习相比,使用多任务学习的模型分类错误率均得到了不同程度的降低,其中作者提出的ASP-MTL模型实现了最低的错误率。
  更具体地说,与SP-MTL相比,ASP-MTL平均提高了4.1%,超过SP-MTL一个百分点,这表明对抗学习的重要性。 值得注意的是,对于FS-MTL,某些任务的性能会降低,因为该模型会将所有私有和共享信息放入一个统一的空间。

  3.3 Shared Knowledge Transfer
  知识(共有特征)迁移:通过对抗性学习,共有特征提取器Es能够生成更多纯净的任务不相关特征,据此可将其看做现成的知识,并用于新任务场景中。

  为了验证共有特征提取器的可迁移性,作者又设计了一个实验。选取15个任务来训练多任务学习模型Ms,对传输层的参数进行了冻结,并对网络MT的其余参数进行了随机初始化。

  作者研究了两种面向迁移共有特征提取器的机制。如图4所示。第一种单通道模型由一个共有特征提取器Es组成,然后提取的表示将被发送到输出层。相比之下,双通道模型引入一个额外的LSTM层来用于更多特定任务信息的编码,来提高情感分析效果。

阅读笔记:Adversarial Multi-task Learning for Text Classification [ACL-2017]

  为评估对抗性训练框架的有效性,作者将其与传统的多任务学习方法进行了比较。

阅读笔记:Adversarial Multi-task Learning for Text Classification [ACL-2017]

  实验结果分析:结果如上图所示,可见作者提出的模型框架较原有框架取得了更优表现。除此之外,对两种迁移策略而言,双通道模型表现更优(原因是引入了特定任务层可以存储一些私有特征)。实验结果证明作者做法的有效性(将任务之间的共享知识存入一个现成神经层并迁移到新的文本分类任务中的做法)。
  
  3.4 Visualization

  为得到一个直观地理解正交化约束的引入与普通的共享-私有模型对比,作者设计了一个实验来研究来自私有层和共享层的神经元的行为。通过可视化隐藏状态hj并分析maximum activation,可以找到当前神经元所处的状态。

阅读笔记:Adversarial Multi-task Learning for Text Classification [ACL-2017]

  图5说明了这一现象。从婴儿(用品评论)任务的验证集中随机抽取一个句子,并对其在不同的时间步中所预测的情绪得分(SP-MTL和作者提出的模型的输出的)的变化进行分析。
  对于积极的句子“五星,我的宝宝很快就会在婴儿车里睡着”,这两种模型都捕捉到了“五星”的信息模式。然而,由于对“睡眠”这个词的误解(睡眠一词在电影评论中是分值较高的负面用词),SP-MTL做出了错误的预测。相比之下,我们的模型做出了正确的预测,从图5-(b)的**可以推断出原因,在这里,SP-MTL的共享层非常敏感,包括与其他任务相关的许多特性,比如“asleep”,从而误导了最终误判。这表明纯净的特征表示空间的重要性。

四、文章贡献与个人思考

  4.1 Contributions

  简单总结一下,本文贡献主要有一下几点:
  1. 提出的新模型以更精确的方式划分任务特定(私有)空间和共享空间,而非粗略地共享参数。
  2. 作者将原始的二元对抗性训练扩展到多类,这不仅使多个任务可以联合训练,而且允许使用未标记数据(半监督的学习)。
  3. 作者将多个任务之间的共享知识压缩到一个现成的神经层,这可以很容易地迁移到新的任务中(模型具有较好的可迁移性)。

  4.2 Thinking

  ①本文主要亮点在于在传统模型基础与最新模型、训练方法(对抗性训练、迁移学习、多任务学习、半监督学习…)的成功融合,并通过合理的设计实验对作者提出模型的有效性进行证明。
  ②多任务学习共享知识迁移设计要求数据集之间的具有相关性,这里数据集的相关性具体如何衡量,文中并未提及,或许作者也是在使用大量的数据集进行实验的基础之上,挑选出了性能表现较好的一些数据集,关于适用于本模型数据集的选取或许是一个值得探索的方向。
  留坑(重现后再填):看完文章,我有一个问题,实验评估部分作者的模型在16个数据集上的任务表现出很好的性能,但是这16个数据集的结果是否是在对大量不同的数据集进行实验的基础上,筛选出来的表现好的一部分结果?实验结果是否具有代表性?表格中部分结果较原有模型不但没有提高反而产生了下降,这个怎么解释?这些文中没有提及的细节我都有点想不明白。但是抛开这些问题,本文作者展现的写作思路是在我们的论文写作中是很有指导意义的。
  

相关资料链接

论文下载 幻灯片下载
代码链接
论文数据集下载
作者汇报视频(需要*)
⑤其他版本论文笔记链接:知乎版 简书版
文章作者个人主页