论文题目: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)特征或其他任务带来的噪声污染。
1.4 Neural network models
ŷ =softmax(WhT+b) y ^ = s o f t m a x ( W h T + b ) (5)
其中y′表示通过softmax层输出的预测分类概率(向量),W表示通过训练得到的权重向量,b为偏置项;
对于含有N个训练样本的数据集( xi,yi x i , y i ),对网络参数进行训练,从而使预测分布与真实分布的交叉熵达到最小。
L(ŷ ,y)=−∑Ni−1∑Cj=1yiIlog(y′ji) L ( y ^ , y ) = − ∑ i − 1 N ∑ j = 1 C y I i l o g ( y i ′ j ) (6)
yji y i j 表示真实的类别标签, ŷ ji y ^ i j 表示预测分类概率,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
定义 Dk D k 为一个带有 Nk N k 样本的数据集(关于任务k)。特别地,
Dk=(xki,yki)Nki=1 D k = ( x i k , y i k ) N i = 1 k (7)
其中 xki x i k 与 yki y i k 分别表示关于任务k的第i个句子及其对应标签。
多任务学习的关键因素是潜在特征空间的共享方案。在神经网络模型中,潜在的特征可以被看作是隐藏神经元的状态。具体到文本的分类,隐藏的特征是在句末的LSTM的隐藏状态。因此,共享方案在如何分组共享特性方面有所不同。
常用的基于LSTM的多任务学习方案有两种,分别为Fully-Shared Model (FS-MTL)和Shared-Private Model (SP-MTL):
- FS-MTL仅使用单LSTM对所有的任务进行特征提取,并将提取到的特征分别传入对应任务的sorfmax层进行分类,该模型忽略了任务特定的特征表示(task-dependent)的存在;
- SP-MTL对每个任务引进两类特征空间:私有特征空间(task-dependent)和共有特征空间(task-invariant),使用两个LSTM进行特征提取(一个用于提取私有特征,另一个提取共有特征),该模型会忽略一些有用的可共有特征,共有特征空间也容易受到某些私有特征的污染。
对应任务k,共享特征 skt s t k 与私有特征 hkt h t k 分别为:
skt=LSTM(xt,skt−1,θs) s t k = L S T M ( x t , s t − 1 k , θ s ) (8)
hkt=LSTM(xt,hmt−1,θk) h t k = L S T M ( x t , h t − 1 m , θ k ) (9)
最终获取到的特征是共有特征(task-invariant)与私有特征(task-dependent)的组合,
对于task k中一个句子的最终特征h(k),由深层muti-task架构发出,最终传入对应任务的softmax层进行分类或其他任务。损失函数 Ltask L t a s k (优化目标 :最小化所有任务的预测分布和真实分布的交叉熵)计算公式为:
Ltask=∑Kk=1αkL(ŷ (k),y(k)) L t a s k = ∑ k = 1 K α k L ( y ^ ( k ) , y ( k ) ) (10)
其中 αk α k 对应任务k的权值。 L(ŷ (k),y(k)) L ( y ^ ( k ) , y ( k ) ) 的定义见(6)式
2.1 MAIN IDEA
为解决传统模型中存在的问题,作者提出了ASP模型框架来解决问题,具体做法为使用对抗训练来保证共享空间仅包含多任务的共享信息,以及使用正交约束来消除共享空间和私有空间之间的冗余信息。
2.2 提出新模型ASP-MTL
作者提出了如图3所示可用于多任务框架的对抗性训练学习模型。
D(skT,θD)=softmax(b+UskT) D ( s T k , θ D ) = s o f t m a x ( b + U s T k ) (12)
其中, U∈Rd∗d U ∈ R d ∗ d 为可学习参数, b∈Rd b ∈ R d 为偏置项。
对抗性损失:加入对抗损失函数 Ladv L a d v (思想来源:Goodfellow NIPS2014)能够防止共有特征空间混有私有特征,通过对抗损失函数训练一个模型来产生一些共享特征以至于分类器无法根据在这些特征可靠预测任务。对抗性网络的原始损失是有限的,因为它只能用于二元对抗。为了克服这个问题,作者将它扩展到多类形式,使得新的模型能够同时进行多个任务的训练:
LAdv=minθs(λmaxθD(∑Kk=1∑Nki=1dkilog[D(E(Xk))])) L A d v = m i n θ s ( λ m a x θ D ( ∑ k = 1 K ∑ i = 1 N k d i k l o g [ D ( E ( X k ) ) ] ) ) (13)
其中 dki d i k 表示任务类别的标签,这是一个min-max优化问题,其基本思想为,对于一个给定的句子,共享LSTM试图不断地误导判别器,而sorfmax层的判别器不断地努力辨别句子来自哪个任务,在不断地训练后,共享特征提取器和鉴别器达到了平衡态,鉴别器无法根据共享层中的任一特征表示来判断输入的句子来自于哪一类task,此时,共享特征表示空间中仅包含纯净的与任务无关的通用情感特征表示。
半监督多任务学习:注意到 LAdv L A d v 只需要输入句子x并且不需要相应的标签y,这使得该模型可应用于半监督的多任务学习框架中,模型不仅可以利用相关任务的数据,而且可以使用丰富的未标记语料库。
正交性约束:为了消除各任务私有空间中共有特征的干扰,保持其独立性,因而对共有特征和私有特征进行正交约束,作者通过对多种优化方式的考察,最终选择了BousMalis等人于2016年发表论文中提出的方法(同类方法中表现最优)。即:
最终的损失函数为:
L=LTask+λLAdv+γLDiff L = L T a s k + λ L A d v + γ L D i f f (15)
网络利用反向传播进行训练,并通过使用梯度反转层来实现最小最大优化组合
λ和γ为超参数,即各个loss的权重比例。文中取值分别为0.01和0.05。
3.1 Dataset
单任务组实验:选取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
3.3 Shared Knowledge Transfer
知识(共有特征)迁移:通过对抗性学习,共有特征提取器 Es E s 能够生成更多纯净的任务不相关特征,据此可将其看做现成的知识,并用于新任务场景中。
为了验证共有特征提取器的可迁移性,作者又设计了一个实验。选取15个任务来训练多任务学习模型 Ms M s ,对传输层的参数进行了冻结,并对网络MT的其余参数进行了随机初始化。
作者研究了两种面向迁移共有特征提取器的机制。如图4所示。第一种单通道模型由一个共有特征提取器 Es E s 组成,然后提取的表示将被发送到输出层。相比之下,双通道模型引入一个额外的LSTM层来用于更多特定任务信息的编码,来提高情感分析效果。
为评估对抗性训练框架的有效性,作者将其与传统的多任务学习方法进行了比较。
为得到一个直观地理解正交化约束的引入与普通的共享-私有模型对比,作者设计了一个实验来研究来自私有层和共享层的神经元的行为。通过可视化隐藏状态 hj h j 并分析maximum activation,可以找到当前神经元所处的状态。
4.1 Contributions
简单总结一下,本文贡献主要有一下几点:
1. 提出的新模型以更精确的方式划分任务特定(私有)空间和共享空间,而非粗略地共享参数。
2. 作者将原始的二元对抗性训练扩展到多类,这不仅使多个任务可以联合训练,而且允许使用未标记数据(半监督的学习)。
3. 作者将多个任务之间的共享知识压缩到一个现成的神经层,这可以很容易地迁移到新的任务中(模型具有较好的可迁移性)。
4.2 Thinking
①本文主要亮点在于在传统模型基础与最新模型、训练方法(对抗性训练、迁移学习、多任务学习、半监督学习…)的成功融合,并通过合理的设计实验对作者提出模型的有效性进行证明。
②多任务学习共享知识迁移设计要求数据集之间的具有相关性,这里数据集的相关性具体如何衡量,文中并未提及,或许作者也是在使用大量的数据集进行实验的基础之上,挑选出了性能表现较好的一些数据集,关于适用于本模型数据集的选取或许是一个值得探索的方向。
留坑(重现后再填):看完文章,我有一个问题,实验评估部分作者的模型在16个数据集上的任务表现出很好的性能,但是这16个数据集的结果是否是在对大量不同的数据集进行实验的基础上,筛选出来的表现好的一部分结果?实验结果是否具有代表性?表格中部分结果较原有模型不但没有提高反而产生了下降,这个怎么解释?这些文中没有提及的细节我都有点想不明白。但是抛开这些问题,本文作者展现的写作思路是在我们的论文写作中是很有指导意义的。
①论文下载 幻灯片下载
②代码链接
③论文数据集下载
④作者汇报视频(需要科学上网)
⑤其他版本论文笔记链接:知乎版 简书版
⑥文章作者个人主页