Toward Controlled Generation of Text这篇论文是Zhiting Hu发布在ICML2017上的paper。这篇paper主要干的事情就是其题目中所描述的,生成可以控制方向的文本,方向也就是文本的各种属性。
这篇paper中提出来的结构是基于VAE的,将VAE和一个判别器D结合的结构。文中刚开始便提到,如果要用VAE做定向的文本生成,必须克服两个困难,一是NLP问题是连续问题不可导,二是VAE中的隐变量z中各项属性是相互纠缠在一起的,不能单独的控制单个属性的定向生成。为了克服这两个问题,作者在优化的时候采取了一些措施,下面会提到。
为了实现定向文本生成,paper中采取了用一个新的变量c与原来VAE中的隐变量z相结合,其中c关联着句子中想要控制的特定属性,而z则控制着其他属性。通过变量的分布(z,c)来生成句子后作为判别器D的输入,而D又根据这些输入来训练改变c的分布,整个模型的结构示意图如下:
图中如果没有下面的判别器D的话,就是一个原始的VAE,而判别器加入是为了得出c的分布。图中蓝色和红色的箭头分别表示的是模型对于独立性的判别方法和优化方法。就优化方法而言,整个模型的优化其实有点像wake-sleep算法,文章中也有提到过,就是交替优化VAE和判别器D,并且有一种竞争优化的感觉。
具体来讲,对于生成器G,其生成输出的过程可描述为:
而每一步都直接取特定的单词作为输出的话,单词间的离散性会导致