DialogVED:用于生成对话响应的预训练隐变量编码器-解码器模型

Abstract

在开放领域中生成对话响应是一个重要的研究课题,其主要挑战是生成相关的和多样化的响应。在本文中,我们提出了一种新的对话预训练框架DialogVED,它在增强的编码器-解码器预训练框架中引入连续隐变量,以增加应答的相关性和多样性。在大型对话语料库(Reddit)的帮助下,我们使用以下4个任务对模型进行预训练,这些任务用于训练语言模型(lm)和变分自动编码器(VAEs)文献:1)掩码语言模型;masked language model;2)回复生成;3) 词袋模型预测;bag-of-words prediction和4)KL散度降低。我们还添加了额外的参数来模拟对话中的回合结构,以提高预训练模型的性能。我们在PersonaChat、DailyDialog和DSTC7-A VSD基准测试中进行了回复生成实验。实验结果表明,我们的模型在所有这些数据集上都达到了最先进的结果。

1 Introduction

近年来,预训练语言模型(Pre-trained language models,PLM)在自然语言理解(NLU)和生成(NLG)中得到了广泛的探索,这种预训练和微调范式揭示了自然语言处理(NLP)中的各种下游任务。与一般的预训练模型相比,根据任务特性设计的面向任务的预训练模式(如摘要、对话等)可以获得更好的性能并且更健壮。本文在前人研究的基础上,提出了一种新的预训练对话响应生成模型。开放域中的对话回复生成(Dialogue Response Generation,DSG)是一项具有广泛应用场景的挑战性任务。DSG的最新进展将BERT (Devlin等人,2019年)和GPT2 (Radford等人,2019年)等预先训练的语言模型(plm)分为两大类。第一个重点是如何在下游任务中微调plm,并解决各种特定于应用程序的需求和挑战(Lin等人,2020年)。第二项是在PLM训练中增加对话特定任务(Zhang等人,2020;Bao等人,2020),然后在下游任务中对新的预训练模型进行微调。本文对后者进行了研究。

DSG中存在一个众所周知的一对多问题,即一个对话上下文后面可能有多个合理的响应。现有的研究引入了隐变量来对这一问题进行建模。例如,VHRED (Serban et al, 2017)在序列-序列(Seq2Seq) RNN模型中加入了潜在连续变量,以提高生成的响应的多样性。VAE-Seq2Seq (Bahuleyan et al, 2017)提出用变分注意代替普通的编码器-解码器注意(Luong et al, 2015),避免注意绕过潜在空间,使隐变量失效。对于可控性和可解释性,一些离散VAE也被提出,如(Oord等人,2017;V ahdat等人,2018)。最近,PLATO (Bao et al, 2020)首次在其预训练对话模型中引入隐变量,其中作者引入了K-way (K = 20)分类隐变量,预训练模型在多个下游响应生成任务中显示出显著的收益。除了离散隐变量之外,连续隐变量被广泛用于对话系统中的一对多映射建模,但将连续隐变量与大规模语言预训练相结合的潜力却很少被探索。

在本文中,我们提出了一种用于对话生成的预训练隐变量编码器-解码器模型(Variable Encoder-Decoder model for Dialog generation),称为DialogVED。在该模型中,我们将连续隐变量引入到增强的编码器-解码器预训练框架中,并采用基于VAEs文献的优化技术来学习具有连续隐变量的模型。我们通过优化以下4个预训练目标来进行预训练:1)掩码语言模型损失,以增强编码器对上下文的理解,2)具有N-gram损失的回复,提高解码器的规划能力;3) Kullback-Leibler散度损失,最小化隐变量的后验分布和先验分布的差异4)词袋损失减少后验分布崩溃。此外,我们还探讨了针对会话数据的绝对位置嵌入和相对位置嵌入对模型性能的影响。

我们对三种不同类型的会话任务进行了实验:闲聊、基于知识的会话和会话问题回答。实验结果验证了该模型与现有方法相比的有效性和优越性。我们进一步开展消融研究,以更好地理解DialogVED中不同组件对模型性能的影响,包括潜在空间大小、不同解码策略、回合和角色的位置嵌入。

本文的主要贡献可以总结如下:1)提出了一种预训练对话模型,该模型在增强的编码器-解码器预训练框架中加入了连续隐变量;2)我们探讨了隐变量大小、不同解码策略和位置嵌入对模型中回合和角色的影响;3) 大量实验表明,所提出的模型在多个下游任务中实现了最先进的结果(SOTA),并且我们的模型在响应生成方面比以前的SOTA在相关性和多样性方面都有更好的性能。

2 Method

2.1 Model Architecture

在回复生成中,有三个要素:对话上下文c、反应r和隐变量z。对话上下文c可以由多个历史话语(即,多个turn)组成,并且响应r是对给定上下文的一个适当答复。此外,潜在空间中的隐变量z代表了关联上下文和回复的许多未观察到的因素。

我们假设隐变量z是连续的,这与PLATO (Bao et al, 2020)不同,它描绘了与给定上下文的回复相关的某种条件概率分布。然后我们定义条件分布p(r, z|c) = p(r|c, z)p(z|c),我们的目标是使用编码器-解码器模型(用θ参数化)来近似p(r|c, z),使用多层感知器(用φ参数化)来估计p(z|c),这在VAE文献中称为先验网络。我们将最后的预训练模型称为DialogVED,它是一个基于transformer的编码器解码器模型,具有一个额外的先验网络来建模潜在空间。图1给出了我们的模型的概述。

图1:DialogVED的预训练和微调框架,预训练和微调的唯一区别是在微调阶段,我们不屏蔽源,因此丢弃了屏蔽的跨度损失。值得注意的是,为了方便绘图,我们把[CLS]放在了上下文的末尾,尽管实际上我们把它放在了开头。

2.2 Encoder

我们使用基于transformer的多层编码器(Vaswani et al, 2017)对对话上下文进行编码。首先,将标记的输入序列(Input)映射到嵌入(Embedding)序列,然后将嵌入序列传递到编码器中。编码器由一堆“block”组成,每个“block”由两个子组件组成:一个自注意力层和一个小前馈网络。与普通的transformer编码器相比,我们的编码器在位置嵌入和微调阶段的自注意层方面有细微的差别,其中包含了更丰富的位置信息,将在§2.7中介绍。

2.3 Decoder

未来预测策略在最近的研究中备受关注(Qi等人,2020;Xiao et al, 2020),不同于在每个时间步只预测下一个token,而是使用解码器同时预测n个未来token。

具体来说,最初的Seq2Seq模型旨在优化条件似然P (rt | r<t、c),而未来的预测策略将预测下一个单一token的优化更改为P(rt:t+n−1|r<t,c),其中rt:t+n−1表示下一个连续的n个未来token。未来的n-gram预测损失可以明确地鼓励模型计划未来的token预测,并防止在强局部相关性上过拟合(Qi等人,2020年)。

我们的解码器采用ProphetNet(Qi等人,2020)中提出的n-stream自注意力机制。n-stream自注意机制在主流之外加入了n个额外的自注意力预测流,在每个时间步分别预测下n个连续未来token。

Memory Scheme 为了将隐变量合并到解码器中,我们采用类似于OPTIMUS (Li et al, 2020)的内存方案,其中隐变量z∈R^{P}映射到一个额外的内存向量,记为h_{Mem},这是解码器要参加的一个额外的键值对。我们有memory vector

其中,W_{M}R^{H*P}为权矩阵,memory vector在解码器中跨所有层共享并传播为:

其中H(k)为解码器第k层的隐藏状态。内存向量相当于在解码过程中加入一个虚拟令牌,参与到自注意主流的计算中,预测流通过与主流的交互隐式受到h_{Mem}的影响。 隐变量通过memmory vector引导解码器的每一步的生成。

2.4 Latent Variable

直观地说,引入隐变量提供了一个分层生成过程:1)从先验网络p(z|c)中采样一个隐变量z;2)通过解码器网络p(r|c, z)生成r。根据之前的研究(Zhao et al, 2017a), z ~ p(z|c)可以确定高级语义,然后进行自回归解码,生成具有低级语法和词汇细节的输出句子。

类似于变分自编码器(VAEs),我们通过最大化边际对数似然来学习参数θ:

其中pφ涉及到隐变量z的难以处理的边缘化。(Kingma et al, 2016;Li et al, 2020),我们将优化其下界,这相当于最小化以下两项:重构损失(或负对数似然)

K-L正则化项

这里q(z)是一个多变量正态分布,平均µ∈R^{P}和 diagonal variance matrix with diagonal taiking values \sigma ^{2} ∈ R^{P},记为diag(σ2)。

为了连接到隐藏空间,我们在上下文的开头添加了一个特殊的分类标记([CLS]),并使用最后一层中表示为h[CLS]∈R^{H}的第一个隐藏状态来表示全局对话上下文。我们假设

其中MLP_{h}是一个多层感知器,这个多层感知器在V AEs文献中被称为先验网络。然后我们可以对P个随机变量进行采样,每个变量都来自标准正态分布,通过变换,从N(µ,diag(σ2))中得到z∈R^{P}的样本,并将它们输入到解码器中。

2.5 Mask Language Spans

为了提高编码器的理解能力和对噪声的鲁棒性,我们在编码前对部分上下文进行随机掩码。最近关于掩蔽语言模型的研究(Joshi等人,2020;Lewis等人,2020)显示了掩蔽跨度优于掩蔽单个单词或子单词单元。

我们采用一种简单的方法来掩盖跨度:1) 随机选择上下文中的n个token,表示为S;

2) 对于每个令牌t∈ S、 将其扩展到固定长度为m的text span;3) 在排序、重复数据消除和边界检查后屏蔽所有选定的token。

和BERT类似(Devlin等人,2019),上下文中的掩码token总数约占15%,我们将掩码令牌替换为:1) 80%的时间使用[MASK]token;2) 10%时间的随机令牌;3) 10%的时间掩码token不变。然后,使用每个掩码令牌x的最后一层隐藏状态hx∈R^{H}来预测原始令牌,并训练编码器优化交叉熵损失:

其中,W_{1}R^{H*H}, b1∈R^{H}, W2∈R^{H*|V|}表示一个全连通层的权矩阵,|V |为词汇量大小,LSM为log softmax函数,LSM(…)(x)表示取令牌x对应的log概率值。 在本文中,我们将W2的参数与编码器和解码器中嵌入层的参数共享。注意,我们只屏蔽预训练阶段的上下文。

2.6 Reduce KL-vanishing

DialogVED允许解码器关注上下文的隐藏状态(即编码器的输出),因此直接训练将导致解码器忽略隐变量z,KL损失将迅速减少到0,潜在空间失去其表达能力,这被称为后验塌陷posterior collapse或KL消失(KL-vanishing)(Bowman等人,2016)。本文采用了VAEs文献中开发的两种方法来减少后验塌陷:

Free Bits(Kingma et al, 2016),用一个铰链损耗项替换(3)中的K-L正则化项,该铰链损耗项使原始K-L项的每个分量最大化,且λ恒定:(为了能让更多的信息被编码到隐变量里,让 KL 项的每一维都 “保留一点空间”。如果这一维的 KL 值太小,就不去优化它,等到它增大超过一个阈值再优化)

Bag-of-words损失 (Zhao et al, 2017b),用于鼓励潜变量以非自回归的方式预测回复r中的单词:(让隐变量以非自回归方式预测响应中的单词,即鼓励隐变量中可以尽可能包含回复的词汇信息。这个方法可以看做是增大了重建损失的权重,让模型更多去关注优化重建损失项。)

其中T为响应r中标记的数量,f_{r_{t}}为单词r_{t}出现的估计概率。

其中MLP_{z}是一个多层感知器,V指的是整个词汇表。

2.7 Position Embeddings

Absolute Position Embeddings 除了原始Transformer中使用的token-level学习位置嵌入,我们还考虑了turn-level和speaker-level级位置嵌入,如PLATO (Bao等人,2020年)。为了更好地模拟对话中回合的意义,我们引入回合位置和角色位置的嵌入,每个token的最终输入嵌入是相应回合、角色和token嵌入的总和。

Relative Position Embeddings相对位置嵌入 最近,使用相对位置嵌入变得越来越普遍,它根据在自我注意机制中比较的“key”和“query”之间的偏移产生不同的学习嵌入(Shaw et al, 2018;拉斐尔等人,2019)。我们将T5 (rafel et al, 2019)中原始相对距离矩阵的元素扩展为二元组。

在映射函数f中,我们同时考虑token相对距离d_{token}和turn相对距离d_{turn},其中这些元组通过bucket function,然后在预定义的嵌入层中查询a_{ij}^{K}

2.8 Pre-training Objectives

结合式(2)(5)(6)(7)中详细的损失,我们有预训练目标,用于在大规模对话语料库上预训练DialogVED:

综上所述,我们在上下文c中屏蔽文本跨越,从先验网络中采样一个隐变量z,然后让编码器和解码器在隐变量z的引导下分别预测屏蔽跨域和回复r。

3 Experiments

在本节中,我们首先介绍§3.1中的预训练数据集和微调基准,并在§3.2中实现细节。然后我们在§3.3中给出了主要结果。最后,我们分析了§3.4中参数和位置嵌入的影响。

3.1 DataSets and Baselines

3.1.1 Pre-training Corpus

大规模Reddit评论数据集(Zhou等人,2018;Galley et al, 2019)用于预训练我们的对话语言模型。该数据集已被证明在各种对话下游任务中很有帮助(Bao等人,2020;张等人,2020)。我们使用DialoGPT (Zhang et al, 2020)提供的脚本来获取最新的Reddit评论数据。我们获得了2.15亿个训练样本(共42GB)用于预训练。(给出一个包含多个对话回合的例子{t1, t2, ..., tn},我们提取n−1个样本,其中上下文c为{t1, t2,…ti−1},回复r是{ti},for i = {2, 3, ..., n}.)

为了加速训练过程并适应GPU内存的限制,我们采用了两种方法。首先,我们根据上下文的长度对样本进行排序。具有相似长度(即上下文中token的数量)的样本被组装成一个batch,以最小化填充量。其次,由于样本长度分布不均,我们将Reddit语料库分为两个子数据集:根据上下文和响应的长度,Reddit ShortReddit Long。如表1所示,优化每个子数据集的批处理大小,避免在训练过程中为几个长响应样本保留大量的内存。

Table 1:本文中用于预训练和调优的数据集统计,其中# Turns表示平均turn,# Tokens表示WordPiece标记化后的上下文和响应(用斜杠分隔)的平均token(Devlin等人,2019年)。

在一个epoch内,我们首先对批次规模较大的Reddit-Short进行预训练,然后对批次规模较小的Reddit-Long进行预训练。我们在这里拆分reddit评论数据集主要是为了效率。

3.1.2 Fine-tuning Benchmarks

跟PLATO 类似(Bao等人,2020),我们选择三个数据集作为基准:

DailyDialog (Li et al, 2017),一个聊天数据集,包含关于日常生活的高质量人类对话。

Persona-Chat (Zhang等人,2018),一个基于知识的对话数据集。它提供了手动注释的对话和相应的角色配置文件(背景知识),其中两个参与者自然地聊天,并试图了解彼此。

DSTC7- AVSD (Alamri等人,2019a)是一个对话问题回答数据集,是DSTC7挑战的音频视觉场景感知对话的缩写(Audio Visual Scene-aware Dialog of the DSTC7 challenge)。系统需要根据对话上下文和背景知识生成答案。在DSTC7-AVSD测试集中,每个上下文都有多个参考响应。

对于评估,除了与知识相关的度量之外,我们使用与PLATO中使用的相同的度量,因为本文不专注于利用知识。所以我们将关注以下指标:

BLEU-1/2 (Papineni et al, 2002),它通过计算生成文本与参考文本之间的1/2-gram重叠来度量生成文本与参考文本的相关性。

Distinct-1/2(Li et al,2016a),它通过关注句子中不同的1/2-gram的数量来衡量生成句子的多样性,从而惩罚有大量重复单词的句子。

其他基于单词重叠的度量,METEOR、ROUGE-L和CIDEr,也在DSTC7-AVSD数据集中报告,与DSTC7评论相同(Alamri等人,2019b)。

3.1.3 Baselines

普通的序列到序列(Seq2Seq)模型、对话预训练模型和一般自然语言预训练模型被用作我们的基线:Seq2Seq(Vinyals和Le,2015)是一个带有注意力的序列到序列模型。iVAEMI(Fang等人,2019)是一种基于变分自动编码器的隐式深度隐变量模型,用于更好的潜在表示和多样的响应。LIC (Golovanov et al, 2019)在比赛中获得了最好的性能,是一种基于transformer的生成方法。PLATO (Bao等人,2020)利用一个离散隐变量进行对话生成预训练,以解决一对多问题。ProphetNet(Qi等人,2020)是一个预训练LM模型,预测一个以上的未来token作为预训练目标。我们直接用下游训练数据对(Qi等人,2020年)发布的ProphetNet-Large模型进行微调。

对于基准DSTC7-AVSD,我们包括挑战组织者提供的AVSD基线(Alamri等人,2019a)系统,以及CMU Sinbad团队开发的最佳性能模型(Sanabria等人,2019)。

3.2 Model Configuration

DialogVED由12层编码器和12层解码器组成,嵌入/隐藏尺寸为1024,前馈滤波器尺寸为4096。隐态z的维数P设为64,我们将在§3.4.1中分析P的效果。我们使用学习率为3 × 10^{-4}的Adam优化器(Kingma and Ba, 2014)进行预训练。我们在ProphetNet之后将ngram设置为2(Qi等人,2020)。对话生成的预训练在32 Nvidia Telsa V100 32G GPU(4个节点)上进行6个epoch,大约需要5天才能达到收敛。混合精度训练也被用于有效的训练和推理,我们使用Fairseq(Ott等人,2019)框架进行所有实验。我们使用BERT未加括号的字典,并将一些未使用的token替换为自定义的特殊符号(如[SOT],表示对话的开始,它适用于包含知识的对话数据集,如PersonaChat和DSTC7-A VSD)。我们使用包WordPiece(Devlin等人,2019)进行标记化。

对于微调,我们在所有三个数据集中使用完全相同的超参数设置,它们与预训练中的超参数略有不同。学习率设置为1×10^{-4},batch大小固定为512。我们还采用了额外的warmup策略,其中我们从初始学习率(1×10^{-7})开始 ,预热更新次数设置为2000。对于每个数据集,我们训练10个epoch,并选择验证损失最小的检查点进行推断。

3.3 Main Results

在表2中,我们将几种DialogVED变体与基线模型进行了比较。DialogVED表示通过波束搜索推断DialogVED。与DialogVED相比,DialogVED w/o latent没有配备隐变量,因此损失函数不包括单词包损失和K-L损失。DialogVED greedy意味着带有贪婪搜索的DialogVED推理。对于DialogVED-Sampling,我们从每个解码步骤中输出概率最高的前K个令牌中进行采样。对于潜在空间,我们总是从先验分布标准正态分布中采样每个隐变量。这里,beam大小设置为5,K设置为100。

Table 2:DailyDialog和PersonaChat上的实验结果具有自动评估功能,最高值以粗体书写。默认解码是波束搜索,beam=5,DialogVED的隐变量为64。

如表2和表3所示,与PLATO和其他模型相比,DialogVED非常具有竞争力。特别是,使用DialogVED的Top-K(K=100)采样进行解码,在DailyDialog和PersonaChat上的BLEU-1/2和Distinct-1/2中优于PLATO(见表2)。随着K的增加,n-gram的重叠减少,多样性增加。K取100是一个很好的平衡,表4显示了更详细的结果。

Table 4:DailyDialog数据集上不同隐变量大小和Top K的结果。

在DSTC7-A VSD上,响应的多样性不如准确性重要。从表3中,我们观察到没有隐变量的DialogVED在总体指标上表现最佳。

Table 3 :DSTC7-AVSD的自动评估实验结果,最高值用粗体书写。

然而,DialogVED配备了波束搜索或贪婪搜索,即使它有后一代排名组件,仍然可以轻松击败PLA TO。

有两个重要组成部分对我们的模型的成功做出了巨大贡献:首先,我们采用一个新开发的预训练LM作为初始化器,并进一步在我们的对话数据集(Reddit)上继续它的预训练管道,因此我们有了一个真正强大的编码器-解码器。事实证明,我们的模型(DialogVED w/o隐变量)在所有三个数据集的所有指标上都优于PLATO (w/o隐变量)。其次,该模型的特殊结构结合了seq2seq模型和VAE模型的优点。 与一般的VAE相比,DialogVED在解码过程中允许编解码器相互作用,避免了低维隐变量表示不足的问题。同时,与seq2seq模型相比,预测bag of word会推动隐变量,为解码器提供额外的指导。与没有隐变量的DialogVED 相比,我们在准确性和多样性方面取得了更好的效果,这一事实证明了这一点(见表2)。

总的来说,我们的DialogVED在对话响应生成的所有三个下游任务中都取得了最先进的结果。

3.4Parameters and Position Analysis

3.4.1 Balancing Accuracy and Diversity with Sampling

我们研究了潜在空间大小的影响,P,定义为隐变量z的维度和不同的K在抽样中的影响。表4的结果表明,在基于n-gram的度量(BLEU-1/2)中,较小的潜在尺寸(P = 32)更占优势,而较大的潜在尺寸生成更多样化的文本。从top-K抽样的结果可以看出,两个度量(blue -1/2和Distinct-1/2)具有负相关关系。

我们可以根据具体场景灵活选择解码策略。

3.4.2 Position Embeddings

我们研究了2.7节中描述的位置嵌入的影响,我们定义了两种类型的位置嵌入:绝对位置嵌入(APE)和相对位置嵌入(RPE)。我们报告了它们不同组合的度量,这些独立组件分别是TurnAPE(turn绝对嵌入)、RoleAPE(role绝对嵌入),TokenRPE(token相对嵌入)和TurnRPE(turn相对嵌入)。

如表5所示,TurnAPE和RoleAPE的组合性能最好。绝对位置嵌入和相对位置嵌入都能提高模型的性能,但同时采用绝对位置嵌入和相对位置嵌入是有害的。

Table 5:位置嵌入对模型性能的影响。

3.5 Human Evaluation

自动化指标(BLEU 1/2、Distinct-1/2等)在评估开放域对话任务时具有局限性。为了让它更有说服力,我们进行了人类评估。具体而言,我们随机选择100个对话上下文,并使用以下方法生成应答:PLA TO、DialogVED和DialogVED- sampling。在PLATO之后,评注者被要求从流利性、连贯性、信息量和整体性四个方面来比较应答(赢、平或输)的质量。FollowingPLATO,评注者被要求从流利性、连贯性、信息量和整体性(fluency, coherence, informativeness and overall)四个方面来比较应答(赢、平或输)的质量。

人类比较的结果如表6所示,第1组和第2组的平均Cohen’s kappa (Kraemer, 2014)分别为0.729和0.743,说明注释者达成了中等程度的一致。可以看出,大多数时候它们是相同的,三个模型有时产生完全相同的响应。

Table 6:DialogVED vs PLATO(组1)和DialogVED-sampling vs PLATO(组2)的人类评价。

对于DialogVED,它在连贯性方面比PLATO更出色,但信息量更大;而DialogVED采样在信息性上显著优于PLATO,但coherence略弱。

总的来说,DialogVED可以产生相关和多样化的响应,我们在附录A中展示了一些案例研究来帮助说明我们的模型的有效性。

4 Related Work

Encoder-Decoder dialog models 不同于基于检索的对话系统(Boussaha等人,2019;Chen等人,2021),编码器-解码器模型被广泛用于对话响应生成,但它往往生成通用的响应和枯燥的响应(例如,我不知道)。为了增强encoderdecode模型并产生不同的响应,研究人员尝试了不同的方法:使用多样性促进目标(Li et al, 2016a),使用不同的解码算法(Li et al, 2016b),添加额外的内容(Xu et al, 2019),或在对话生成中引入大规模的知识图(Liu et al, 2018;Wu等人,2020)。

另一类方法是使用隐变量来解决响应生成中的一对多问题。这些模型引入了语篇层面的多样性,并能够生成不同的对话响应(Serban等人,2017;赵等,2017a, 2018;Gao等人,2019)。在本文中,我们也采用了这种方法,并进一步在预训练和微调中引入了隐变量。

Pre-trained Dialog Models 预先训练的语言模型已经成功地用于NLG和NLU任务(Devlin等人,2019;Radford等人,2019年)。最近,各种新的预训练语言模型已经被预训练,包括BART (Lewis et al, 2020)、ProphetNet (Qi et al, 2020)、T5 (rafel et al, 2020)。在这些论文中,他们证明了通过微调plm可以获得比从零开始训练更好的性能。

由于对话域中有许多重要的应用,而且对话语料库具有不同于一般文档的语言特征,使用开放域对话数据(如Reddit)进行预训练的对话模型非常重要。DialoGPT (Zhang等人,2020)继续直接在Reddit评论数据上对GPT-2模型进行预训练,新的预训练模型在下游任务(包括几个对话响应生成基准测试)上取得了更好的性能。

PLATO (Bao等人,2020)提出了一种专门用于对话生成的新模型,该模型为一对多关系建模引入了一个离散变量。预先训练的模型有助于在若干响应生成任务中取得最先进的结果。这是最接近我们的文献。然而,在本文中,我们在对话语料库的预训练中引入了连续隐变量而不是离散隐变量。

5 Conclusion

本文提出了一种新的对话响应生成预训练框架DialogVED。将隐变量纳入基于Transformer的序列对序列框架中,通过4个训练目标得到鲁棒且多样化的响应生成模型。我们的预训练模型在多个对话响应生成下游任务中取得了最新的进展。大量的实验证明了该模型的有效性。附加的人工评估证明了我们提出的模型的优点。

A Case Study

我们分别在表7、8和9中演示了由我们的模型以及其他基线模型生成的响应。表8和表9中的结果表明,尽管我们没有显式地对知识建模,但我们的模型准确地输出了上下文中包含的知识信息。与波束搜索或贪婪译码相比,top-K采样译码不仅能产生更大胆、更多样化的响应,而且能保持良好的相关性,如表7和表8所示。

Table 7:DailyDialog响应生成的案例分析

Table 8:PersonaChat响应生成的案例分析

Table 9:DSTC7-AVSD反应生成的案例分析

论文阅读《DialogVED: A Pre-trained Latent Variable Encoder-Decoder Model for Dialog Response Generation》相关推荐

  1. 《基于卷积神经网络的深度迁移学习,用于燃气轮机燃烧室的故障检测》论文阅读

    目录 突出 抽象 引言 1.1动机 1.2文献综述获得的结论 1.3贡献 1.4组织 2方法 2.1燃汽轮机组故障知识共享 2.2迁移学习 2.3 基于卷积神经网络的深度迁移学习 2.4用于燃气轮机燃 ...

  2. 基于卷积神经网络和投票机制的三维模型分类与检索 2019 论文笔记

    作者:白静 计算机辅助设计与图形学学报 1.解决的问题 由于三维模型投影得到的视图是由不同视点得到,具有相对独立性,这种像素级的融合运算并没有直接的物理或者几何意义,更有可能造成图像有益信息淹没和混淆 ...

  3. TextCNN——基于卷积神经网络的文本分类学习

    1.CNN基础内容 CNN的全称是Convolutional Neural Network,是一种前馈神经网络.由一个或多个卷积层.池化层以及顶部的全连接层组成,在图像处理领域表现出色. 本文主要学习 ...

  4. 读懂深度迁移学习,看这文就够了 | 赠书

    百度前首席科学家.斯坦福大学副教授吴恩达(Andrew Ng)曾经说过:迁移学习将是继监督学习之后的下一个促使机器学习成功商业化的驱动力. 本文选自<深度学习500问:AI工程师面试宝典> ...

  5. 一种基于卷积神经网络的图像去雾研究-含matlab代码

    目录 一.绪论 二.去雾卷积网络 2.1 特征提取 2.2 多尺度映射 2.3 局部均值 2.4 非线性回归 三.实验与分析 四.Matlab代码获取 一.绪论 雾是一种常见的大气现象,空气中悬浮的水 ...

  6. 机械臂论文笔记(一)【基于卷积神经网络的二指机械手 抓取姿态生成研究 】

    基于卷积神经网络的二指机械手 抓取姿态生成研究 论文下载 摘要 第1章 绪论 1.1 抓取生成国内外研究现状 1.1.1已知物体抓取生成 1.1.2相似物体抓取生成 1.1.3 未知物体抓取生成 1. ...

  7. 毕业设计 - 基于卷积神经网络的乳腺癌分类 深度学习 医学图像

    文章目录 1 前言 2 前言 3 数据集 3.1 良性样本 3.2 病变样本 4 开发环境 5 代码实现 5.1 实现流程 5.2 部分代码实现 5.2.1 导入库 5.2.2 图像加载 5.2.3 ...

  8. 基于卷积神经网络与迁移学习的油茶病害图像识别

    基于卷积神经网络与迁移学习的油茶病害图像识别 1.研究思路 利用深度卷积神经网络强大的特征学习和特征表达能力来自动学习油茶病害特征,并借助迁移学习方法将AlexNet模型在ImageNet图像数据集上 ...

  9. Python深度学习实例--基于卷积神经网络的小型数据处理(猫狗分类)

    Python深度学习实例--基于卷积神经网络的小型数据处理(猫狗分类) 1.卷积神经网络 1.1卷积神经网络简介 1.2卷积运算 1.3 深度学习与小数据问题的相关性 2.下载数据 2.1下载原始数据 ...

  10. 基于卷积神经网络实现图片风格的迁移 1

    卷积神经网络详解 一.实验介绍 1.1 实验内容 Prisma 是最近很火的一款APP,它能够将一张普通的图像转换成各种艺术风格的图像.本课程基于卷积神经网络,使用Caffe框架,探讨图片风格迁移背后 ...

最新文章

  1. nginx做方向代理不显示图片的问题
  2. 七夕福利 | 3D视觉从入门到精通系统学习教程
  3. 计算机类自主招生推荐信,自主招生推荐信范文-20210709232503.docx-原创力文档
  4. Xamarin.FormsShell基础教程(7)Shell项目关于页面的介绍
  5. 【laravel】用laravel在游览器中显示Hello World
  6. 物理学家史蒂夫·霍金逝世,享年76岁(附图文回顾他的一生)
  7. vc给exe更改图标
  8. CSU 1204 Rectangles
  9. 马云:捐钱很容易 但当所有人行动才能有变化
  10. 致我们终将逝去的39%“峰值性能”!
  11. python的题库_python题库-Python,题库
  12. Chapter 4 夫琅禾费衍射-Matlab仿真
  13. MATLAB——斜抛运动
  14. 论文笔记——Scaling Up Your Kernels to 31x31: Revisiting Large Kernel Design in CNNs
  15. 剑指offer----C语言版----第十一天
  16. 给大家介绍一款校园网盘软件,孜创校园网盘软件,搭建学校私有云存储
  17. 基于javaweb+springboot的医院管理系统(java+Springboot+ssm+mysql+maven)
  18. Macadam自然语言处理(NLP)工具包(TextClassification, SequenceLabeling, RelationExtraction)
  19. Node.js 的安装(电脑win7支持的版本)
  20. 壹佰利—通联信用作为吉林省首家获得人民银行颁发的企业征信备案牌照,开始为全省人民服务!

热门文章

  1. MATLAB下实现巴特沃斯低通滤波器并对图像滤波
  2. Ubuntu18.04个人常用工具软件
  3. Selenium+Java(08):AutoIT工具的下载及安装
  4. 个人开发与日常使用装机必备软件、常用配置
  5. JSPssh物流便利店管理系统SSH 框架 MVC 模式 mysql数据库
  6. 计算机机房使用面积怎么算,如何建设电子计算机机房(一)
  7. Android显示音标 [ɪmˈpɪəri:əs]
  8. 我将进化成一条狗(2)——大数据
  9. python爬取简历模板_python 爬取免费简历模板网站的示例
  10. appletviewer命令详解