Style Transformer:Unpaired Text Style Transfer without Disentangled Latent Representation 笔记

论文链接

Abstract

在未配对的文本风格转换中,对潜空间中的文本内容和风格进行消解是一种普遍现象。然而有两个主要的问题存在现在的大多数神经网络中:1)从一个句子的语义中完全剔除风格信息是很困难的;2)基于递归神经网络(RNN)的编码器和解码器,在潜在表示的中介下,不能很好地处理长期依赖的问题,导致非文体语义内容保存不好。在本文中,我们提出了Style Transfomer,它不需要假设源句的潜在表示,而是在Transformer中配置注意机制,以实现更好的风格转换和内容保留。

1.Introduction

语篇风格转换的任务是改变语篇的风格属性(如情感),同时在语境中保留与风格无关的内容。由于文本风格定义比较模糊,构建相同内容但文本风格不一样的句子对是比较困难的。因此文本风格迁移研究主要关注在未成对的文本句子。

神经网络成为了主流的文本风格迁移工具,主要使用Seq2Seq结构,encoder负责编码句子到一个vector,decoder生成不同风格的文本但是保留了原来的内容。这些方法都在专注于如何分清潜在语义空间中的content和style。由于没有成对的句子,对抗loss被使用到潜在空间去促进潜在空间中的风格信息。

现在面临的一些困难:

  • 在潜在语义空间中,区分content和style是困难的,
  • 区分content和style是没有必要的,一个好的风格迁移器,其实不用区分content和style,最好进行直接改写并输出。
  • 受限的vector表示,会使得较长句子编码损失信息
  • 为了理清潜在空间中的content和style,所有的现存方法都假设输入句子被编码到一个固定大小的潜在空间。这些方法因此不能使用attention机制去加强输入句子中的信息。
  • 大多数模型使用RNN去作为encoder和decoder,对于较长句子编码效果并不好。

本文使用Transfomer作为基础模块。贡献如下:

  • 我们提出一个创新的训练算法,不假设需要理清输入句子的content和style,因此,模型可以使用attention机制去提升性能。
  • 首次使用Transfomer在风格迁移任务中。
  • 在两个数据集中我们模型效果都很好,特别地,在content保留中,Style Transfomer取得了较大性能的提升。

3.Style Transformer

3.1 Problem Formalization

假设有K种不同的数据集Di,可以定义K种不同的风格,文本风格迁移目标是给一个随机的自然语言句子x和一个想要的风格s,需要让机器重写句子x成为新的句子y,句子y包含新的风格s,同时又保留了x的文本信息(语义)。

3.2 Model Overview

本文目标是学习一个映射函数

f(x,s)

,x是一个自然语言句子,s是一个风格控制变量。函数f的输出是迁移之后的句子y。

3.3 Style Transformer Network

Transformer是一个标准的encoder-decoder结构,对于一个输入句子

x=(x_1,x_2,...,x_n)

编码器encoder将输入映射到连续表示

z=(z_1,z_2,...,z_n)

解码器根据条件概率和自回归的方式生成输出句子:

p_\theta(y|x)=\prod_{t=1}^m p_\theta(y_t|z,y_1,...,y_{t-1})

在每一时间步t,下一个token通过softmax分类器来计算:

p_\theta(y_t|z,y_1,...,y_{t-1})=softmax(o_t)

ot是Transfomer decoder的输出。

为了能够控制风格,我们在Transformer Encoder中加入了一个额外的风格向量:

Encoder(x,s,\theta_E)

因此,网络的输出变为:

p_\theta(y|x,s)=\prod_{t=1}^m p_\theta(y_t|z,y_1,...,y_{t-1})

我们定义网络的预测输出为f_(x,x)

3.4 Discriminator Network

因为大部分情况下缺少并行语料来进行有监督训练,我们提出了使用判别网络去从非平行语料中学习监督信息。我们构建了两种方法

  • 为了保留内容信息,当我们将迁移语句$\hat{y}=f_\theta(x,\hat{s})$送到带有原始标签s的Style Transfromer中时,我们训练网络重构原始输入语句x
  • 对于风格控制,我们训练了一个判别网络去更好地控制被生成的句子。

判别网络是另一个TRM encoder,学习区分不同句子的风格。Style TRM网络接收风格监督信息从这个判别网络中。我们实验了两种判别网络:

Conditional Discriminator 一个句子x和一个风格s被输入到判别网络$d_{\phi}(x,s)$判别器需要输出句子x是否含有相关的风格。在判别器训练阶段,数据集x中的真是句子和重构句子$y=f_{\theta}(x,s)$被标记为正样本,迁移的句子$\hat{y}=f_\theta(x,\hat{s})$被标记为负样本。在Style TRM训练阶段,网络$f_\theta$被训练最大化正样本概率当输入$\hat{y}=f_\theta(x,\hat{s})$$\hat s$到判别器中。

Multi-class Discriminator 仅有一个句子x被输入到判别器$d_{\phi}(x)$,判别器的目标是去回答此句话的风格。更具体地说,判别器是具有K+1类的分类器。前K类代表K种不同的风格,最后一类代表$f_\theta(x,\hat s)$生成的数据,也常被称为假样本。在判别器训练阶段,我们标记真实句子x和重构句子$y=f_{\theta}(x,s)$为相关的风格,至于被迁移的句子$\hat{y}=f_\theta(x,\hat{s})$被标记为类别0。在Style TRM学习阶段,我们训练网络$f_\theta(x,\hat{s})$最大化代表风格$\hat s$的概率。

3.5 Learning Algorithm

该模型的训练算法可分为两部分:判别器学习和风格变换网络学习。架构图如图2所示

3.5.1 Discriminator Learning

我们训练我们的判别器来区分真实句字x和重构句子$y=f_{\theta}(x,s)$与迁移句子$\hat{y}=f_\theta(x,\hat{s})$。损失函数为交叉熵

算法细节:

3.5.2 Style Transformer Learning

根据$s=\hat s$$s!=\hat s$分为两种情况。

Self Reconstruction 对于$s=\hat s$,输入句子x和风格s都是来于相同数据集,可以直接训练Style TRM,去重构输入句子,通过最小化-log likehood:

L_{self}(\theta)=-p_{\theta}(y=x|x,s)

对于$s!=\hat s$,没有监督数据,不能直接获得loss,因此提出两种不同的训练loss:

Cycle Reconstruction为了鼓励生成的句子保留输入句子x中的信息,我们将生成的句$\hat{y}=f_\theta(x,\hat{s})$以x的风格输入给Style TRM,并训练我们的网络通过最小化负对数似然来重构原始输入句子:

Style Controlling如果我们只训练我们的Style TRM从转移句$\hat{y}=f_\theta(x,\hat{s})$重构输入句x,网络只能学习将输入复制到输出。为了处理这个退化问题,我们进一步为生成的句子添加了风格控制损失。即将网络生成的句子$\hat y$输入到判别器中,以最大限度地提高$\hat s$的概率。对于conditional discriminator,Style TRM的目标是在使用样式标签$\hat s$输入到判别器时最小化类1的负对数似然性:

在multi-class discriminator的情况下,Style TRM以最小化对应类型的风格$\hat s$的负对数似然:

组合loss之后,Style TRM学习过程如下:

3.5.3 Summarization and Discussion

与GANs的训练过程类似(Goodfellow et al.,2014),在每个训练迭代中,我们首先执行$n_d$步鉴别器学习以获得更好的鉴别器,然后训练我们的Style TRM$n_f$步以提高其性能。算法3对训练过程进行了总结

由于自然语言的离散性,对于生成的句子$\hat{y}=f_\theta(x,\hat{s})$,我们不能通过离散样本直接传播来自判别器的梯度。在我们的实验中,我们还观察到Gumbel-Softmax技巧会减慢模型的收敛速度,并且没有给模型带来太多的性能改进。基于以上原因,我们将fθ生成的softmax分布视为一个“软”生成句子,并将该分布输入给下游网络,以保持整个训练过程的连续性。当使用这种近似时,我们也将我们的解码器网络从贪婪解码切换到连续解码。也就是说,在每一个时间步,我们将整个softmax分布(等式(2))输入到网络,而不是将在先前预测步骤中具有最大概率的令牌馈送到网络。解码器利用这个分布,从输入的嵌入矩阵计算加权平均嵌入。

4 Experiment

4.1 Datasets

Yelp Review Dataset (Yelp) Yelp数据集是由Yelp数据集挑战提供的,由带有情绪标签(负面或正面)的餐馆和商业评论组成。在之前的工作之后,我们使用了Li等人(2018)提供的数据集。此外,它还为测试集提供人类参考句。

IMDb Movie Review Dataset (IMDb) IMDb数据集由在线用户撰写的影评组成。为了获得高质量的数据集,我们使用了Maas等人(2011)提供的极性电影评论。基于此数据集,我们通过以下步骤构建了一个高度极性的句子级风格转换数据集:1)在原始训练集上微调一个BERT(Devlin et al.,2018)分类器,在测试集上达到95%的准确率;2)将原始数据集中的每个评论分成几个句子;3) 通过我们微调的BERT分类器过滤掉置信阈值低于0.9的句子;4)删除不常见单词的句子。最后,这个数据集包含366K、4k和2k个句子,分别用于训练、验证和测试.

4.2 Evaluation

目标转移句应该是一个流利的、内容完整的、具有目标风格的句子。为了评估不同模型的表现,我们在前人工作的基础上,比较了生成样本的三个不同维度:1)风格控制,2)内容保留(BLEU),3)流畅性(perplexity)。

4.3 Training Details

在所有的实验中,对于编码器、解码器和鉴别器,我们都使用了四层TRM,每层有四个注意头。Transformer中的隐藏大小、嵌入大小和位置编码大小都是256维。另一个包含256个隐藏单元的嵌入矩阵用来表示不同的风格,作为输入语句的额外标记输入到编码器中。并且位置编码不用于样式标记。对于鉴别器,类似于Radford et al.(2018)和Devlin et al.(2018),我们进一步在输入中添加标记,并将相应位置的输出向量馈送到表示鉴别器输出的softmax分类器中。

4.4 Experiment Results

实验结果

一些迁移例子

5.Conclusions and Future Work

本文我们提出了Style Transfomer,实验结果在两个数据集中展示出了我们模型比之前的SOTA模型有竞争力的结果,特别地是,由于我们提出的方法没有假设一个分离的潜在表示来操纵句子的风格,我们的模型可以在两个数据集上得到更好的内容保留。

Author: CinKate
Link: http://renxingkai.github.io/2021/01/07/style-transfomer-paper/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.