NLP论文精读系列(二) Style Transformer

1. 论文研读笔记

1.1 研究动机

这次分析的文章是复旦大学邱锡鹏老师组的最新的工作—Style Transformer: Unpaired Text Style Transfer without
Disentangled Latent Representation。 工作是关于文本风格迁移的,十分有意思。关于风格迁移的工作,其实图像领域非常的多,从最早的油画转简笔画,到后来给照片或者图片转成名画家的风格,大多数都是通过GAN实现的。而对于文本的风格,早些时候有一些关于语音合成的研究,或者以某种风格做文本生成,但一直不算是主流的NLP任务。本文从研究动机的角度来看,更像是对于Transformer的在文本风格迁移这个任务的一个应用。

1.2 研究方法

文本的风格迁移,作者在一开始给了一个清晰的形式化定义,个人很喜欢这种论文风格,数学的语言来描述不是特别熟悉的任务,显得清晰高效。对文本风格转换问题的定义如下: 给定一组数据集 { D i } i = 1 K \{D_i\}_{i=1}^K {Di}i=1K,它的每一个元素的都是一个数据集 D i D_i Di. 数据集 D i D_i Di中的所有句子,它们有一些共性(比如,它们都是对于某一种商品的正面评价),我们将这种共性定义为风格。风格迁移的目标是,给定一个句子x,和一个指定的风格 s ^ \hat{s} s^, 对句子进行重写,生成 x ^ \hat{x} x^,,使其在尽可能保留原始句子信息的基础上,具有新的风格 s ^ \hat{s} s^。 本质上就是学习一个x到y基于风格s的映射 f θ ( x , s ) f_{\theta}(x,s) fθ(x,s)的参数 θ \theta θ
本文的基本思路其实并不复杂,从下图可以看出:
结构
本文的基本思想其实是基于GAN。 风格迁移这个任务缺乏平行语料,那么就采用借助于一个判别网络采用生成的方式。 将风格迁移这个任务进行分解,其实他有三个子任务,一是 语言本身,即语言流利; 二是,语义的保留;三则是风格的迁移。 对于语言本身的流利,采用了原文句子输入到输入的auto encoder-decoder的方式,即对输入编码,再解码,loss 则是生成句子和原来句子的差别的交叉熵。区别于其他的工作,这里采用了transformer, 其本身就是堆叠的自编码器和解码器。

对于子任务2,作者采用的方式是,对于 一个句子x,加上风格 s ^ \hat{s} s^, 编码后的结果 f θ ( x , s ^ ) f_\theta(x,\hat{s}) fθ(x,s^) 作为输入,基于原风格s,进行重建,生成x。
对于子任务3,则是借助一个判别网络 d ϕ d_{\phi} dϕ, 它可以判断输入 f θ ( x , s ^ ) f_\theta(x,\hat{s}) fθ(x,s^)的风格 s。 对于这个判别网络的训练,作者采用了两个loss, 一个是条件判别的loss,这个类似于GAN ,其实就是对于原始输入x ,和基于原风格生成的 f θ ( x , s ) f_\theta(x,s) fθ(x,s)输出正标签,而对于其他风格的生成 f θ ( x , s ^ ) f_\theta(x,\hat{s}) fθ(x,s^)输出负。 另一种多标签判别的训练,则是输出语句的风格标签,共K+1个(伪生成语句的标签是0)。
算法流程我从原文中截图如下,总体来看会进行两个阶段的学习:
两阶段训练
对于判别网络的学习如下:
判别网络
对于Transformer的学习如下;
Transformer学习

1.3 实验结果

本文主要在两个数据集Yelp 和IMDB 进行验证,对于语义流利程度衡量指标是PPL, 对于语义保留,则当做翻译模型,采用BLEU,对于风格控制,则借助第三方的分类器。 在此基础上,作者还对结果进行了匿名的人工review。 从实验结果上看,虽然不是全部指标能STOA,但非STOA的指标也十分接近。 具体结果见如下两个表格
dataset
human review

1.4 创新点和个人点评

本文的创新点,首先在于很好的利用了transformer的本质特征,编码解码器,因为其良好的特征提取功能,所以可以很好的用来保留语义(Tranformer网络)以及风格提取(判别网络,其本质也是一个Transformer)。达到这个效果的本质,其实是两个网络的loss不同,导致attention不同。 本文算是对于Transformer的一个极为灵活的应用。
从创新点上看,Transformer和GAN的结合,用来做文本风格水到渠成,但也富有新意。作者很多小的trick,比如对于判断网络对于离散的句子无法很好的传播梯度,而转成输出一个分布。对于判别器两种loss的设计,都很精彩。 文章更让我推崇的是,对于缺乏平行语料的任务,如何进行转变成三个子任务的思路。 总之,本文值得反复研究,是近期所读十分精彩的大作。

2. 模型调试心得

2.1 模型地址

2.2 模型运行环境

2.3 数据集选择与下载

2.4 模型运行步骤

2.5 问题与解决方法汇总

2.6 个人点评

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值