查看原文
其他

AAAI 2018 | 《Long Text Generation Training with LeakGAN》阅读笔记

江晚晚96 极市平台 2019-03-28
↑ 点击蓝字关注极市平台 识别先机 创造未来

来源:学习ML的皮皮虾

           https://zhuanlan.zhihu.com/p/35555221


论文链接:Long Text Generation via Adversarial Training with Leaked Information

代码链接:github.com/CR-Gjx/LeakG



解决问题

自动生成连贯的和语义上有意义的长文本


贡献

本文中提出了一种称为LeakGAN的新算法框架,通过对抗训练生成长文本。通过泄漏由判别器提取的特征作为逐步引导信号,以指导生成器更好地生成长文本,同时借鉴分层强化学习从判别器向生成器提供更丰富的信息。


LeakGAN解决了先前GAN解决方案中标量奖励信号的非信息性和稀疏性问题。在包含长,中,短文本的生成数据和实际数据的大量实验中,LeakGAN的性能比以前的解决方案有显著的提高,且在生成更长的句子时可以获得更高的性能收益。


先前方案存在的问题

生成对抗网络(GAN)使用判决性模型来指导生成模型的训练作为强化学习策略,这已经在文本生成中有很好的结果。


但是,来自判别器D的标量指导信号是稀疏的,只有在生成完整文本后才可用,且在生成过程中缺少关于文本结构的中间信息。因此,当生成的文本样本的长度很长时,效果不佳。


创新点

利用GAN中D的特征(softmax前一层的网络输出),指导G中MANAGER模块的训练,使指导信号更有信息性;使用分层生成器结构,将整个生成任务分解为各种子任务,缓解指导信号的稀疏性问题。


模型



分层生成器G由一个高层次的MANAGER模块和一个低层次的WORKER模块组成, G通过MANAGER模块将D泄露的信息整合到所有生成步骤中,该模块利用生成单词的提取特征并输出一个潜在向量来指导WORKER模块进行下一个单词的生成。


(1)MANAGER是一个长短时记忆模型(LSTM),担任mediator。在每一步中,它都会接收D的高级特征表示,例如CNN的特征图,并用它来生成WORKER模块的指导目标。


(2)考虑到MANAGER生成的目标嵌入,WORKER首先用另一个LSTM编码当前生成的词,然后结合LSTM的输出和目标嵌入来进行当前状态下的最终动作。


因此,来自D的指导信号不仅在最后可用于G的标量奖励信号,而且在生成过程中可用于目标嵌入向量,以指导G如何得到改进。


  • 1、符号

 :将先前生成的词作为当前状态


:随机策略的θ参数化生成网络


:将映射到整个词汇表上的一个分布


:下一个要选择的词


:φ参数化判别模型


提供的标量引导信号,以便在生成完整的句子时调整参数


:判别器在当前句子 为生成器  提供的附加信息特征


  • 2、用判别器D的泄漏特征作为指导信号

典型的model-free强化学习的奖励函数是黑盒子,本模型的对抗文本生成使用作为学习奖励函数。 是一个神经网络,可以分解成一个特征提取器和一个具有权向量的最终sigmoid分类层。给定输入s,有:



其中,最后一层中s的特征向量,它被泄漏给生成器 


对于给定的,每个状态s的奖励值主要取决于提取的特征f。从中获得更高奖励相当于提取的特征空间 中找到更高的奖励。中的特征提取器由CNN实现,在convolution-pooling-activation层之后输出CNN特征映射向量f。与标量信号相比,特征向量f是一个对更具信息性的引导信号,因为它知道当前生成的单词在提取的特征空间中的位置。


  • 3、生成器G的分层结构

在生成过程中的每个步骤t中,为了利用来自的泄漏信息,模型遵循分层强化学习,以具有的分层体系结构。引入一个MANAGER模块(一个LSTM),它在每个步骤t将提取的特征向量 作为输入,并输出一个目标向量然后将其输入到WORKER模块中,以指导下一个单词的生成,以便接近 中较高的奖励区域。


  • 4、生成过程

MANAGER和WORKER模块都从全零隐藏状态开始,分别表示为 和 。MANAGER从判别器接收泄漏特征向量,进一步与MANAGER的当前隐藏状态组合以产生目标向量,其中表示由LSTM实现的MANAGER模块,参数为  是LSTM的递归隐藏向量。




为了结合由MANAGER产生的goal,对最新的c个goal进行求和并执行线性变换 ,权重矩阵为,生成k维目标嵌入向量  :



给定目标嵌入向量 ,WORKER模块将当前词作为输入,并输出矩阵 ,通过和  进行矩阵乘积来确定当前状态下的最终动作空间分布。



其中 表示WORKER模块,即以 作为其隐藏向量的LSTM, 是 矩阵,表示所有词的当前向量,得出所有词的分对数,α是温度参数,控制生成熵。


  • 5、G的训练(使用来自 的指导信号训练MANAGER和WORKER)

使用策略梯度算法(如REINFORCE)以端对端的方式训练 。单独训练MANAGER和WORKER模块,其中MANAGER经过训练以预测判别特征空间中的有利指导信号,WORKER得到奖励以遵循这些指导信号。MANAGER模块的梯度定义为:



其中是当前策略下的预期奖励,可以通过Monte Carlo搜索近似估计。 代表c步转换后特征表示的变化(即)和MANAGER产生的目标向量之间的余弦相似度。损失函数强制目标向量匹配特征空间中的转换,同时获得高奖励。



使用REINFORCE算法对WORKER进行训练以最大化奖励,这可以通过对状态和WORKER采取的动作进行采样来近似。当鼓励WORKER按照MANAGER的指示动作时,WORKER的内在奖励被定义为:



在对抗训练之前,需要训练,其中MANAGER的梯度为:



其中 , 和 是真实文本的状态,。MANAGER被训练成模仿特征空间中真实文本样本的转换。WORKER通过最大似然估计(MLE)进行训练。

在训练过程中,生成器Gθ和判别器Dφ交替训练。在生成器中,MANAGER和WORKER,固定其一,交替进行训练。


实验

(1)生成数据库:用10,000个长度分别为20和40的序列作为生成模型的训练集S。


(2)GAN设置:对于判别器D,选择CNN作为特征提取器和二元分类器。文本的特征是一个1,720维向量。对于生成器G,采用LSTM作为MANAGER和WORKER的体系结构来捕获序列上下文信息。 MANAGER使用CNN提取的特征映射生成16维目标嵌入特征向量 


(3)模型比较:用MLE训练的LSTM,SeqGAN,RankGAN,LeakGan


(4)评估指标:生成数据实验采用负对数似然(NLL)指标。实际数据实验采用BLEU统计数据和图灵测试中的人类评分


  • 生成数据实验

(i)在预训练阶段,与其他模型相比,LeakGAN已经显示出可观察的性能优势,这表明所提出的分层体系结构本身带来了改进。


(ii)在对抗训练阶段,LeakGAN显示出更好的收敛速度,它探索的局部最小值明显优于先前的结果。结果证明信息泄露框架和分层RL架构在生成短文本和长文本方面的有效性。



  • 长文本生成:EMNLP2017 WMT新闻

选择EMNLP2017 WMT4数据集作为长文本语料库。新闻数据集有5,742个单词和397,726个句子。随机抽取200,000个句子作为训练集,10,000个句子作为测试集。使用BLEU-(2至5)分数作为评估指标。



在所有评价指标中,LeakGAN与基线模型相比显示出显著的性能增益。连续较高的BLEU分数表明LeakGAN生成的句子在局部特征中具有高质量以模仿真实文本。


  • 中等文本生成:COCO图像标题

选择COCO图像标题数据集作为中等文本语料库,该数据集包含许多图像描述对。


COCO数据集上的BLEU得分结果表明LeakGAN在中等长度文本生成任务中的表现明显优于基线模型。


  • 短文本的生成:中国诗歌

为了评估LeakGAN在短文本生成中的表现,选择了中国诗歌数据集。该数据集由4行5字的诗组成,使用BLEU-2分数作为评估指标。


结果表明,LeakGAN成功地处理了短文本生成任务。


  • 长文本生成的性能鲁棒性



EMNLP2017 WMT新闻数据的结果如图3所示。曲线表明,当生成的句子更长时,LeakGAN会在基线上产生更大的性能增益。这一事实支持了我们声称LeakGAN是长文本的强大框架。


未来工作

未来希望计划通过提供更多特定于任务的指导信息,将LeakGAN应用于更多自然语言处理应用程序中。 此外,提高判别器检查整个句子全局一致性的能力是一个有希望的方向。




*推荐文章*



PS.4月26日(本周四)晚20:00-21:00,中国科学院计算技术研究所博士邬书哲,将为我们讲解基于卷积神经网络的鲁棒人脸检测,详情点击:极市分享|邬书哲 基于卷积神经网络的鲁棒人脸检测



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存