Press "Enter" to skip to content

PPVAE阅读笔记

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

论文: Pre-train and Plug-in: Flexible Conditional Text Generation with Variational Auto-Encoders

 

来源:ACL 2020

 

代码: WHUIR/PPVAE

 

Abstract

 

条件文本生成 作为NLG的一个子方向,获得了广泛的关注。然而当前的条件生成模型由于采用联合端到端的学习模式, 无法处理即时条件 。本文提出了一个新的框架 PPVAE ( P re-train and P lug-in V ariational A uto- E ncoder),以实现灵活的条件文本生成。 将文本生成模块与条件表示模块解耦 ,当一个新的条件出现时,只需要训练一个轻量级的网络以作为PPVAE的插件。大量实验证明了PPVAE相比于现有模型的 优越性 。

 

Introduction

 

神经生成技术促进了很多应用的发展,如诗歌生成、神经机器翻译(NMT)、聊天机器人等。 条件文本生成 是文本生成的一项重要任务,旨在生成包含特定属性的真实文本,其 常见方案 是将条件信息编码为向量表示,之后注入到文本生成过程中。现有方法已取得了不错的效果,但当需要添加一个新的条件时,模型需要 重新训练或者微调 ,这个过程既耗时又导致计算效率低下。

 

以条件图像生成使用的post-hoc策略为启发,本文提出了PPVAE,由两个VAEs组成的分层框架。(1) PRETRAINVAE :首先由编码器推导文本的 全局潜在空间 ,再通过解码器基于易得的大量无标签数据学习文本生成;(2) PLUGINVAE :用于学习 全局潜在空间与条件潜在空间映射关系 的轻量级网络。若我们可以把条件空间分布的抽样结果转化为全局潜在变量,那幺预训练全局解码器可直接被用于生成,因此当新的条件出现时,我们只需要训练PLUGINVAE,之后将其插入到生成框架中即可。

 

与端到端神经模型不同,PPVAE专注于学习 连续潜在空间之间的转换 ,而不是棘手的离散文本生成。仅训练一个小的条件网络来进行潜在空间转换要比同时训练文本生成 有效 很多,此外,我们可以通过使用更大的语料库与更深的神经网络来提升模型的生成能力。

 

Related work

 

由于神经网络的黑箱性质,近年来提出的通用生成模型存在 缺乏可解释性与可控性 的问题。为处理此问题并支持生成具有特定条件的文本,条件文本生成受到了广泛的关注。目前该方向的研究可分为两类:全监督方法和半监督方法。

 

全监督方法:

Conditional Generative Adversarial Nets. 2014 将条件信息转换为one-hot向量并在生成器和分类器中进行输入。
Learning Structured Output Representation using Deep Conditional Generative Models. 2015
InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets. 2016 采用额外的对抗分类器从生成的样本中推断结构化编码,从而进一步增强结构化的条件编码与生成样本之间的相关性。
Sentigan: Generating sentimental texts via mixture adversarial networks. 2018 采用基于多个条件的多个生成器和一个多类分类器为生成器的学习提供训练信号。

 

半监督方法:

Semi-supervised Learning with Deep Generative Models. 2014 在VAE中引入了分类器以利用无标签文本的t隐性条件分布。
Toward Contronshshlled Generation of Text. 2017 进一步增加两个独立的正则化项来增强结构编码和非结构编码的区分性。
CTRL: A Conditional Transformer Language Model for Controllable Generation. 2019 使用人工定义的控制编码以无监督的方式预训练语言模型。

 

本文模型属于无监督方法,与之前方法的 不同之处 有:

 

 

    1. 将文本生成模块与条件表示模块解耦,为预训练语言模型的应用提供了可能;

 

    1. 允许单条件文本生成,可在文本增强等应用中发挥作用;

 

    1. 可通过更少的参数和训练实际处理即时条件。

 

 

PPVAE

 

条件文本生成 任务定义 :

 

个条件(类别):

 

无标签数据集: (包含多类样本)

 

条件样本:

 

VAE模型目标(解码器):

PRETRAINVAE

 

由大量无标签文本( ,得到 全局潜在变量 (潜在空间 , 为空间维度)。( )

 

为防止后验失效,使用Wasserstein Autoencoder(WAE)模型。

 

损失函数:

其中 ,聚合后验分布; 表示分类器。

 

PLUGINVAE

 

通过有限数量的条件样本( )学习每个条件的 条件潜在空间与全局潜在空间之间的变换 ,从而得到针对每个条件的条件空间 。( )

 

需要注意的是,通常情况下,单一条件下的文本编码结果不可能在全局潜在空间 中密集聚类,因为 的学习过程与条件无关,且无标签的语料库中包含多样的的文本样本。

 

损失函数:

为提升生成文本的多样性,引入 控制VAE的编码信息量。

 

可通过引入 负样本 进一步提升条件性:

 

损失函数:

的确定与具体任务有关,直观上来看,条件之前的差异越大, 应该越小。

 

整体流程:

 

 

    1. 预训练PRETRAINVAE得到全局潜在空间

    1. ,预训练之后模型参数固定;

 

    1. 若需添加新的条件,训练PLUGINVAE(由于模型与文本不相关仅需学习潜在变量之间的映射,参数量相比于微调PRETRAINVAE或重新训练其他模型很少;且多个条件可并行训练提升效率);

 

    1. PLUGINVAE插入于PRETRAINVAE进行文本生成。

 

 

Experiments

 

数据集 (短文本生成)

 

Yelp:餐厅评价;:情感(正面+负面);长度(短+中等+长)

 

News Titles:条件:主题(商业+娱乐+健康)

 

每个类别选取200个样本来进行有监督训练。

模型

 

PRETRAINVAE:

 

编码器:Bi-GRU

 

重参数技巧:两个线性全连接层

 

解码器:Transformer,在每个block中添加额外的位置编码,编码向量作为每个block的输入

 

PLUGINVAE:

 

编码器+解码器:两层全连接网络(Relu激活)

 

结果

准确性 :更高的准确率和更低的方差,表明模型在性能和鲁棒性上具有更好的表现。

 

多样性 :VAE生成多样性优于GAN(模式塌陷)。

 

负样本的引入对条件生成的准确性有更大的帮助。

错误分析 :

 

语法错误:可以通过使用更多无标签数据训练更深的编解码器来修正;

 

条件错误:使用更复杂的解码机制缓解微妙词的影响;疑问句通常词汇量更少;类别之间的重叠问题,需要更细粒度的人工评价。

 

Conclusion

 

本文提出了PPVAE模型,将文本生成模块和条件表示模块解耦,使得新条件的加入不再需要重新训练模型。大量实验结果验证了模型在条件性和多样性方面的优势。

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注