【综述阅读】Pre-trained Language Models for Text Generation: A Survey

2023-11-19

Pre-trained Language Models for Text Generation: A Survey
中国人民大学 IJCAI 2021
论文链接:https://arxiv.org/pdf/2201.05273.pdf
综述读起来真的很漫长,虽然还有一篇90多页的在等着我QAQ

前言

本文是中国人民大学发表在IJCAI 2021的文本生成综述论文的扩展版本。作者从预训练语言模型应用于文本生成任务的三个挑战出发,即编码输入表征、设计用于文本生成的PLM模型架构、优化PLMs,详细列举了目前每个挑战下的研究进展。

目录

一、背景介绍

文本生成任务的发展脉络:
统计语言模型->深度学习模型(seq2seq)->PLMs范式
在这里插入图片描述

二、预备知识

1. 文本生成 text generation

一段文本可被建模为一系列tokens y = <y1,…,yj,…,yn> 其中每个token都来自一个词典vocabulary V。文本生成任务旨在生成人类认为合理且可读的文本。多数情况下,文本生成以某些输入数据x(如文本,图像,表格,知识库等)为前提,且生成文本期望满足某些语言属性P(如流畅,自然,连贯等),那么文本生成任务可形式化为:
y = fM(x,P)
这里文本生成模型fM特指PLM

2. PLM-based text generation methods

主要从输入数据,模型结构和优化算法三个方面来考量基于PLM的文本生成方法
在这里插入图片描述

三、输入表征编码

1. 非结构化输入

文本表示学习的目的是将输入文本压缩为能够保留核心语义的低维向量。
i. 段落表示学习
 1) 基于层次的方法
  如:DialogBERT
 2) 基于图结构的方法
  段落可能包含重复和矛盾的信息,利于图结构可以解决该问题。例如可以将词或段落直接作为节点,它们之间的相似度作为边。
ii. 文档表示学习
 核心挑战是对句子(段落)语义进行建模并捕捉最关键的语义。
 1) 建模句子间的语义
  以分层方式学习文档表示,先学习句子表示,再学习上下文相关的句子表示。
 2) 抓住最关键的语义
  通过主题模型(topic model)获取关键语义表示。
 3) 表征学习效率问题
  可通过分治法提升效率,长文档分割为短句;局部自注意力机制。
iii. 多语言表示学习
 1) 跨语言表示
  构建一个共享embedding空间,学习多种语言的相同表征。
 2) 多语言表示
  CSR(contrastive sentence ranking)、SAS(sentence aligned substitution)

2. 结构化输入

使用PLM建模结构化数据的挑战:
(1)结构化数据和PLM之间存在语义上的差距,因为PLM通常是在自然语言文本上预训练的;
(2)对输入数据中的结构信息进行编码是不容易的;
(3)需要保持生成的文本对输入的精确性。
i. 弥合语义鸿沟
 1) 线性化结构化数据
  如将知识图谱中的三元组通过实体间的关系转换为一句话
 2) 表示对齐
  将结构化数据表征与PLM的词嵌入在语义空间对齐。
ii. 捕获结构化信息
 1) 整合额外的、与结构化信息相关的训练目标
  a) 重构输入数据的语义结构
  b) 基于结构化信息调整输出文本
 2) 将结构化信息作为输入添加
 3) 使用结构化编码模块
  a) 如StructAdapt
  b) 直观的思想是先用一个结构化编码模块编码结构化信息,然后作为PLMs的输入
iii. 确保文本的准确度
 即生成的文本要尽可能与结构化数据中的内容一致
 1) 添加额外训练目标
 2) 利用复制机制
  Pointer-generator(似乎是将输入中的关键信息复制到输出中)
 3) 将目标信息作为输入添加
  如:Logic2Text

3. 多模态输入

i. 图像标题生成
 1) 如XGPT或者VisualGPT
ii. 视频标签生成
 1) 如VideoBERT和CBT
 2) UniVL
iii. 语音识别

四、用于文本生成的预训练语言模型设计

1. 文本生成的目标可建模为给定输入数据x, 计算输出文本y的条件概率:

在这里插入图片描述

2. 标准模型结构

i. 掩码语言模型
 基于MLM任务预训练的模型,如bert
 局限性:由于存在预训练任务与下游任务不匹配的问题,通常是用掩码语言模型作为文本生成的编码器
ii. 因果语言模型
 与Transformer decoder类似,因果语言模型采用对角掩码矩阵,根据句子中前面所有词预测下一个词的概率。如GPT、CTRL
 局限性:因果语言模型只是从左到右对标记进行编码,因此忽略了输入端的双向信息。此外,语言模型不是专门为序列到序列的生成任务而设计的,因此在实践中,它们在总结和翻译等任务中没有达到很高的性能。
iii. 前缀语言模型
 在输入侧使用双向的编码模式,在输出侧使用从左到右的生成模式。如UniLM、UniLMv2和GLM等
iv. 编码-解码语言模型
 这种应该是目前效果最好的文本生成模型类别,如MASS、ProphetNet、BART、T5

3. 结构扩展

i. 扩展输入嵌入
 1) 改进位置嵌入
 2) 添加辅助信息
ii. 改进注意力机制
 使用多种编码器编码多种类型的输入

五、优化用于文本生成的PLMs

1. Fine-Tuning

i. Vanilla Fine-Tuning 直接在下游文本生成数据集上优化PLMs的损失函数
 该方法在小数据集上容易过拟合
ii. Intermediate Fine-Tuning 加入一个由足够多的带标签的实例组成的中间数据集。该中间数据集可以是来自不同领域的文本生成任务或者来自相同领域的相似NLP任务
 该方法可缓解过拟合现象
iii. Multi-Task Fine-Tuning 通过整合辅助任务来利用跨任务知识提升文本生成任务的性能。同时可以增强PLMs模型的鲁棒性
iv. Parameter-Efficient Fine-Tuning.
 1) Adapter-based Adapter使用两层前馈层和一层非线性层将输入向量先映射成较小的向量然后重新映射回原有维度。微调时固定PLMs的参数,仅微调Adapter的。
 Adapter可以帮助plm有效地捕获一些输入特征,以较低的参数额外成本生成更准确的输出文本。
 2) Freezing-based 固定大部分的PLMs参数,仅更新小部分的参数。如:在机器翻译任务中,更新交叉注意力或者decoder-encoder比更新自注意力更重要。
 3) Distillation-based 知识蒸馏 提取教师模型(teacher model)中的知识作为学生模型(student model)的输出。如:BERT作为教师模型学习生成词序列的逻辑概率,再用Seq2Seq模型作为学生模型。

2. Prompt-tuning

i. 背景在这里插入图片描述
ii. Discrete Prompts
 1) 早期使用人工设计的提示模板,如GPT-2
 2) 现在多数是让模型自动生成提示模板
iii. Continuous Prompts
 使用embedding向量作为提示词
 优点:
 1)放宽提示模板应该是自然语言词的约束;
 2)取消了提示词模板由PLM的参数化的限制。
  如Prefix-tuning

3. Property-tuning

i. Relevance:相关性是指输出文本中传达的主题语义与输入文本高度相关。
 使用多层的cross-attention机制生成文本,如DialoGPT
ii. Faithfulness:指生成的内容应遵守输入文本的语义。需要与事实相符合
  1) 设计网络捕获输入文本中的核心部分
  2) 引入额外的损失函数 如TED
iii. Order-Preservation:指语义单元(词、短语等)在输入和输出文本中的顺序是一致的。该属性在机翻任务中非常重要。

挑战与解决

在这里插入图片描述

1. 数据层面

i. 缺乏足够的训练数据
 1) 迁移学习
 2) 数据增强
  a) 对对话文本进行随机删除或者交换位置
 b) 使用搜索引擎检索文本,扩充数据
 3) 多任务学习
ii. 预训练语料中的数据bias
 PLM通常使用真实世界的数据进行训练,其方式是对训练数据的统计属性进行建模。 因此,它们继承了数据中常见的偏见和刻板印象(比如种族、性别等)。
 1) 简单方法是在生成词嵌入时,交换训练集中性别相关的词;
 2) 遮蔽姓名和代词有助于缓解偏见

2. 模型层面

i. 模型压缩
 1) Quantization 量化 降低参数存储的精度
 2) Pruning 剪枝
 3) 知识蒸馏
ii. 模型增强
 1) 大规模PLMs 如GPT-3
 2) 知识增强PLMs 如 ERNIE 3.0 和 CALM
 3) 高效PLMs

3. 优化层面

i. 满足特定的文本属性
 1) 一致性 text planing
 2) 事实性 the pointer generator
 3) 可控性
ii. 缓解调优的不稳定性
 1) 中间微调
 2) Mixout 策略 dropout的变体
 3) 对比学习

评估指标与资源

1. 评估指标

i. N-gram overLap Metrics
  这类指标在词的粒度度量模型生成文本与ground truth文本之间的匹配程度
 1) BLEU (Bilingual Evaluation Understudy )
  BLEU算法实际上就是在判断两个句子的相似程度.
  BLEU详解 https://zhuanlan.zhihu.com/p/223048748
 2) ROUGE (Recall-Oriented Understudy for Gisting Evaluation)
  NLP评估指标之ROUGE https://zhuanlan.zhihu.com/p/504279252
 3) METEOR (The Metric for Evaluation of Translation with Explicit ORdering)
  NLP基础知识点:METEOR https://blog.csdn.net/qq_39610915/article/details/117090205
 4) ChrF++ (Character n-gram F-score)
  主要在字符级别匹配以考虑语素的重叠
ii. Diversity Metrics
 1) Distinct 衡量文本的多样性,计算方式为不重复的 ngram 数量占总 ngram 数量的比例。
iii. Semantic Similarity Metrics
 将生成文本和ground-truth映射为句子嵌入,从而计算两者的语义相似度。
 1) BERTScore,一种基于预训练的BERT上下文嵌入的语言生成评估指标。BERTSCORE将两个句子的相似度计算为其标记嵌入之间的余弦相似度之和。
 BERTScore评估 https://blog.csdn.net/weixin_43056925/article/details/120940215
iv. Logit-Based Metrics
 从概率的角度评估生成文本的质量
 1) PPL:
在这里插入图片描述

2. 文本生成的相关资源

在这里插入图片描述

应用

1. 机器翻译
2. 摘要生成

i. 文档摘要生成
ii. 对话摘要生成

3. 对话系统
4. 其他

i. 问题生成
ii. 故事生成
iii. 数据2文本生成
iv. 其他等等

总结与未来方向

1. 可控式的生成
2. 优化的探索
3. Language-agnostic PLMs.
4. Ethical Concern.

参考文献

https://blog.csdn.net/CCCCcc0504/article/details/129141072
https://blog.csdn.net/weixin_42953627/article/details/125287963

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【综述阅读】Pre-trained Language Models for Text Generation: A Survey 的相关文章

  • 深度好文:最全的大模型 RAG 技术概览

    本文是对检索增强生成 Retrieval Augmented Generation RAG 技术和算法的全面研究 对各种方法进行了系统性的梳理 涉及了 RAG 流程中的数据拆分 向量化 查询重写 查询路由等等 在做 RAG 的小伙伴一定知道
  • 【EI复现】基于深度强化学习的微能源网能量管理与优化策略研究(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 2 1 有 无策略奖励 2 2 训练结果1
  • 【路径规划】基于A*算法路径规划研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现
  • 问CHAT很繁琐的问题会不会有答案呢?

    问CHAT 什么已有的基于极值理论的极端温度重现期主要针对极端高温事件 对极端低温事件研究较少 CHAT 回复 为这主要可能是由于以下几个原因 1 气候变化与全球变暖 当前 全球变暖和气候变化的问题备受关注 这导致科研者更加关注极端高温事件
  • 利用CHAT上传文件的操作

    问CHAT autox js ui 上传框 CHAT回复 上传文件的操作如果是在应用界面中的话 由于Android对于文件权限的限制 你可能不能直接模拟点击选择文件 一般来说有两种常见的解决方案 一种是使用intent来模拟发送一个文件路径
  • 扬帆证券:三只松鼠去年扣非净利预增超1.4倍

    在 高端性价比 战略驱动下 三只松鼠 300783 重拾增势 1月15日晚间 三只松鼠发布成绩预告 预计2023年度净赢利为2亿元至2 2亿元 同比增加54 97 至70 47 扣非后净赢利为1亿元至1 1亿元 同比增速达146 9 至17
  • 活动日程&直播预约|智谱AI技术开放日 Zhipu DevDay

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入 直播预约通道 关于AI TIME AI TIME源起于2019年 旨在发扬科学思辨精神 邀请各界人士对人工智能理论 算法和场景应用的本质问题进行探索 加强思想碰撞 链接全球AI学
  • 明日 15:00 | NeurIPS 2023 Spotlight 论文

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入 哔哩哔哩直播通道 扫码关注AITIME哔哩哔哩官方账号预约直播 1月17日 15 00 16 00 讲者介绍 黄若孜 腾讯AI LAB游戏AI研究员 2020年复旦大学硕士毕业后
  • 无人机视角、多模态、模型剪枝、国产AI芯片部署

    无人机视角 多模态 模型剪枝 国产AI芯片部署是当前无人机技术领域的重要研究方向 其原理和应用价值在以下几个方面进行详细讲述 一 无人机视角 无人机视角是指在无人机上搭载摄像头等设备 通过航拍图像获取环境信息 并进行图像处理和分析 这种技术
  • 毕业设计:基于卷积神经网络的图像分类系统 python人工智能

    目录 前言 设计思路 一 课题背景与意义 二 算法理论原理 2 1 卷积神经网络 2 2 SVM算法 三 检测的实现 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力
  • 性能大减80%,英伟达芯片在华“遇冷”,我方霸气回应:不强求

    中国这么大一块市场 谁看了不眼馋 在科技实力大于一切的今天 高端芯片的重要性不言而喻 作为半导体产业发展过程中不可或缺的一环 芯片技术也一直是我国技术发展的一大 心病 在美西方等国的联手压制下 我国芯片技术发展处处受阻 至今也未能在高端芯片
  • 强烈推荐收藏!LlamaIndex 官方发布高清大图,纵览高级 RAG技术

    近日 Llamaindex 官方博客重磅发布了一篇博文 A Cheat Sheet and Some Recipes For Building Advanced RAG 通过一张图给开发者总结了当下主流的高级RAG技术 帮助应对复杂的生产场
  • 做大模型也有1年多了,聊聊这段时间的感悟!

    自ChatGPT问世以来 做大模型也有1年多了 今天给大家分享这一年后的感悟 过去一年应该是AI圈最万千瞩目的一年了 大家对大模型 OpenAI ChatGPT AI Native Agent这些词投入了太多的关注 以至于有一年的时间好像经
  • 2023最新pytorch安装(超详细版)

    前言 一 判断是否有Nvidia 英伟达显卡 二 CPU版 2 1 安装Anaconda 2 2 创建虚拟环境 2 3安装pytorch 2 4 验证pytorch是否安装成功 三 GPU版 3 1 安装Anaconda 3 2 创建虚拟环
  • AI帮助终结全球饥饿问题

    全球饥饿问题是牵动人心的头等大事 5月28日是 世界饥饿日 这一问题更值得关注 让人人都能吃饱的想法不仅令人向往 而且很快就会变成现实 与大多数新事物引进一样 对于在控制世界粮食供应这样复杂的任务中AI究竟应该发挥多大的作用 人们还踟蹰不前
  • CorelDRAW2024官方中文版重磅发布更新

    35年专注于矢量设计始于1988年并不断推陈出新 致力为全球设计工作者提供更高效的设计工具 CorelDRAW 滋养并见证了一代设计师的成长 在最短的时间内交付作品 CorelDRAW的智能高效会让你一见钟情 CorelDRAW 全称 Co
  • 国产化率100%,北斗导航单日定位4500亿次,外媒:GPS将被淘汰

    追赶30年的技术差距 国产卫星导航系统 北斗 开始扬眉吐气 数据显示 北斗导航目前单日定位量达4500亿次 已经获得100多个国家的合作意向 甚至国际民航也摒弃以往 独宠 GPS的惯例 将北斗纳入参考标准 对此 有媒体直言 GPS多年来的技
  • 深度学习(5)--Keras实战

    一 Keras基础概念 Keras是深度学习中的一个神经网络框架 是一个高级神经网络API 用Python编写 可以在TensorFlow CNTK或Theano之上运行 Keras优点 1 允许简单快速的原型设计 用户友好性 模块化和可扩
  • 实力认证!鼎捷软件荣膺“领军企业”和“创新产品”两大奖项

    近日 由中国科学院软件研究所 中科软科技股份有限公司联合主办的 2023中国软件技术大会 于北京成功举办 本届大会以 大模型驱动下的软件变革 为主题 数十位来自知名互联网公司和软件巨头企业的技术大咖 不同领域行业专家 畅销书作者等分享嘉宾
  • Making Large Language Models Perform Better in Knowledge Graph Completion论文阅读

    文章目录 摘要 1 问题的提出 引出当前研究的不足与问题 KGC方法 LLM幻觉现象 解决方案 2 数据集和模型构建

随机推荐

  • 消息转换器统一对null值处理

    import java nio charset Charset import java util ArrayList import java util List import org springframework context anno
  • STM32 CAN通信理解(是半双工还是全双工?)

    STM32F429 CAN通信 CAN 是控制器局域网络 Controller Area Network 的简称 它是由研发和生产汽车电子产品著称的德国 BOSCH 公司开发的 并最终成为国际标准 ISO11519 是国际上应用最广泛的现场
  • 数据结构--二叉树的二叉链表实现

    1 二叉树的二叉链表示意图 二叉链表的每个结点由三个域组成 数据域 左指针域和右指针域 左右指针分别用来保存左右孩子结点的存储地址 2 二叉链表实现二叉树 2 1 头文件及其定义 BTNode h pragma once typedef c
  • 利用umi实现前端自定义打包

    背景 目前项目有这么一个需求 一套前端代码里面有两个项目 这两个项目一个是设备页面 一个是平台页面 因为这两个项目有共同的页面和代码 所有就写在一个仓库里面 出现的问题是 打包项目A并且也会随带的项目B的代码 这就会造成打包体积的增大 打包
  • java bean的使用

    这是我最终尝试成功的项目页面截图 网页效果 注意的点 1 Dog类 bean类 必须拥有一个无参构造器 这和spring里的bean的设计是一个理念 spring借鉴于javabean 2 通过getXxx和setXxx方法来访问成员变量
  • SpringBoot系列(五):SpringBoot整合Mybatis实现多表关联查询

    摘要 本文我们将继续分享介绍Spring Boot在整合Mybatis开发企业级应用时其他典型的业务场景 即Mybatis是如何实现多表关联查询时将查询结果集与对象进行映射的 主要的内容包含 一对一的表关联 和 一对多 多对多的表关联 查询
  • python语言合法命名-Python中的标识符命名方法及使用注意事项

    Python中的标识符是由用户定义的名称 用来指定变量名称 函数名称 类名称 模块等名称 1 标识符的命名规则 1 不能使用Python的保留字 关键字 来命名标识符 2 Python标识符合法的字符包括 26个大小写字母 a z A Z
  • Linux中select poll和epoll的区别

    select的本质是采用32个整数的32位 即32 32 1024来标识 fd值为1 1024 当fd的值超过1024限制时 就必须修改FD SETSIZE的大小 这个时候就可以标识32 max值范围的fd 对于单进程多线程 每个线程处理多
  • STM32笔记:使用SysTick测量程序的运行时间

    本实验用来测量延时函数 如下 的运行时间 void Delay IO u32 nCount for nCount 0 nCount SysTick c include SysTick h IO u32 TimingDelay 0 void
  • 自己的第一个程序 — QT聊天软件 小感

    其实当初师兄给我这个任务的时候还是在2010年的11月份 那个时候刚到项目上的我超级自信 总认为只要自己想做 稍微看下书 动下手就可以写出来了 所以当师兄问我多久可以做好的时候 我开始满怀信心的说一个星期 后来细想下有点悬 说还是2个星期吧
  • VUE props 实现原理(源码解析)

    VUE props 实现原理 源码解析 前言 我们在使用组件的时候 都会给组件传入一些属性 但是在使用时 却只是关注了它传递数据的功能 没有想过它是怎样的一个原理 具体是怎么实现的 其实我们平时写出来的组件 本质上就是一个template模
  • 屏蔽SSH服务的弱密码算法

    前言 等保测试 1 目标主机SSH服务存在RC4 CBC或None弱加密算法 2 如果配置为CBC模式的话 SSH没有正确地处理分组密码算法加密的SSH会话中所出现的错误 解决办法 仅保留CTR加密算法 参考文章 1 编辑 ssh 配置文件
  • Windows 域基础环境搭建-Win_Server_2003

    文章目录 1 Windows 域基础环境搭建 Win Server 2003 1 1 Windows域简介 1 1 1 Windows域作用 1 1 2 Windows计算机查看所在域方式 1 1 3 域控 DC 1 2 Windows域环
  • 如何用Selenium做自动化测试

    我们做自动化测试如果想提高一下自己的软实力 我建议还是学着多写写脚本 这样能锻炼自己的编程能力 让我们以开放测试的思维去测试产品 而不是为了测试而测试 那样我觉得没什么意义 当然这样不是说其他不写脚本 简单的自动化没意义 本人不反对 认真对
  • 【AI之路】使用huggingface_hub优雅解决huggingface大模型下载问题

    文章目录 前言 一 Hugging face是什么 二 准备工作 三 下载整个仓库或单个大模型文件 1 下载整个仓库 2 下载单个大模型文件 总结 附录 前言 Hugging face 资源很不错 可是国内下载速度很慢 动则GB的大模型 下
  • C/C++ algorithm头文件的max()、min()、abs()和math头文件的fabs()

    对于一般的数据类型 整型和浮点型 我们经常要得到最大值 最小值和绝对值 本文章利用一些头文件的函数 进行展示 函数的参数及使用在程序代码及注释中体现 代码如下 Project 最值及绝对值 Date 2018 07 31 Author Fr
  • CTP 学习笔记

    CTP 学习笔记 前言 综合交易平台 Comprehensive Transaction Platform CTP 是专门为期货公司开发的一套期货经纪业务管理系统 由交易 风险控制和结算三大系统组成 前后研究了两个多星期 CTP 各种查资料
  • 高斯混合模型(GMM)推导

    数据表示如下 X X X 观测数据 X x 1
  • Client-Server问题

    1 实验内容与要求 需要创建客户Client和服务器Server两个进程 它们通过管道进行通信 Client进程派生3个生产者线程 一个管道线程 共享一个20个slots的缓冲区 每个生产者线程随机产生一个数据 打印出来自己的id 进程 线
  • 【综述阅读】Pre-trained Language Models for Text Generation: A Survey

    Pre trained Language Models for Text Generation A Survey 中国人民大学 IJCAI 2021 论文链接 https arxiv org pdf 2201 05273 pdf 综述读起来