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

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

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

这里写图片描述

  如概要所述,针对于已有的神经网络多任务学习的方法可能存在共享和私有特征相互包含的问题,作者提出了对抗多任务学习模型。如上图所示,(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)

  其中
### 基于对抗学习的损失函数 在机器学习中,基于对抗学习的方法引入了一种新的范式来改进模型的表现力和鲁棒性。这类方法通常涉及两个相互竞争的网络:生成器(Generator)和判别器(Discriminator)。生成器的目标是创建尽可能逼真的样本以欺骗判别器;而判别器则尝试区分真实数据与由生成器产生的伪造数据。 对于对抗学习中的损失函数而言,其核心在于最小最大博弈框架下的优化问题。具体来说,在生成对抗网络(GANs)中使用的标准形式如下: \[ \min_G\max_D V(D,G)=\mathbb{E}_{x∼p_{data}(x)}[\log D(x)]+\mathbb{E}_{z∼p_z(z)}[\log(1−D(G(z)))] \] 其中 \( p_{data} \) 是实际的数据分布,\( G(z) \) 表示通过噪声向量 z 输入到生成器后的输出,\( D(x) \) 则表示给定输入 x 后判别器给出的真实概率估计[^1]。 为了提高稳定性和效率,还可以采用其他变体如Wasserstein距离作为衡量指标,并相应调整损失项: \[ L=\mathbb{E}_x[D(x)]-\mathbb{E}_z[D(G(z))] \] 这里去掉了显式的sigmoid交叉熵部分,转而直接最大化两组样本之间的差异度量[^3]。 此外,在某些情况下可能会加入额外正则化项或约束条件来增强特定属性的学习效果,比如特征匹配、谱归一化等技术可以用来改善训练动态特性以及最终得到更好质量的结果[^2]。 ```python import torch.nn as nn class DiscriminatorLoss(nn.Module): def __init__(self): super().__init__() def forward(self, real_output, fake_output): loss_real = -torch.mean(real_output) loss_fake = torch.mean(fake_output) return loss_real + loss_fake class GeneratorLoss(nn.Module): def __init__(self): super().__init__() def forward(self, fake_output): return -torch.mean(fake_output) ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值