PLATO: Pre-trained Dialogue Generation Model with Discrete Latent Variable

1. 论文介绍

本论文由百度发表于ACL2020,重磅推出了拥有16亿参数规模的超大型模型PLATO-2,该模型在公共数据集的测试超越了google发布的26亿参数模型Meena和Facebook发布的27亿参数模型Blender。而且在中文对话中,它与微软小冰之间的差距巨大,这无疑意味着百度PLATO-2将对话的智慧提升到了一个全新的水平。目前,PLATO是业界首个基于隐空间的端到端的预训练对话生成模型,该模型用隐向量来表示对话的潜在方向,从而达到对话内容丰富度和流畅度的显著提升。

2. 论文概述

该论文提出了一个对话生成预训练模型,能够支持闲聊、基于知识的对话、对话问答系统。

PLATO-2模型采用了灵活的注意力机制,来实现融合双向文本内容信息和单向的生成的语言特征信息,该模型引入了离散隐变量来处理回复生成中一对多的问题,隐变量较为普遍地在VAE、CVAE等技术中使用,但在论文中,作者们首次提出将离散的隐变量结合Transformer结构,应用到通用的对话领域。通过引入离散隐变量,可以对上文与回复之间的“一对多”关系进行有效建模。

模型的主要两个任务为回复生成和隐动作识别,两个任务都在同一个网络架构下完成。

3. 论文背景

大规模预训练语言模型已经在nlp领域展现了成功,比如bert和XLNet,经过fine-tune,这些预训练模型持续在下游任务中获得了突破,尤其是NLU领域,如问答、自然语言推理。但Bert在小规模语料上进行自然语言生成,如对话生成的效果并不好,可能原因是:

1)人类对话中暗藏的语言特征和普通文本的相差很大,可能在知识或数据分布上差异很大,由于人背景和环境可能有所不同,很多种回复都是合理的。

2)单向对话生成的训练模式和BERT中应用的双向自然语言理解具有差异。

3)不同于普通的nlp任务,对话生成具有one-to-many的关系,一段对话可能有多种合适的回复。对于这种复杂的一对多的模式,神经网络拟合起来往往非常棘手。在学习这样一对多的数据的时候,会因为模型能力和数据匮乏导致最终学习的效果趋向于平庸,极易产生如“哈哈”、“嗯”这样大家熟知的索然无味的“聊天终结语”。

为了解决这些问题,本文提出了新的方法以获得高质量对话生成的预训练模型。首先,为了解决数据分布的问题,在使用普通数据的预训练模型基础上继续使用了大规模Reddit和Twitter对话数据。其次,为了缓解训练模式的不同,本工作将单向和双向的处理灵活使用。最后,本模型采用了离散隐变量,在对话中来建设一对多关系模型。

隐变量:无监督自动学习,无需人类标注

4. 对话生成预训练

4.1. 模型构架

image-20200715220709780

模型三要素:

对话上下文:c 包含多条历史对话

回复:r 针对给定上下文的合适回复之一

隐变量:z K类别变量 [1,K] 每个值都对应一种特定隐藏语言行为

image-20200715210010043

模型任务:

  1. 回复生成:给定context c,一种选择的隐变量z,回复生成p(r|c, z),单向decoding,只考虑当前单词之前生成的词:r<t

    image-20200715211432798
  2. 隐藏行为识别:给定一对上下文context和回复,隐藏语言行为 p(z|c,r),

4.2. 输入表征

image-20200715214437551

input embedding组成:token、role、turn、position embedding

input是隐变量、对话内容和回复的拼接,每轮对话加上结束符[EOU],开始符[BOU]

token embedding z是k种类变量,embedding E[z] 从embedding空间K * D纬的矩阵Ez映射过来。其他词汇的token使用Bert的embedding

role embedding用于区别对话中的字符,EA是回复和由相同文本生成的对话。EB是其他字符,对于基于知识的对话,背景知识是Ec

turn embedding 记录对话的论数,为了不让对话轮数干扰生成,将回复设为0。

position embedding记录该轮对话中每个字符的位置。

4.3. 预训练目标

预训练目标

4.3.1. 回复生成

本模型中,回复的生成是基于隐变量和上下文已知的情况,预训练模型采用负数对数似然NLL和词袋BOW损失函数,用于训练隐变量。

  • NLL loss:
截屏2020-07-16 上午9.47.24

隐变量z服从后验分布p(z|c,r),计算公式为:

image-20200716101744971

h_[M]\in R^D是特殊mask的最后一层隐层,W_1\in R^{k*D}, b_1\in R^K是一个全连接层的权重矩阵

  • BOW loss:

    image-20200716103427978

V为整个词典,函数f试图用隐变量直接预测目标回复中的词

image-20200716104250073

h_z是隐变量的最后一层隐状态,f_{rt}表示生成词rt的概率。BOW不考虑词的顺序,让隐变量能够捕捉目标回复的全局信息。

4.3.2 回复选择

回复选择辨别回复是否和对话内容相关,是否与背景知识一致,在多个备选回复中选出连贯一致的回复。

回复选择的交叉熵如下:

image-20200716113945692

l_r=1表示为r为正确回复,l_{r-}=0表示r^-为错误回复。

image-20200716114216084

4.3.3 预训练模型总目标

最小化以下复合损失函数

image-20200716114325617

4.4. 预训练流程

该预训练模型包含12个transformer block, 网络参数使用Bert初始化。对于每一个训练样例(c,r),都需要两次通过网络来实现隐动作识别和回复生成任务。预训练流程如下:

1)隐动作识别

已知c和r,估算后验分布p(z|c,r),随机选择r^-并计算L_{RS}

  1. 回复生成

​ 给定隐变量分布z~p(z|c,r),计算L_{NLL}L_{BOW}

  1. 优化

​ 对于总损失L,后向传播更新网络参数

4.5. fine-tuning 和 推理

可通过公式8在小数据上进行fine-tuning,达到拟合后通过以下步骤进行推理:

1) 备选回复生成:对于每一个隐变量 z\in [1,K],生成相应的回复r

2)备选回复选择:对于每一个回复,计算概率p(l_r=1|c,r),选择概率最高的值作为回复。

5. 实验

为了验证预训练模型的效果,论文在3个公开对话数据集上进行了测试:Persona-Chat、Daily Dialog以及DSTC7-AVSD。

Persona-Chat是典型的知识聊天任务:两个人讲述自己信息(Persona Profiles),并在对话中尽量了解对方;Daily Dialog偏向日常闲聊类型;DSTC7-AVSD是对话式问答,根据视频场景信息,两人进行多轮问答,讨论视频中物体和事件。

image-20200724102809883

在每个数据集上的实验,作者们对比了基线方法以及每个数据集上的SOTA方法。PLATO在Persona-Chat和Daily Dialog上的自动和人工评估结果,如表2所示。

image-20200724102820313

PLATO在DSTC7-AVSD上的结果,如表3所示。由这些结果可见,PLATO在各个对话数据上,均超过了当前最优,取得了新的最优效果。

image-20200724102828750
image-20200716161646127

PLATO也与其他预训练模型进行了对比,在Persona-Chat上的实验结果如表5所示,其中2.2是不使用Latent Space的对比模型,3.1是完整PLATO模型。

表5 不同预训练模型在Persona-Chat的PPL结果

通过对比这些结果,可以看出:

灵活的注意力机制可以充分利用上文的双向信息(Model 1.2 v.s. Model 1.3);大规模的Twitter和Reddit语料,显著改善回复生成(Group 2&3 v.s. Group 1);离散隐变量的引入,则可以进一步提升回复质量(Model 3.1 v.s. Model 2.2)。

对于PLATO的定性分析,论文也在表5中提供了一些case。给定一个上文,通过对离散隐变量进行不同赋值,PLATO可以产生多样且都合理的回复。

image-20200724102732194

参考文献:百度发布首个大规模隐变量对话模型PLATO

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,544评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,430评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,764评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,193评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,216评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,182评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,063评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,917评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,329评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,543评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,722评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,425评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,019评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,671评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,825评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,729评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,614评论 2 353