Pretraining Methods for Dialog Context Representation Learning

前言

Abstract

本文考察了各种用于学习对话上下文表示的无监督预训练目标, 提出了两种新颖的对话上下文编码器预训练方法,并研究了四种方法。使用MultiWoz数据集对每个预训练目标进行了微调,并在一组下游对话任务上进行了评估,并观察到了出色的性能改进。 进一步的评估表明,我们的预训练目标不仅可以带来更好的性能,而且可以带来更好的收敛性,并且模型需要的数据更少,并且具有更好的领域通用性。

Introduction

目前预训练方法仍处在起步阶段,我们仍然不能完全了解他们的性质。大多数方法都是基于语言模型的,给一个句子,预测当前词,下一个词或者被mask的词。如Word2Vec,Glove,ELMO等。这些方法将自然语言看作是word token的流,需要复杂的模型利用大规模的语料库和庞杂的计算来发现更高级别的依赖关系。BERT模型也是基于语言模型,但是加入了句子对级别的信息,预测两句话是否是连续的。这种方法在预训练时利用了语句之间的关系。但是,在对话上下文建模这种存在多轮的依赖关系的任务上还并没有行之有效的预训练方法,于是本文在这个方面做了一些尝试。本文目的就是研究几个预训练话语级语言表示的方法,本文迈出了建立对话系统预训练方法系统分析框架的第一步。

评估预训练方法的四个假设:

  • 预训练能够在整个可用数据集上进行微调,且提升下游任务
  • 预训练结果需要更好的收敛
  • 预训练将在有限的数据下表现出色
  • 预训练有助于领域通用化

对话与其他文本的区别:

  • 对话必须是语句之间连贯的,并在多轮上达到一个交际的目的。
  • 对话在本质上是互动的,说话者之间有反馈,而且说话者轮流进行发言。

本文的主要贡献:

  • 针对对话上下文表示研究四个不同的预训练方法,包括两个新的方法
  • 在四个下游任务上,综合分析预训练对对话上下文表示的影响

Related Work

这项工作与NLP系统的辅助多任务学习和带预训练的迁移学习的研究紧密相关。

Training with Auxiliary Tasks

结合有用的辅助损失函数来补充主要目标已被证明可以改善深度神经网络模型的性能。一些辅助损失函数专门设计来提高特殊任务的性能。在一些案例中,辅助函数被用来提升模型的泛化能力。经过适当的辅助任务预训练后,模型可以捕获更长的依赖关系。

Transfer Learning with Pretraining

基本过程通常是首先在无监督目标的海量文本数据上预训练功能强大的神经编码器。 第二步是使用更小的域内数据集对特定的下游任务微调此预训练模型。ELMo使用BiLSTM网络来训练双向语言模型来同时预测前一个词和后一个词。OpenAI的GPT使用Transformer网络和BERT进行了两个目标的同时训练:掩蔽语言模型和下一句预测。每个模型均已在GLUE基准上展示了最新的结果。这些利用大规模预训练的模型优于仅使用域内数据的系统。用于学习从输入文本中提取话语级别信息的预训练方法的工作很少。BERT中的下一句话预测损失是朝着这个方向迈出的一步。尽管这些预训练方法擅长于对顺序文本进行建模,但它们并未明确考虑对话的独特话语级功能。因此,我们在研究预训练目标时采取了第一步,以提取对话上下文的更好的话语级表示形式。

Pretraining Objectives

本文定义了一种强有力的表示形式,它可以捕获整个对话历史中的话语级信息以及构成该历史的话语中的话语级信息,在本文的定义下,当表示允许模型在各种下游任务上表现更好时,表示就足够通用了。

  • 一个任意T轮对话(对话历史)的表示符号: c = [ u 1 , . . . , u t ] c = [u_1,...,u_t] c=[u1,...,ut] u i u_i ui是一个话语。
  • 对话回复 R = r 1 , . . . , r M R = {r_1,...,r_M} R=r1,...,rM

Next-Utterance Retrieval(NUR-检索下一句话)

NUR的目的就是在 k k k个候选回复中选择正确的下一句话。对于此任务,本文使用分层编码器来生成对话上下文的表示,方法是首先通过双向长期短期记忆网络(biLSTM)独立运行每个话语,然后使用所得的话语表示来生成整个对话上下文的表示。给定 [ u 1 , . . . u T − 1 ] [u_1,... u_{T-1}] [u1...uT1],NUR的任务是从R中选择正确的下一个话语 u T u_T uT。损失运算公式如下:

u i ^ = f u ( u i ) , i ∈ [ 1 , T − 1 ] [ h 1 , . . . h T − 1 ] = f c ( u 1 , . . . u ^ T − 1 ) r g t = f r ( u T ) r j = f r ( r j ) , r j ∼ p n ( r ) a g t = ( h T − 1 ) T r g t a j = ( h T − 1 ) T r j \hat{u_i}=f_u(u_i), i\in [1,T-1]\\ [h_1,...h_{T-1}]=f_c(u_1,...\hat{u}_{T-1})\\ r_{gt} = f_r(u_T)\\ r_{j} = f_r(r_j),r_j\sim p_n(r)\\ a_{gt} = (h_{T-1})^{T}r_{gt}\\ a_{j} = (h_{T-1})^{T}r_{j} ui^=fu(ui),i[1,T1][h1,...hT1]=fc(u1,...u^

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/439684.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SpringBoot+Vue+MySQL的在线学习交流平台

系统展示 用户前台界面 管理员后台界面 系统背景 随着互联网技术的飞速发展,在线学习已成为现代教育的重要组成部分。传统的面对面教学方式已无法满足广大学习者的需求,特别是在时间、地点上受限的学习者。因此,构建一个基于SpringBoot、Vue.…

2024年最新大模型LLM学习路径全解析!看完你就是LLM大师

ChatGPT的出现在全球掀起了AI大模型的浪潮,2023年可以被称为AI元年,AI大模型以一种野蛮的方式,闯入你我的生活之中。 从问答对话到辅助编程,从图画解析到自主创作,AI所展现出来的能力,超出了多数人的预料&…

华为eNSP:端口隔离

一,什么是端口隔离 端口隔离是一种网络配置技术,用于将不同的网络设备或用户隔离在不同的虚拟局域网(VLAN)中,以实现网络流量的隔离和安全性提升。通过在交换机或路由器上配置端口隔离,可以将连接到同一设…

Java多线程(2)—线程创建

Java多线程(2)—线程创建 一、线程创建简介 在Java中,创建线程可以通过两种主要方式:继承 Thread​ 类、实现 Runnable​ 、实现Callable ​接口和线程池。 ​ ‍ 二、创建方式 2.1 继承 Thread 类 示例1 ♠①:创建一个类继承 Thread…

【工程测试技术】第6章 信号处理初步,频谱分析,相关系数

目录 6.1 数字信号处理的基本步骤 6.2 离散信号及其频谱分析 6.2.1 概述 6.2.2 时域采样、混叠和采样定理 6.2.3 量化和量化误差 6.2.4 截断、泄漏和窗函数 6.2.5 频域采样、时域周期延拓和栅栏效应 6.2.6 频率分辨率、整周期截断 6.3 相关分析及其应用 6.3.1 两…

前端学习第二天笔记 CSS选择 盒子模型 浮动 定位 CSS3新特性 动画 媒体查询 精灵图雪碧图 字体图标

CSS学习 CSS选择器全局选择器元素选择器类选择器ID选择器合并选择器 选择器的优先级字体属性背景属性文本属性表格属性表格边框折叠边框表格文字对齐表格填充表格颜色 关系选择器后代选择器子代选择器相邻兄弟选择器通用兄弟选择器 CSS盒子模型弹性盒子模型父元素上的属性flex-…

STM32三种启动模式:【详细讲解】

STM32在上电后,从那里启动是由BOOT0和BOOT1引脚的电平决定的,如下表: BOOT模式选引脚启动模式BOOT0BOOT1X0主Flash启动01系统存储器启动11内置SRAM启动 BOOT 引脚的值在重置后 SYSCLK 的第四个上升沿时被锁定。在重置后,由用户决定是如何设…

基于springboot vue3 在线考试系统设计与实现 源码数据库 文档

博主介绍:专注于Java(springboot ssm springcloud等开发框架) vue .net php phython node.js uniapp小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作☆☆☆ 精彩专栏推荐订阅☆☆☆☆…

基于元神操作系统实现NTFS文件操作(六)

1. 背景 本文主要介绍$Root元文件属性的解析。先介绍元文件各属性的属性体构成,然后结合读取到的元文件内容,对测试磁盘中目标分区的根目录进行展示。 2. $Root元文件属性的解析 使用每个属性头偏移0x04-0x07处的值可以从第一个属性开始依次定位下一个…

一款基于 Java 的可视化 HTTP API 接口快速开发框架,干掉 CRUD,效率爆炸(带私活源码)

平常我们经常需要编写 API,但其实常常只是一些简单的增删改查,写这些代码非常枯燥无趣。 今天给大家带来的是一款基于 Java 的可视化 HTTP API 接口快速开发框架,通过 UI 界面编写接口,无需定义 Controller、Service、Dao 等 Jav…

在线教育的未来:SpringBoot技术实现

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理微服务在线教育系统的相关信息成为必然。开…

【可答疑】基于51单片机的PWM控制智能台灯设计(含仿真、代码、报告、演示视频等)

✨哈喽大家好,这里是每天一杯冰美式oh,985电子本硕,大厂嵌入式在职0.3年,业余时间做做单片机小项目,有需要也可以提供就业指导(免费)~ 🐱‍🐉这是51单片机毕业设计100篇…

什么软件能指定usb端口禁用?五款电脑USB端口禁用软件!(热门分享)

什么软件能指定usb端口禁用? USB端口,作为电脑与外部设备连接的重要接口,其安全性日益受到企业的重视。 为了有效防止数据泄露和未经授权的设备接入,指定USB端口禁用成为了许多企业的迫切需求。 本文,将介绍五款热门…

MySQL 用户管理

一.用户信息 MySQL中的用户,都存储在系统数据库mysql的user表中。 host: 表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆user: 用户名authentication_string: 用户密码通过password函…

Python | Leetcode Python题解之第457题环形数组是否存在循环

题目: 题解: class Solution:def circularArrayLoop(self, nums: List[int]) -> bool:n len(nums)def next(cur: int) -> int:return (cur nums[cur]) % n # 保证返回值在 [0,n) 中for i, num in enumerate(nums):if num 0:continueslow, fas…

中小企业做网站需要考虑哪些因素?

中小企业在建设网站时,需要考虑的因素有很多。以下是一些主要考虑因素的介绍: 明确建站目的:中小企业需要明确自己建立网站的目的。是为了展示企业形象、推广产品,还是提供客户服务?不同的目的将决定网站的设计和功能…

MOELoRA —— 多任务医学应用中的参数高效微调方法

人工智能咨询培训老师叶梓 转载标明出处 在医疗场景中,LLMs可以应用于多种不同的任务,如医生推荐、诊断预测、药物推荐、医学实体识别、临床报告生成等。这些任务的输入和输出差异很大,给统一模型的微调带来了挑战。而且LLMs的参数众多&…

微信朋友圈实况照片需要注意隐私

微信朋友圈现在可以发实况了。 一直不怎么发朋友圈,就这几天发现朋友圈可以发实况照片了。 实况照片可让用户在声音和动作丰富的互动体验中捕捉美好瞬间,为传统的静态照片增添活力感。 当实况照片可用时,“相机” App 可在用户拍照之前和之…

服务器数据恢复—raid磁盘故障导致数据库文件损坏的数据恢复案例

服务器存储数据恢复环境&故障: 存储中有一组由3块SAS硬盘组建的raid。上层win server操作系统层面划分了3个分区,数据库存放在D分区,备份存放在E分区。 RAID中一块硬盘的指示灯亮红色,D分区无法识别;E分区可识别&a…

Pytorch基础:网络层

文章目录 1.卷积层-Convolution Layers1.1 1d/2d/3d卷积1.2卷积--nn.Conv2d1.3转置卷积(实现上采样) 2.池化层3.线性层—Linear Layer4.激活函数层—Activate Layer 1.卷积层-Convolution Layers 卷积运算:卷积运算在输入信号(图像)上滑动,相应位置上进行乘加. 卷积核:又称过滤…