Adversarial Multi-task Learning for Text Classification

Adversarial Multi-task Learning for Text Classification

创新点: Adversial learning + Orthogonality Constraints

Abstract

  • 背景:

    神经网络模型已经表明了它们在Multi-task Learning中的广阔前景,其重点是学习共享层以提取公共的和随不同任务不变的特征

  • 存在的问题:

    但在大多数现有方法中,提取的 shared features易受到特定于任务的功能或其他任务带来的噪音的污染。

  • 本文的方法:

    本文提出了一种adversarial multi-task learning frame-work,以减轻共享的和私有的潜在特征空间的相互干扰。16种不同的文本分类任务进行了广泛的实验,这证明了方法的正确性。 此外还表明,提出的模型所学习的共享知识可以视为现成的(off-the-shelf)知识,并且可以轻松地迁移到新任务中。

Multi-task learning is an effective approach to improve the performance of a single task with the help of other related tasks.

存在的问题是, 目前多任务学习的方法尝试在不同的task中分离出 private和shared space, 只是基于一些应该shared的components.

图1-(a)所示,一般的共享-私有模型为任何任务提供了两个特性空间:一个用于存储任务相关的特性,另一个用于捕获共享的特性。该框架的主要限制是共享的特性空间可能包含一些不必要的特定于任务的特性,而一些可共享的特性也可能混合在私有空间中,存在特性冗余。

为了解决这个问题,本文提出了一种对抗式多任务框架,其中通过引入正交约束(orthogonality constraints),使得共享和私有特征空间固有地不相交。 具体来说,我们设计了一个通用的共享-私有学习框架来对文本序列进行建模。 为了防止共享的和私有的潜在特征空间相互干扰,引入了两种策略:对抗训练和正交约束。 对抗训练用于确保共享特征空间简单包含公共和任务不变信息,而正交性约束则用于从私有空间和共享空间中消除冗余特征。

本文主要的contributions:

  1. 提出的模型以更精确的方式划分特定于任务的空间和共享的空间,而不是粗略地共享参数。
  2. 我们将原来的二元对抗性训练扩展到多类,这样不仅可以联合训练多个任务,还可以利用未标记的数据。
  3. 我们可以将多个任务之间的共享知识压缩成一个现成的神经层,它可以很容易地转移到新的任务中。

Method

给定一个文本序列x = {x1,x2,···,xT},我们首先使用lookupup层获取每个单词xi的向量表示(em-bedding)xi。 最后时刻T的输出可以看作是整个序列的表示,它具有一个完全连接的层,后跟一个softmax非线性层,用于预测类别的概率分布:

loss 函数:

$C$ is the class number.

Text Classification with LSTM

多任务学习的目的是利用这些相关任务之间的相关性,通过并行学习任务来改进分类。设置对于task $k$, $D_k$是一个有$N_k$个样本的数据集 $D_k$ .

Fully-Shared Model (FS-MTL)

在完全共享模型中,我们使用单个共享LSTM层提取所有任务的功能。 例如,给定两个任务m, n,它认为task m的功能可以完全与task n共享,反之亦然。 该模型忽略了某些特征依赖于task。 图2-a说明了完全共享的模型。

Shared-Private Model (SP-MTL)

共享-私有模型为每个任务引入了两个特征空间:一个用于存储 task-dependent 的特征,另一个用于捕获 task-invarian的特征。 因此,我们可以看到每个任务都被分配了一个私有LSTM层和一个共享LSTM层。 正式地,对于task k中的任何句子,我们都可以计算其共享表示( shared rep-resentation) $s_t^k$ ,黄色区域,和任务特定表示(task-specific representation)$h_k$,灰色区域,如下:

Task-Specific Output Layer

对于task $k$ 中的一个句子来说,它的特征 $h^{(k)}$ 是由深层的多任务体系结构发出的,最终被送入相应的 task-specific的softmax层 中进行分类或其他任务。损失行数为计算交叉熵, loss $L_{task}$可以计算为:

Incorporating Adversarial Training

虽然共享-私有模型不能保证共享的特征不在私有特征空间中存在,反之亦然。因此,在共享-私有模型中,一些有用的共享特性可能被忽略,而共享的特性空间也容易受到一些特定于任务的信息的污染。

良好的共享特征空间应包含更多公共信息,而没有特定于任务的信息。 为了解决这个问题,我们将对抗训练引入了多任务框架,如图3(ASP-MTL)所示。

Adversarial Network

对抗网络的目标是学习到符合真实数据 $P{data}(x)$ 分布的生成分布 $p{G}(x)$。GAN 学习一个生成网络 $G$ 和一个判别网络 $D$, $G$ 通过生成分布 $p{G}(x)$ 生成样本,$D$ 学习决策一个样本是来自$p_G(x)$ 还是$P{data}(x)$

The goal is to learn a generative distribution $p{G}(x)$ that matches the real data distribution $P{data}(x)$Specifically, GAN learns a generative network G and discriminative model D, in which G generates samples from the generator distribution pG(x). and D learns to determine whether a sample is from pG(x) or Pdata(x). This min-max game can be optimized by the following risk.

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×