百度发布全球首个大规模隐变量对话模型PLATO

2024-05-07 13:48

本文主要是介绍百度发布全球首个大规模隐变量对话模型PLATO,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://www.techweb.com.cn/ucweb/news/id/2785497

百度于去年10月公布的通用领域对话生成预训练模型PLATO,最近已正式被ACL 2020接收。PLATO是业界首个基于隐空间(Latent Space)的端到端预训练对话生成模型。据悉,该模型利用隐向量来表示对话的潜在方向,从而达到对话内容丰富度和流畅度的显著提升。针对具体对话任务,基于PLATO可以用少量数据训练得到非常流畅的对话系统。

论文名称PLATO: Pre-trained Dialogue Generation Model with Discrete Latent Variable

论文地址https://arxiv.org/abs/1910.07931

预训练模型及代码https://github.com/PaddlePaddle/Research/tree/master/NLP/Dialogue-PLATO

1. 引言

研发开放领域(Open-Domain)的对话机器人,使得它能用自然语言与人自由地交流,一直是自然语言处理领域终极目标之一。对话系统的挑战非常多,其中有两点非常重要,一是大规模开放领域多轮对话数据匮乏; 二是对话中涉及常识、领域知识和上下文关联,因此在对话回复时,存在“一对多”的问题。例如下面这段例子

李雷:今天好冷啊,外面风好大。

韩梅梅Bot 可以怎样回复李雷呢?

是啊,天气预报说今天气温骤降10度呢。

好期待下雪啊,这样就可以堆雪人了。

刚在外面走了一会,发型都被吹乱了。

一个对话的上文(Context),往往可以对应多个不同回复(Response)的方向。这些不同的回复随着不同的人,不同的背景和环境可能有所不同,但都是合理的回复。对于这种复杂的一对多模式,神经网络拟合起来往往非常棘手。在学习这样一对多的数据时,会因为模型能力和数据匮乏导致最终学习的效果趋向于平庸,极易产生如“哈哈”,“嗯”这样大家熟知的索然无味的“聊天终结语”。

预训练模型近年来不管在自然语言理解还是在自然语言生成领域都产生了巨大的影响。利用通用语料进行预训练,在目标领域上能用少量的数据得到很好的效果。尽管如此,对话预训练的效果因为上面的原因仍然不能让人满意。为了解决这些问题,百度提出了一个新的对话生成框架 — 带离散隐变量的对话生成预训练模型“柏拉图”(PLATO)。 隐变量较为普遍地在VAE, CVAE等技术中使用, 但在百度的文章中,他们首次提出将离散的隐变量结合Transformer结构,应用到通用对话领域。通过引入离散隐变量,可以对上文与回复之间的“一对多”关系进行有效建模。同时,通过利用大规模的与人人对话类似的语料,包括Reddit和Twitter,进行生成模型的预训练,后续在有限的人人对话语料上进行微调,即可以取得高质量的生成效果。PLATO可以灵活支持多种对话,包括闲聊、知识聊天、对话问答等等。而文章最终公布的成绩中,PLATO在三个公开对话数据集上的测试,都取得了新的最优效果。

2. 模型介绍

在PLATO中,离散隐变量可以有K个取值,它的每个取值,是与一个回复中的意图相对应,或者可以理解为多样化的对话动作(Action)。在PLATO的训练中,有2个任务同步进行,且共享网络参数:回复生成隐变量识别。给定上文和离散隐变量的取值(即确定了回复中的意图),生成任务会尽量最大化目标回复的似然概率。同时,识别任务尽量估计给定上文和目标回复对应的隐变量取值。显然,隐变量的准确识别,可以进一步提升回复生成的质量。

PLATO的网络架构如图1所示,由Transformer Blocks组成。针对多轮对话的输入表示方法,PLATO也进行了独特的设计,每个token的input embedding是由对应的token,role,turn和position embedding相加得到。预训练中同步进行了2个任务 — 回复生成(response generation)和隐变量识别( latent act recognition)。 在回复生成任务中,PLATO借鉴UniLM使用了灵活的注意力机制:对上文进行了双向编码,充分利用和理解上文信息;对回复我们进行了单向解码,适应回复生成的autoregressive特性。在隐变量识别任务中,PLATO使用特殊符号[M]作为输入,收集给定上文和目标回复的信息,用于估计回复意图(即离散隐变量的取值)。

图1 带离散隐变量对话生成预训练的网络架构

PLATO训练使用了三个目标函数(loss function) — negative log-likelihood (NLL) loss,bag-of-words (BOW) loss和response selection (RS) loss,如图1最后一列所示。在文本生成任务中,最常用的是NLL loss,PLATO引入了BOW loss是为了促进离散隐变量的训练。此外,RS可以辅助判断一个回复与上文的相关性。

PLATO的模型由大规模语义预训练模型进行参数初始化,在预训练中,PLATO使用了8.3M Twitter和Reddit对话样本。预训练的PLATO模型以及代码,已经在GitHub上开源(https://github.com/PaddlePaddle/Research/tree/master/NLP/Dialogue-PLATO)。

3. 实验结果及分析

为了验证预训练模型的效果,百度公布的论文在3个公开对话数据集上进行了测试:Persona-Chat,Daily Dialog以及DSTC7-AVSD。Persona-Chat是典型的知识聊天任务:两个人讲述自己信息(persona profiles),并在对话中尽量了解对方;Daily Dialog偏向日常闲聊类型;DSTC7-AVSD是对话式问答,根据视频场景信息,两人进行多轮问答,讨论视频中物体和事件。

在每个数据集上的实验,百度对比了基线方法,以及每个数据集上的SOTA方法。PLATO在Persona-Chat和Daily Dialog上的自动和人工评估结果,如表1所示;PLATO在DSTC7-AVSD上的结果,如表2所示。由这些结果可见,PLATO在各个对话数据上,均超过了当前最优,取得了新的最优效果。

表1 Persona-Chat和Daily Dialog上的自动和人工评估结果

表2 DSTC7-AVSD上的自动评估结果

PLATO也与其他预训练模型进行了对比,在Persona-Chat上的实验结果如表3所示。其中2.2是不使用latent space的对比模型,3.1是完整PLATO模型。通过对比这些结果,可以看出:灵活的注意力机制可以充分利用上文的双向信息(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)。

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

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

表4 PLATO模型生成的回复

4. 总结和未来工作

尽管越来越多的工作证明了随着预训练和大规模语料的引入,自然语言处理领域开启了预训练然后微调的范式,但是在对话模型上,大规模预训练还处于初级阶段,需要继续深入探索。百度提出的隐变量空间预训练模型,可能成为端到端对话系统迈上一个新台阶的关键点之一。据悉,百度也在持续优化当前对话模型,或许在不久的将来,更加强大的对话预训练模型会被陆续披露。

这篇关于百度发布全球首个大规模隐变量对话模型PLATO的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/967524

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

变量与命名

引言         在前两个课时中,我们已经了解了 Python 程序的基本结构,学习了如何正确地使用缩进来组织代码,并且知道了注释的重要性。现在我们将进一步深入到 Python 编程的核心——变量与命名。变量是我们存储数据的主要方式,而合理的命名则有助于提高代码的可读性和可维护性。 变量的概念与使用         在 Python 中,变量是一种用来存储数据值的标识符。创建变量很简单,

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜也要看完,祝大家一臂之力 这份《大模型算法工程师面试题》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言