HLMGAN:分层学习的多奖励文本生成对抗网络

薛琪 孟祥福 张峰 张霄雁 朱金侠 朱尧 王丹丹

引用本文:
Citation:

HLMGAN:分层学习的多奖励文本生成对抗网络

    作者简介: 薛 琪(1997−),女,辽宁人,硕士生,主要研究深度学习. E-mail:m13332392833@163.com;
    通讯作者: 孟祥福, marxi@126.com
  • 中图分类号: P315.69

HLMGAN: Generation adversarial network based on hierarchical learning with multi-reward text

    Corresponding author: MENG Xiang-fu, marxi@126.com ;
  • CLC number: P315.69

  • 摘要: 文本生成是自然语言处理的一项重要任务. 针对生成的文本大多缺乏多样性,且当生成文本过长时,文本生成的质量会有明显下降的问题,提出了一种采用Sentences and Words(SW)奖励机制的传递向量文本生成对抗网络. 首先,为生成器提出了层次结构设计,包括传递特征向量训练模块和生成向量训练模块. 同时传递判别模型中真实文本特征向量给生成器的传递特征向量训练模块,由此来提高长文本生成的准确率,生成向量训练模块接收其生成词序列;然后,在训练过程中,使用关系存储核心代替传统的长短期记忆循环神经网络模型作为生成器,提高了模型的表达能力和捕获信息的能力;最后,采用SW奖励机制提高文本生成的多样性. 实验结果表明,分层学习的多奖励文本生成对抗网络(Generation Adversarial Network Based on Hierarchical Learning with Multi-reward Text,HLMGAN)模型的合成数据负对数似然度和双语互译质量评估辅助工具分别提升0.4996和0.715.
  • 图 1  生成对抗网络结构图

    Figure 1.  Structure diagram of Generated adversarial net

    图 2  基于生成对抗网络的文本生成模型结构

    Figure 2.  Text generation model structure based on generative confrontation network

    图 3  RMC结构图

    Figure 3.  RMC structure diagram

    图 4  HLMGAN结构图

    Figure 4.  Schematic diagram of HLMGAN structure

    图 5  4种文本生成模型训练曲线

    Figure 5.  Training curves of four text generation Models

    表 1  参数设置结果展示

    Table 1.  Display of parameter setting result

    gen_lrdis_lrNoracle轮次
    0.0005 5×10−5 6.4037 135
    0.002 4×10−5 6.5384 126
    0.0015 5×10−5 7.038 115
    0.003 4×10−5 7.0498 192
    0.0005 4×10−5 7.123 49
    0.005 4×10−5 7.3049 106
    0.0005 4×10−5 7.5094 40
    0.003 5×10−5 8.8 25
    0.002 1×10−4 8.8573 32
    0.001 4×10−5 9.491 8
    0.01 1×10−5 9.4968 3
    下载: 导出CSV

    表 2  不同算法的合成数据负对数似然度性能

    Table 2.  Comparison of Noracle performance of different algorithms

    算法 Noracle
    MLE 9.038
    SeqGAN 8.736
    LeakGAN 7.038
    MaliGAN 8.73
    HLMGAN 6.5384
    下载: 导出CSV

    表 3  EMNLP数据集的BLEU评分表现

    Table 3.  BLEU scores performance on EMNLP data set

    算法 BLEU-2 BLEU-3 BLEU-4 BLEU-5 BBL-2 BBL-3 BBL-4 BBL-5 Ngen Ndiv
    SeqGAN 0.859 0.6015 0.4541 0.4498 0.573 0.427 0.3575 0.317 2.773 1.695
    LeakGAN 0.956 0.819 0.627 0.498 0.682 0.405 0.332 0.283 2.356 1.1291
    CoTGAN 0.963 0.8015 0.572 0.5127 0.725 0.622 0.413 0.335 2.365 1.752
    DGSAN 0.903 0.805 0.537 0.504 0.713 0.709 0.469 0.301 2.471 1.75
    HLMGAN 0.974 0.826 0.655 0.522 0.802 0.728 0.472 0.353 2.3302 1.8443
    p-value <10−6 <10−6 <10−6 <10−6 <10−6 <10−6 <10−6 <10−6 <10−6 <10−6
    下载: 导出CSV

    表 4  Oracle数据集的BLEU评分表现

    Table 4.  BLEU scores performance on Oracle data set

    算法 BLEU-2 BLEU-3 BLEU-4 BLEU-5
    LeakGAN 0.956 0.819 0.627 0.498
    HLMGAN_RMC 0.943 0.817 0.649 0.511
    HLMGAN_SW 0.952 0.815 0.632 0.507
    HLMGAN 0.974 0.826 0.655 0.522
    下载: 导出CSV
  • [1] Haj A, Jarrar A, Balouki Y, et al. The semantic of business vocabulary and business rules: an automatic generation from textual statements[J]. IEEE Access, 2021(9): 56 506-56 522.
    [2] Wu Y, Wang J. Text generation service model based on truth-guided SeqGAN[J]. IEEE Access, 2020(8): 11 880-11 886.
    [3] Zhang N H, Zhu H, Yang S, et al. DGattGAN: cooperative up-sampling based dual generator attentional GAN on text-to-image synthesis[J]. IEEE Access, 2021(9): 29 584-29 598.
    [4] Wang T C, Liu M Y, Zhu J Y, et al. High-resolution image synthesis and semantic manipulation with conditional gans[C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Salt Lake City, USA, 2018: 8 798-8 807.
    [5] Ma S, Fu J, Wen C C, et al. DAGAN: Instance- level image translation by deep attention generative adversarial networks [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition , Salt Lake City,USA, 2018: 5 657-5 666.
    [6] Li Y, Gan Z, Shen Y, et al. StoryGAN: A sequential conditional GAN for story visualization[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition), Long Beach,USA, 2019: 6 329-6 338.
    [7] 鄂海红, 张文静, 肖思琪, 等. 深度学习实体关系抽取研究综述[J]. 软件学报, 2019, 30(6): 1 793-1 818. E H H, Zhang W J, Xiao S Q, et al. A review of research on deep learning entity relationship extraction[J]. Journal of Software, 2019, 30(6): 1 793-1 818.
    [8] Zhao J, Wang Y, Xiao B, et al. DetectGAN: GAN-based text detector for camera-captured document images[J]. International Journal on Document Analysis and Recognition , 2020, 23(2): 267-277.
    [9] Williams R J, Zipser D. A learning algorithm for continually running fully recurrent neural networks[J]. Neural Computation, 1998, 1(2): 270-280.
    [10] Yu L T, Zhagn W N, Wang J, et al. SeqGAN: Sequence generative adversarial nets with policy gradient[C]// Proceedings of the AAAI Conference on Artificial Intelligence, San Francisco, California, USA, 2017: 2 852-2 858.
    [11] Che T, Li Y R, Zhang R X, et al. Maximum likelihood augmented discrete generative adversarial networks[J]. arXiv:1702.07983, 2017.
    [12] Guo J X, Lu S D, Cai H, et al. Long text generation via adversarial training with leaked information[C]// Proceedings of the AAAI Conference on Artificial Intelligence, New Orleans, Louisiana, USA, 2018: 5 141-5 148
    [13] Liu Z Y, Wang J H, Liang Z W. CatGAN: Category-aware generative adversarial networks with hierarchical rvolutionary learning for category text generation[C]// Proceedings of the AAAI Conference on Artificial Intelligence, New York, USA, 2020: 8 425-8 432.
    [14] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[C]//Proceedings of Conference of Neural Information Processing Systems, Long Beach, USA, 2017: 6 000-6 010.
    [15] Xu J J, Ren X C, Lin J Y, et al. Diversity promoting GAN: a cross-entropy based generative adversarial network for diversified text generation [C]// Conference on Empirical Methods in Natural Language Processing, Belgium, 2018: 3 940-3 949
    [16] Zhu Y M, Lu S D, Lei Z, et al. Texygen: A benchmarking platform fortext generation models [C]// The 41st International ACM SIGIR Conference, Ann Arbor, MI, USA, 2018: 1 097-110
    [17] Montahaei E, Alihosseini D, Baghshah M S. DGSAN: Discrete generative self-adversarial network[J]. Neurocomputing, 2021, 3(97): 48-65.
    [18] Lu S D, Yu L T, Feng S Y, et al. CoT: Cooperative training for generative modeling of discrete data [C]// International Conference on Machine Learning, Long Beach, USA, 2019: 4 164-4 172.
  • [1] 刘东陈境宇王生生 . 基于空间自适应和混合损失对抗网络的乳腺肿块图像分割方法. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20210223
    [2] 王思明李昭坊 . 基于特征向量变换GAN的多域图像转换方法. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20190646
    [3] 杨再鸿李跃烈余雪标杨小波吴庆书 . 海南桉林林下植被木本多样性的复合因子分析. 云南大学学报(自然科学版),
    [4] 李斌刘宁张洪彬焦存仙 . HSVECs血管生成模型和HUVECs血管生成模型的比较. 云南大学学报(自然科学版),
    [5] 林海香陆人杰卢冉许丽 . 基于文本挖掘的铁路信号设备故障自动分类方法. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20210168
    [6] 刘云王海花向婵 . WSN中基于中间节点的分层分簇网络生命周期优化研究. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20160727
    [7] 施心陵王逍张榆锋汪源源 . 基于实时联想的医学诊断报告书语言生成器. 云南大学学报(自然科学版),
    [8] 杨丽云周冬明赵东风张绍堂 . 基于DPCNN的无向赋权图的最小生成树的求解. 云南大学学报(自然科学版),
    [9] 陈瑞清高盛祥余正涛张迎晨张磊杨舰 . 多特征融合的越南语关键词生成方法. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.P00018
    [10] 王涛魏淑芳魏琴侯茂崔晓龙 . 油樟叶内生真菌的多样性研究. 云南大学学报(自然科学版),
    [11] 李宗菊吴鹏张曦予唐萍冯辽辽赵昱左奎 . 小豹斑鹅膏遗传多样性研究. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20130523
    [12] 陈又清 . 功能多样性生物多样性与生态系统功能关系研究的新视角. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20170175
    [13] 屠然黎亚洁李颖杨明挚张汉波 . 入侵植物紫茎泽兰叶斑真菌多样性及其致病性研究. 云南大学学报(自然科学版),
    [14] 王崇文任翔 . 一种基于SNS平台的网络协作学习模式研究. 云南大学学报(自然科学版),
    [15] 虞双吉苗春生王新 . 极限学习机神经网络在短期降水预报中的应用. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20120670
    [16] 孙蓉蓉郭磊 . 现代教育技术与学科课程整合网络环境下英语学习策略研究. 云南大学学报(自然科学版), doi: 10.7540/j.ynu.20140213
    [17] 陈建平杨宜民张会章陈学松 . 一种基于GMDH模型的神经网络学习算法. 云南大学学报(自然科学版),
    [18] 蔡娜王俊英刘惟一 . 一种基于小数据集的贝叶斯网络学习方法. 云南大学学报(自然科学版),
    [19] 李巧陈又清陈彦林 . 紫胶林-农田复合生态系统蝽类昆虫群落多样性. 云南大学学报(自然科学版),
    [20] 姚启伦杨克诚潘光堂荣廷昭 . 云南和贵州玉米地方品种遗传多样性的比较分析. 云南大学学报(自然科学版),
  • 加载中
图(5)表(4)
计量
  • 文章访问数:  95
  • HTML全文浏览量:  119
  • PDF下载量:  7
  • 被引次数: 0
出版历程
  • 收稿日期:  2021-04-18
  • 录用日期:  2021-07-24
  • 网络出版日期:  2021-09-27

HLMGAN:分层学习的多奖励文本生成对抗网络

    作者简介:薛 琪(1997−),女,辽宁人,硕士生,主要研究深度学习. E-mail:m13332392833@163.com
    通讯作者: 孟祥福, marxi@126.com
  • 辽宁工程技术大学 电子与信息工程学院,辽宁 葫芦岛 125105

摘要: 文本生成是自然语言处理的一项重要任务. 针对生成的文本大多缺乏多样性,且当生成文本过长时,文本生成的质量会有明显下降的问题,提出了一种采用Sentences and Words(SW)奖励机制的传递向量文本生成对抗网络. 首先,为生成器提出了层次结构设计,包括传递特征向量训练模块和生成向量训练模块. 同时传递判别模型中真实文本特征向量给生成器的传递特征向量训练模块,由此来提高长文本生成的准确率,生成向量训练模块接收其生成词序列;然后,在训练过程中,使用关系存储核心代替传统的长短期记忆循环神经网络模型作为生成器,提高了模型的表达能力和捕获信息的能力;最后,采用SW奖励机制提高文本生成的多样性. 实验结果表明,分层学习的多奖励文本生成对抗网络(Generation Adversarial Network Based on Hierarchical Learning with Multi-reward Text,HLMGAN)模型的合成数据负对数似然度和双语互译质量评估辅助工具分别提升0.4996和0.715.

English Abstract

  • 文本生成任务即生成连贯且有意义的文本,为机器翻译、自动对话生成、人工智能写作、文本分类等应用奠定了基础[1],是自然语言处理(Natural Language Processing,NLP)中的一项重要任务[2]. 为了使生成的文本更接近真实文本,生成对抗网络(Generative Adversarial Net,GAN)成为最佳选择. GAN是近年来提出的一种深度学习网络模型,在深度学习领域中颇受关注[3]. Wang等[4]合并对象实例分割信息并提出了一种方法,允许用户交互式地编辑对象外观,提高了深度图像合成和编辑的质量和效果. Ma等[5]提出并解决了将样本从两个独立集合转换分解为高度结构化潜在空间中的翻译实例的任务. Li等[6]进一步扩展了文本生成图像任务,提出的StoryGAN可以实现根据一段连续的描述文本生成对应图像的序列. 生成对抗网络的本质是寻找两个不同分布之间的映射[7],这两个分布通常为先验噪声分布和真实数据样本分布,这种特质导致它在图像生成领域具有天然的优势,在图像和视觉领域取得广泛的研究和应用. 但是因为生成器生成的文本数据是离散的,不可微,所以把它应用在文本生成时却遇到了困难[8];同时GAN自动生成的文本缺乏多样性,而部分研究在解决生成文本缺乏多样性的问题的同时,忽略了生成文本的质量,即句子的准确性和流畅性.

    针对上述问题,本文提出一种HLMGAN模型用于生成文本任务,研究的重点是在提高文本的准确性和流畅性的同时,满足生成文本的多样性. 本文工作的主要贡献如下:

    (1)提出了一种HLMGAN模型,设计了生成器的层次结构,包括传递特征向量训练模块和生成向量训练模块;

    (2)在HLMGAN模型中,判别器在给出当前生成的单词序列的情况下提取的高级特征将发送到传递特征向量训练模块,从而更好地引导生成器生成高质量的文本;

    (3)将关系存储核心(Relational Memory Core,RMC)用作生成器,提高了生成器的表达能力和捕获信息能力;

    (4)在HLMGAN模型中,奖励机制舍弃黑匣子,对于重复文本分配低奖励,而对新颖流畅的文本分配高奖励,从而进一步提高了文本生成质量.

    • 生成模型提供了获取底层数据和统计信息的方法. 这些模型在许多NLP任务中起着中枢作用,例如语言建模、机器翻译和对话生成,但生成的句子往往不尽人意,例如,它们在长期语义上往往缺乏一致性,在高级主题和句法上一致性较差等. 有研究通过teacher forcing训练自回归模型[9]. 然而,该模型可能会导致暴露偏差问题即解码的行为不一致可能会导致偏差. 训练自回归模型的另一种有效的解决方案是使用GAN. 如果生成模型能够在训练过程中访问其自己的预测并对生成的序列具有整体视图,则可以避免上述问题. 然而在生成离散序列时,生成模型的离散输出使得难以将梯度更新从判别模型传递到生成模型. Yu等[10]在增强学习(Reinforcement Learning,RL)中将数据生成器建模为随机策略,提出SeqGAN通过直接执行梯度策略更新来绕过生成器区分问题并使用蒙特卡洛搜索传递回中间状态. Che等[11]提出了最大似然增强离散生成对抗网络取代直接优化GAN目标的方法,使用随后的判别器输出对应对数似然的方法来推导新颖而低方差的目标. Guo等[12]允许判别网络将其高级提取特征传递给生成网络,以进一步帮助指导文本生成. 通过图灵测试对合成数据和各种现实世界任务进行的广泛实验表明,LeakGAN在长文本生成中非常有效,并且在短文本生成场景中也可以提高性能. Liu等[13]提出了一种类别感知CatGAN,用于类别文本生成的有效类别感知模型和用于训练模型的分层进化学习算法组成. 直接测量实际样本与每个类别上生成的样本之间的差距,然后减小该差距将指导模型生成高质量的类别样本.

      以上的方法都在改善梯度更新所带来的问题,但解决问题的同时对于生成文本的多样性考虑较少. 本文提出的HLMGAN的模型,在增加判别器的层次结构、将RMC用作生成器的同时改进了奖励机制,提高了生成文本的多样性和质量.

    • 生成对抗网络并不是一个完整的模型,而是一个框架,其基本结构包含一个负责生成文本的生成器G和一个区分生成文本和真实文本的判别器D,整体模型如图1所示.

      图  1  生成对抗网络结构图

      Figure 1.  Structure diagram of Generated adversarial net

      GAN中的生成器G主要是负责生成类似于真实文本的样本给判别器D进行验证. D的输入由真实样本和生成样本组成,目标是判断输入的数据是来自真实样本还是生成样本. G和D经过对抗训练达到一个纳什平衡状态,即D判断不出输入是来自于真实样本还是生成的样本,此时 ${\text{G}}$ 能够生成与真实数据极其相似的文本.

    • 生成器可以是任意的能够输出样本的模型,如卷积神经网络(Convolutional Neural Network,CNN)、循环神经网络(Recurrent Neural Networks,RNN)等. 数据x的真实分布为Prealx),所有数据的真实分布集合即为 $ {P} _{\text{real}} $,生成器的作用就是生成包含在 $ {P} _{\text{real}} $ 中的样本. 假设从真实数据中取一些样本 $ (x_{\text{1}},\cdots,x_i,\cdots,x_n) $,生成模型会根据 ${{{P}}}_{\text{G}}(x_i,\theta )$计算一个似然:

      $ {{L}}={\displaystyle \prod _{i=1}^{\text{n}}{{{P}}}_{\text{G}}(x_i,\theta )}, $

      生成模型要最大化这个似然L,这就要求模型寻找到一个最优的 $ {\theta ^*} $PG最接近 $ {P} _{\text{real}} $.

    • 判别器可以分解为特征提取层(包括输入层、卷积层、池化层,主要完成生成文本序列的高维特征提取)和一个分类器. 判别器的训练属于有监督学习,在固定生成器后,采用训练数据作为正样例,生成数据作为负样例,进行标准化处理,混合后的数据通过判别器得到输出值,求出输出值和目标值的误差,使用交叉熵来优化判别器的参数.

    • 基于生成对抗网络的文本生成模型整体流程如下:生成模型以噪声输入,经过一系列非线性变换获得了文本向量特征,再将特征转化为文本,使用判别器的判断作为生成器调整参数的依据.

      假设输入的文本是“路边的花真漂亮”,经过词嵌入之后,变成形如[−0.2699,−0.4,0.7401,…,−0.0902]的真实向量. 算法目的是生成与输入向量意思一致但是形式多样的文本,如“这朵开在路边的花真鲜艳”. 将真实向量[−0.2699,−0.4,0.7401,…,−0.0902]输入到生成器后,输出生成向量[−0.5,−0.25,0.6,…,−0.3]. 将生成向量输入进判别器与真实向量进行比较. 通过卷积层、池化层等操作,向生成器回传生成模型存在的偏差. 生成器再对向量值 [−0.5,−0.25,0.6,…,−0.3]进行微调,从而生成新的生成向量[−0.37,−0.32,0.69,…,−0.15]. 这样反复执行达到判别器分辨不出传入的序列是生成器生成的文本还是真实文本,基于生成对抗网络的文本生成模型结构如图2所示,其中本文的激活函数采用softmax函数,该函数可以将输出映射到(0,1)区间内.

      图  2  基于生成对抗网络的文本生成模型结构

      Figure 2.  Text generation model structure based on generative confrontation network

    • 关系存储核心(Relational Memory Core, RMC)的基本概念是考虑一组固定的内存插槽(例如内存矩阵),并允许自我关注机制[14]在这些内存中进行交互. 存储容量的增加提高表达能力和捕获信息的能力. 在状态t给定一个新的词汇xt,由嵌入向量 $ {\boldsymbol{E}}_{xt} $ 表示. 生成器中输入向量xt$ {\boldsymbol{E}}_{xt} $Wx线性变化组成:

      $ {{\boldsymbol{x}}_t} = [{\boldsymbol{E}}_{xt}]{\boldsymbol{W}}_x. $

      考虑存储器矩阵Mt图3给出了如何在状态t通过xt$ {{\boldsymbol{M}}}_t $ 更新到 $ {{\boldsymbol{M}}}_{t + 1} $. 其中Multi-Head Attetion(MHA)表示多头注意力机制,Multi-Layer Perception (MLP)表示多层感知机, Ot 表示生成器G的输出.

      图  3  RMC结构图

      Figure 3.  RMC structure diagram

    • 本文将文本生成问题形式化为顺序决策过程. 具体来说,在每个状态t, 模型将先前生成的单词集合作为其当前状态,表示为 $ S_t\text{ }= $$ (x_1,\cdots,x_i,\cdots,x_t) $,其中 $ x_i $ 表示给定词汇表V中的单词. 本文使用一个采用随机策略的生成器G,经过训练得到下一个单词 $ x_{t + 1} $,同时还训练判别模型D,通过比对生成向量与真实向量得到引导信号 ,将引导信号回传给生成器调整生成整个句子 $ S_t $ 时的参数. 最终得到的 $ S_t $ 与输入文本意思一致的多样性且具有高质量.

    • 为了解决句子过长导致引导信号信息量较少的问题,本文提出HLMGAN框架,使判别器D向生成器G提供当前句子 $ S_t $ 在判别模型D中的附加信息 $ f_t $. 在HLMGAN模型中,使用分层结构作为一种可以将真实文本信息传递到G生成过程中的有效机制. 此外,因RMC保证了更大的存储容量和更好的捕捉长期以来关系的能力[13],故使用RMC模型用做生成器中传递特征向量训练模块和生成向量训练模块的训练. 奖励部分由句子级别奖励和单词级别奖励组成,可以实现对高级的句子给予较高的奖励,对于正确但并不新颖的句子给予非零但是较低的奖励.

    • 本文对生成对抗网络基本结构进行了改进,HLMGAN的示意图如图4所示. 其中M(·;Qm)表示传递特征向量训练模块由参数为θm的RMC实现,W(·;Qw)表示传递特征向量训练模块由参数为θw的RMC实现.

      图  4  HLMGAN结构图

      Figure 4.  Schematic diagram of HLMGAN structure

    • 使用参数ϕDϕ作为学习奖励函数,可以分解为特征提取层F(·;ϕf)和一个具有权重向量ϕl的sigmoid分类器. 即给定一个生成序列s作为输入,可以使用

      $ \begin{split}{{D}}\phi (s)&=\text{sigmoid}(\phi _{l}^{{\rm{T}}}{{F}}(s;\phi _f))\\ &=\text{sigmoid}(\phi _{l}^{{\rm{T}}}{\boldsymbol{f}})\text{,}\end{split} $

      其中,$ \phi {\text{ = (}}\phi _f{\text{,}}\phi _l{\text{)}} $$ {\text{sigmoid}}(z) = 1/(1 + {e^{ - z}}) $,表示T转置. ${\boldsymbol{ f}} = {{{F}}}(s;\phi _f) $ 表示特征提取层得到输出的高维特征向量.

      当生成器G准备生成下一个词的时候,生成器会补充当前生成的部分序列,形成完整的输入序列s,并传递给判别器D. 判别器D获取到s后,经过特征提取层得到输出的高维特征向量f,把它传递到下一步的分类层和生成器G中的传递特征向量训练模块用来指导文本生成.

      具体来讲,当向判别器输入“路边的花真漂亮”,经过词嵌入之后,将输入序列中每个词转化为向量表示,变成形如[−0.2699,−0.4,0.7401,…,−0.0902]的真实向量. 输入矩阵会进入卷积核提取短语的语义信息. 然后进入池化层,通过对特征向量做最大池化处理,把最后的结果拼接在一起,大小为所有卷积核数量的总和. 接着将得到的特征向量传递给分类层,在对抗训练中,这个特征向量会作为反馈信息指导生成器生成文本. 最后的分类层,把传递来的特征向量做softmax分类,得到的结果,作为奖励值传递给生成器.

    • 在生成过程每个步骤t中,为利用从判别器D中传递的特征向量 $ {\boldsymbol{f}} $,把生成器G分成传递特征向量训练模块和生成向量训练模块两个层次结构. 具体来说,引入一个传递特征向量训练模块,在每个状态t都将提取的特征向量 $ f_t $ 作为其输入,并输出目标向量 $ g_t $,然后将其输入到生成向量训练模块中,指导下一个单词的生成,以便接近 $ F(s;\phi _f) $ 中的较高奖励区域. 接下来,本文将在HLMGAN中描述详细的生成器模型,然后说明如何使用D的引导信号训练传递特征向量训练模块和生成向量训练模块.

    • 传递特征向量训练模块和生成向量训练模块从全零隐藏状态开始,分别表示为 ${ h_0^M} $$ {h_0^W} $. 由于基于长短期记忆循环神经网络模型(Long Short Term Memory, LSTM)的生成器可能缺少用于文本生成的足够的表达能力,而RMC如上文提到采用MHA允许记忆交互的特点,能够更好地表示记忆间的联系,从而使模型具有在时间域上进行关系推理的能力,可以改进这种缺陷,因此传递特征向量训练模块和生成向量训练模块采用RMC代替传统的LSTM.

      在每个步骤中,传递特征向量训练模块都会从判别器D接收传递的特征向量 $ {\boldsymbol{f}}_t$,并将其与传递特征向量训练模块的当前隐藏状态进一步结合以生成目标向量 $ {\boldsymbol{g}}_t $:

      $ {\hat {\boldsymbol{g}} } _t,{\boldsymbol{h}}_t^M = M({\boldsymbol{f}}_t,{\boldsymbol{h}}_{t - 1}^M;\theta_ m), $

      $ {\boldsymbol{g}}_t = \hat {\boldsymbol{g}}_t /||\hat {\boldsymbol{g}}_t ||, $

      其中,$ M(\cdot ;\theta _m) $ 表示传递特征向量训练模块由参数为 $ \theta _m $ 的RMC实现,$ {{\boldsymbol{h}}_t^M} $ 是RMC的递归隐藏向量. 为了合并传递特征向量训练模块产生的目标,对最近的c个目标求和后执行权重矩阵为Wψ的线性变换ψ,生成k维目标嵌入向量:

      $ {\boldsymbol{w}}_t = \psi \left(\sum\limits_{i = 1}^c {{\boldsymbol{g}}_{t - i}} \right) = {\boldsymbol{W}}_{\psi} \left(\sum\limits_{i = 1}^c {{\boldsymbol{g}}_{t - i}} \right). $

      给定目标嵌入向量wt,传递特征向量训练模块将xt设置为输入,输出矩阵Ot,将其与wt通过矩阵乘积进一步组合,通过softmax以确定当前状态下:

      $ {\boldsymbol{O}}_t,\;{\boldsymbol{h}}_t^W{\text{ = }}{\boldsymbol{W}}{\text{(}}x_t{\text{,, }}{\boldsymbol{h}}_{t - 1}^W;{{\boldsymbol{\theta}} _w}), $

      ${{{G}}_\theta }( \cdot |{s_t}){\rm{ = softmax(}}{{\boldsymbol{O}}_t} \bullet {{{\boldsymbol{w}}}_{{{t}}}}/\alpha {\rm{)}},$

      其中,$ W(\cdot ;\theta _w) $ 表示传递特征向量训练模块由参数为 $ {\boldsymbol{\theta}} _w $ 的RMC实现. Otwt矩阵表示所有单词的当前向量,因此Otwt得出所有单词的计算对数,α是控制生成熵的温度参数.

    • 使用策略梯度算法端到端的方式训练G. 本文目标是在HLMGAN中传递特征向量训练模块能够捕获一些有意义的模式. 因此,分别训练传递特征向量训练模块和生成向量训练模块,其中传递特征向量训练模块被训练来预测区别特征空间中的有利方向,而生成向量训练模块本质上奖励遵循这样的方向. 在训练过程中,生成器G和判别器D交替训练. 同时在生成器中,传递特征向量训练模块 $ M(\cdot ;\theta _m) $ 和生成向量训练模块 $ W(\cdot ;\theta_w) $ 交替训练.

    • 在奖励机制方面,本文舍弃了传统的蒙特卡洛搜索奖励机制,采用Sentences and Words(SW)奖励机制,包括句子级别奖励和词级别奖励两部分[15],分别说明如下.

    • 由于句子中不同单词的奖励应该不同,本文首先使用单词级别的奖励,公式如下:

      $ {R({y_{t,k}}|{y_{t, < k}}) = } { - \lg {D_\phi }({y_{t,k}}|{y_{t, < k}})}. $

      即输入生成向量和真实向量,对应相乘完成交叉熵计算. 输入形如[[0.66,0.057,0.283],[…],[0.4542,0.2169,0.329]]的3×3矩阵,每一行加和为1. 对softmax的结果取自然对数,输出形如[[−0.4155,−2.8648,−1.2623],[…],[−0.7893,−1.5285,−1.1117]的3×3矩阵. 结果是把上面的输出与Label对应的值取出,取负,再求均值. 设Target是[0,2,1],即第一行取第0个元素,第二行取第2个,第三行取第1个,去掉负号,结果是:[0.4155,1.0945,1.5285]. 再求均值,则输出结果为1.012833.

    • 对于一个有K个字的句子 $ y_t $ 而言,句子级别的奖励是每个单词奖励的平均值:

      $ R(y_t) = - \frac{1}{K}\sum\limits_{k = 1}^K {\lg D_\phi } (y_{t,k}|y_{t, < k}). $

      现有给予判别器奖励主要问题是奖励不能准确反映文本的新颖性. 首先,对于高新颖性文本的奖励很容易达到饱和,这几乎无法区分新颖文本之间的区别. 其次,判别器在识别生成的文本时可以很容易地达到很高的准确性,表明分类器仍然无法分辨新颖度较低的文本之间的区别. 根据实验结果分析表明,SW奖励机制可以更好地区分新颖性文本和低端性文本,而且不会出现饱和问题. 即高新颖性文本的奖励很高且不会饱和,低新颖性文本的奖励很小但是具有区分性.

      该奖励机制使用 $ O(T) $ 的时间复杂度来计算所有单词的奖励,与时间复杂度为 $ O({T^2}) $ 的蒙特卡洛搜索奖励机制相比,更有效率.

    • 在确定了判别器,生成器、目标函数和奖励机制后,本文通过以下算法来训练HLMGAN.

      输入:预处理后的真实文本.

      输出:跟预处理后文本意思相近但又不完全一致的文本.

      步骤 1 使用随机权重θm,θw ,ϕ初始化 Gθm,θw, Dϕ

      步骤 2 预训练Dϕ使用S作 为正样本,Gθm,θw作为负样本,并使用Dϕ的传递信息进行预训练,交错执行两次预训练,直到收敛为止

      步骤 3 产生序列Y1:T=(y1,…,yT)~Gθ,从Dϕ存储传递信息ft ,并从SW奖励中获得Q(ft,gt) ,同时从传递特征向量训练模块中获得生成目标向量gt,并更新两个训练模块参数

      步骤 4 使用当前Gθm,θw生成负样本并与给定的正样本S组合, 通过公式对k个epochs进行判别器Dϕ的训练

    • 为了验证所提算法的有效性,在两个离散序列生成任务上进行了实验,并将其与其他先进的方法进行比较.

    • 实验阶段,与HLMGAN进行比较的基本模型有以下几种:MLE训练的LSTM,SeqGAN,LeakGAN和MaliGAN.

      对于文本质量方面,本文在合成数据集采用的评价标准是负对数似然度(Negative log- likelihood,N),在EMNLP2017 WMT数据集采用的评价标准是双语互译质量评估辅助工具(Bilingual evaluation understudy,BLEU).

      本文实验采用两个评价标准如下:

      (1)负对数似然度

      因为合成数据集是模拟的生成序列,所以使用的评价标准是负对数似然度Noracle,评价标准公式如下:

      $ {{{N}}}_{\text{oracle}} = - E_{x \sim {\rm{q}}} {{\rm{lg}}{{G}}}_{\text{oracle}} $

      其中,${{{G}}}_{\text{oracle}}$ 表示真实数据分布,q表示生成的近似文本. 在合成数据实验中,假设随机初始化的RMC模型已经学到了真实的自然语言的数据分布,那么Noracle表示真实数据和生成数据之间的交叉熵,即HLMGAN网络中生成器生成的数据分布与真实自然语言的数据分布的差距,值越小表明生成的数据分布越接近真实分布,生成的文本质量越高.

      由于Noracle不能评价真实世界的数据实验,所以采用BLEU进行评分[16].

      (2)双语互译质量评估辅助工具(BLEU)

      对于EMNLP2017 WMT数据集采用的评价标准是BLEU. 该可以衡量机器翻译文本和参照文本两者的相似程度,取值范围在0到1,取值越大机器翻译的质量越高.

      在文本多样性方面,参考文献[16],采用Backward BLEU(BBL)来衡量. 它以生成的样本为参照,由BLEU对每个测试样本进行评价.

    • 不同学习率的影响. 本文分别更改生成器和判别器的学习率,设置生成器学习率(gen_lr)为0.0005至0.01和判别器学习率(dis_lr)为1×10−4~5×10−5进行实验对比,部分实验结果如表1所示(表格顺序由Noracle从小到大排序得出). 最终设置gen_lr=0.005,dis_lr=5×10−5和epoch=200进行实验.

      gen_lrdis_lrNoracle轮次
      0.0005 5×10−5 6.4037 135
      0.002 4×10−5 6.5384 126
      0.0015 5×10−5 7.038 115
      0.003 4×10−5 7.0498 192
      0.0005 4×10−5 7.123 49
      0.005 4×10−5 7.3049 106
      0.0005 4×10−5 7.5094 40
      0.003 5×10−5 8.8 25
      0.002 1×10−4 8.8573 32
      0.001 4×10−5 9.491 8
      0.01 1×10−5 9.4968 3

      表 1  参数设置结果展示

      Table 1.  Display of parameter setting result

    • 为了模拟真实世界的结构化序列,我们遵循Guo等[12]考虑了一种语言模型来捕捉标记的依赖关系. 使用遵循正态分布N(0,1)的随机初始化的RMC作为真实模型来生成实际数据分布 ${{{G}}}_{{\rm{oracle}}}(x_t|x_1,\cdots,x_{t - 1})$,用它来生成10000个长度为20的序列作为生成模型的训练集S,用于以下实验. 图5给出了训练曲线,表2给出了整体实验结果. 从结果可以得出,虽然在预训练阶段,HLMGAN并没有太大的性能优势,但是在对抗阶段,HLMGAN表现出非常好的收敛速度,最小值低于以往的结果. 并且在epoch160之后的阶段,HLMGAN的波动相比于HLMGAN基本模型LeakGAN较为平稳. 实验结果表明基于分层学习和SW奖励机制的框架在生成文本方面的有效性.

    • 该实验选择EMNLP2017数据集作为长文本语料库. 从原始数据集中选取新闻部分. 新闻数据集由646459个单词组成和397726个句子. 在此基础上,通过删除频率低于4050的单词、包含这些低频单词的句子及长度小于20的句子来预处理数据. 然后随机抽取20万句作为训练集,另外1万句作为测试集. 同时,为保证实验的准确性,增加DGSAN[17]和CoTGAN[18]与模型的比较. 表3给出训练结果. 在所有测试指标中,HLMGAN表现出良好的性能提升. BLEU指标高于对比模型. 在保证BLEU分数高的前提下,Ngen(越低越好)和Ndiv(越高越好)与对比模型(SeqGAN和LeakGAN)相比,最高分别提升了约0.344和0.715,说明HLMGAN在文本生成多样性和文本生成质量方面有所提高.

      图  5  4种文本生成模型训练曲线

      Figure 5.  Training curves of four text generation Models

      算法 Noracle
      MLE 9.038
      SeqGAN 8.736
      LeakGAN 7.038
      MaliGAN 8.73
      HLMGAN 6.5384

      表 2  不同算法的合成数据负对数似然度性能

      Table 2.  Comparison of Noracle performance of different algorithms

      算法 BLEU-2 BLEU-3 BLEU-4 BLEU-5 BBL-2 BBL-3 BBL-4 BBL-5 Ngen Ndiv
      SeqGAN 0.859 0.6015 0.4541 0.4498 0.573 0.427 0.3575 0.317 2.773 1.695
      LeakGAN 0.956 0.819 0.627 0.498 0.682 0.405 0.332 0.283 2.356 1.1291
      CoTGAN 0.963 0.8015 0.572 0.5127 0.725 0.622 0.413 0.335 2.365 1.752
      DGSAN 0.903 0.805 0.537 0.504 0.713 0.709 0.469 0.301 2.471 1.75
      HLMGAN 0.974 0.826 0.655 0.522 0.802 0.728 0.472 0.353 2.3302 1.8443
      p-value <10−6 <10−6 <10−6 <10−6 <10−6 <10−6 <10−6 <10−6 <10−6 <10−6

      表 3  EMNLP数据集的BLEU评分表现

      Table 3.  BLEU scores performance on EMNLP data set

      为了说明RMC替换LSTM和使用SW奖励机制的有效性,对算法HLMGAN进行了消融实验. 将HLMGAN中RMC去掉,使用LSTM,生成HLMGAN_RMC;将HLMGAN中SW奖励机制替换掉,生成HLMGAN_SW. 结果如表4所示. 与LeakGAN模型相比,两个改进部分均有所提高,说明RMC和SW奖励机制对模型的改进有所帮助.

      算法 BLEU-2 BLEU-3 BLEU-4 BLEU-5
      LeakGAN 0.956 0.819 0.627 0.498
      HLMGAN_RMC 0.943 0.817 0.649 0.511
      HLMGAN_SW 0.952 0.815 0.632 0.507
      HLMGAN 0.974 0.826 0.655 0.522

      表 4  Oracle数据集的BLEU评分表现

      Table 4.  BLEU scores performance on Oracle data set

    • 本文提出了一种HLMGAN模型,在此模型中通过传递判别器提取的特征作为逐步指导信号并采用SW奖励机制,对于重复文本分配低奖励,而对新颖流畅的文本分配高奖励,以指导发生器更好地生成文本. 在合成数据和真实世界数据的实验中,HLMGAN在BLEU得分比以前的解决方案有明显提升并且BBL得分也有所进步,即在生成文本多样性上有所改进. 接下来将使用HLMGAN模型结合医学领域数据,尝试改善医学领域部分数据缺少而在深度学习训练效果不好的问题.

参考文献 (18)

目录

    /

    返回文章
    返回