https://github.com/ccsasuke/adan
作者提出了Adversarial Deep Averaging Network (ADAN)模型,将高资源的源语言标记数据迁移到低资源未标记数据。ADAN有两个不同的分支:一个sentiment classifier和一个adversarial language discriminator。这两个分支都将feature extractor学习的隐藏层表示作为输入,同时完成分类任务和跨语言不变任务。
-
ADAN模型
ADAN的核心假设就是,一个理想的跨语言情感分类模型不仅在源语言情感分类中表现的很好,当换成另一个语言时也有不变性。因此,ADAN有一个联合特征提取器F(feature extractor )来学习特征,辅助情感分类器P(sentiment classifier)来预测,同时阻碍语言鉴别器Q(language discriminator)去判断输入是source还是target。Q因此有对抗性(adversarial),但是Q表现好说明ADAN没有成功的学习到语言特征不变性。一个成功的模型学习到的特征可以用来进行情感分类,同时不给Q提供信息让它判断语言。
如图所示,在训练阶段,ADAN将源语言和目标语言同时送入模型中。未标记的source和target只通过language discriminator。只有标记的source才通过sentiment classifier(或者未标记target在测试时)。
-
网络架构
作者用BWEs词向量做预训练,特征提取器用Deep Averaging Network (DAN)模型,DAN把每一个词向量做平均,然后送入几个全连接层,最后用softmax做分类。
-
对抗训练
在描述ADAN之前,作者先介绍了当前存在的对抗性训练方法,称作ADAN-GRL。
ADAN-GRL的Q是一个二分类器,用sigmoid层判定,0为source,1为target。 λ \lambda λ 控制Q反向传播的梯度。但是GRL有一个问题,F和Q在训练时会不同步,在实验中发现F会比Q训练的快。
为了训练语言不变特征,ADAN训练F生成两个越相似越好的分布。ADAN-GRL和最小化JS散度相同,但是JS散度有不连续的问题,为训练F提供了没那么有用的梯度。
Arjovsky et al.(2017)提出了最小化Wasserstein距离,被证明提升了超参的稳定性,于是ADAN采用了这个方法(数学推导略https://blog.csdn.net/c9Yv2cf9I06K2A9E/article/details/86762056)
直觉上,Q尝试对source产生高分,对target产生低分。
P的目标函数就是最小化负对数似然函数。
最终的loss函数:
-
实验结果
t-SNE数据可视化
从上图可以看出ADAN可以缓解语言之间的gap