BART model

BART

Abstract

一种带去噪的自编码seq2seq预训练模型。
训练方法:

  • 通过一种随机噪声函数破坏原始文本。
  • 通过学习一种模型来重构原始文本。
    评估了一些加噪的方法:
  • 随机打乱原始文本的顺序。
  • 通过用mask标记来替换原始文本的填充方式

Relevant knowledge

Auto regressive

仅根据过去的预测信息来预测未来的信息。

Cross attention

self-attention是自己与自己进行attention操作,cross-attention是在两个不同的输入序列之间进行attention操作。将两个相同维度的嵌入序列不对称地组合在一起,而其中一个序列用作查询Q输入,而另一个序列用作键K和值V输入。

XLNet

Motivation: 能否融合auto-regressive LM和auto-encoder LM两者的优点。就是说如果站在自auto-regressive LM的角度,如何引入和双向语言模型等价的效果;如果站在auto-encoder LM的角度看,它本身是融入双向语言模型的,如何抛掉表面的那个[Mask]标记,让预训练和Fine-tuning保持一致。

在BERT基础上:

  • 不像Bert那种带Mask符号的Denoising-autoencoder的模式,而是采用auto-regressive LM的模式。为了实现类似于BERT的同时了解上下文的目标,在预训练阶段,引入Permutation Language Model的训练目标。

RoBERTa

在原始Bert模型的基础上,RoBERTa通过实验,证明了如下几点:

  1. 进一步增加预训练数据数量,能够改善模型效果;
  2. 延长预训练时间或增加预训练步数,能够改善模型效果;
  3. 急剧放大预训练的每个Batch的Batch Size,能够明显改善模型效果;
  4. 拿掉预训练任务中的Next Sentence Prediction子任务,它不必要存在;
  5. 输入文本的动态Masking策略有帮助;

Related Dataset

QA

CNN/DailyMail

填空式阅读理解任务,该任务可以描述为:给定一段文章片段与一个问题,要求机器根据文章片段与问题来推理出合理的答案, 且答案往往是文章片段的某个词。

本数据集就是以CNN 和Daily Mail的报刊新闻为文章基础的。数据集问题的来源是在摘要中抹掉(mask)一些entity词,那么就生成了一个类似于句子填词,或者说是完形填空的问题。QA模型训练的目标就是完成这个完形填空。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wTmBZ4Wl-1669619568608)(C:\Users\Liu\Desktop\Learning\研究生\选课\神经网络与深度学习\预训练模型\笔记\image-20221124155436933.png)]

SQuAD

抽取式阅读理解任务,该任务可以描述为:给定一段文章片段,给定一个问题,要求机器根据该问题从文章片段中找出一个连续的片段作为答案。

v1.1

该数据集包含10万个(问题,原文,答案)的三元组,原文来自于536篇维基百科文章。

对于每个段落,众包工人需要基于段落的内容完成最多5个问答,问题必须以文本形式写出来,答案必须在段落中被高亮标记出来。众包工人被鼓励用他们自己的词汇来提问,而不是直接复制段落中的词汇。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UuZA89Cg-1669619568609)(C:\Users\Liu\Desktop\Learning\研究生\截图\46404e613551466b96da2b88dea10f61.png)]

v2

对于抽取式阅读理解(extractive reading comprehension),有些问题是无法在文档中找到答案的。SQuAD v2.0在v1.1的基础上,通过众包,增加了53,775条看起来和可回答的问题像,但是实际上不可回答的问题。这对相应的阅读理解系统提出了进一步的要求:判断问题是否是当前文档可回答的。

评价指标

EM(Exact Match )和F1值是用于SQuAD的主要指标。

EM:

Exact Match 是问答系统的一种常见的评价标准,它用来评价预测中匹配到正确答案(ground truth answers)的百分比。

F1:

T:真,F:假,P:阳性,N:阴性

Precision=TP/(TP+FP)

Recall=TP/(TP+FN)

精确率越高越好,召回率越高越好。
F 1 = 2 1  Precision  + 1  Recall  F 1 = 2  Precision  ∗  Recall   Precision  +  Recall  \begin{aligned} &F 1=\frac{2}{\frac{1}{\text { Precision }}+\frac{1}{\text { Recall }}} \\ &F 1=\frac{2 \text { Precision } * \text { Recall }}{\text { Precision }+\text { Recall }} \end{aligned} F1= Precision 1+ Recall 12F1= Precision + Recall 2 Precision  Recall 

Summarization

XSum

一个生成式摘要的新闻摘要数据集。

GULE

GLUE数据集包含九项英文的自然语言理解任务,是该领域学术论文的通用benchmark数据集。其中问答自然语言推断数据集(QNLI)由SQuAD数据集转化而来,包含10万条由问题和维基百科文本构成的句子对,要求判断问题和句子是否蕴含。适用于自然语言推断任务。

CoLA

单句子分类任务,语料来自语言理论的书籍和期刊,每个句子被标注为是否合乎语法的单词序列。本任务是一个二分类任务,标签共两个,分别是0和1,其中0表示不合乎语法,1表示合乎语法。

样本个数:训练集8, 551个,开发集1, 043个,测试集1, 063个。

任务:可接受程度,合乎语法与不合乎语法二分类。

评价准则:Matthews correlation coefficient。

SST-2

SST-2(The Stanford Sentiment Treebank,斯坦福情感树库),单句子分类任务,包含电影评论中的句子和它们情感的人类注释。这项任务是给定句子的情感,类别分为两类正面情感(positive,样本标签对应为1)和负面情感(negative,样本标签对应为0),并且只用句子级别的标签。也就是,本任务也是一个二分类任务,针对句子级别,分为正面和负面情感。

样本个数:训练集67, 350个,开发集873个,测试集1, 821个。

任务:,正面情感和负面情感二分类。

评价准则:accuracy。

MRPC

MRPC(The Microsoft Research Paraphrase Corpus,微软研究院释义语料库),相似性和释义任务,是从在线新闻源中自动抽取句子对语料库,并人工注释句子对中的句子是否在语义上等效。类别并不平衡,其中68%的正样本,所以遵循常规的做法,报告准确率(accuracy)和F1值。

样本个数:训练集3, 668个,开发集408个,测试集1, 725个。

任务:是否释义二分类,是释义,不是释义两类。

评价准则:准确率(accuracy)和F1值。

STSB

STSB(The Semantic Textual Similarity Benchmark,语义文本相似性基准测试),相似性和释义任务,是从新闻标题、视频标题、图像标题以及自然语言推断数据中提取的句子对的集合,每对都是由人类注释的,其相似性评分为0-5(大于等于0且小于等于5的浮点数,原始paper里写的是1-5,可能是作者失误)。任务就是预测这些相似性得分,本质上是一个回归问题,但是依然可以用分类的方法,可以归类为句子对的文本五分类任务。

样本个数:训练集5, 749个,开发集1, 379个,测试集1, 377个。

任务:回归任务,预测为1-5之间的相似性得分的浮点数。但是依然可以使用分类的方法,作为五分类。

评价准则:Pearson and Spearman correlation coefficients。

QQP

QQP(The Quora Question Pairs, Quora问题对数集),相似性和释义任务,是社区问答网站Quora中问题对的集合。任务是确定一对问题在语义上是否等效。与MRPC一样,QQP也是正负样本不均衡的,不同是的QQP负样本占63%,正样本是37%,所以我们也是报告准确率和F1值。我们使用标准测试集,为此我们从作者那里获得了专用标签。我们观察到测试集与训练集分布不同。

样本个数:训练集363, 870个,开发集40, 431个,测试集390, 965个。

任务:判定句子对是否等效,等效、不等效两种情况,二分类任务。

评价准则:准确率(accuracy)和F1值。

MNLI

MNLI(The Multi-Genre Natural Language Inference Corpus, 多类型自然语言推理数据库),自然语言推断任务,是通过众包方式对句子对进行文本蕴含标注的集合。给定前提(premise)语句和假设(hypothesis)语句,任务是预测前提语句是否包含假设(蕴含, entailment),与假设矛盾(矛盾,contradiction)或者两者都不(中立,neutral)。前提语句是从数十种不同来源收集的,包括转录的语音,小说和政府报告。

样本个数:训练集392, 702个,开发集dev-matched 9, 815个,开发集dev-mismatched9, 832个,测试集test-matched 9, 796个,测试集test-dismatched9, 847个。因为MNLI是集合了许多不同领域风格的文本,所以又分为了matched和mismatched两个版本的数据集,matched指的是训练集和测试集的数据来源一致,mismached指的是训练集和测试集来源不一致。

任务:句子对,一个前提,一个是假设。前提和假设的关系有三种情况:蕴含(entailment),矛盾(contradiction),中立(neutral)。句子对三分类问题。

评价准则:matched accuracy/mismatched accuracy。

QNLI

QNLI(Qusetion-answering NLI,问答自然语言推断),自然语言推断任务。QNLI是从另一个数据集The Stanford Question Answering Dataset(斯坦福问答数据集, SQuAD 1.0)[3]转换而来的。SQuAD 1.0是有一个问题-段落对组成的问答数据集,其中段落来自维基百科,段落中的一个句子包含问题的答案。这里可以看到有个要素,来自维基百科的段落,问题,段落中的一个句子包含问题的答案。通过将问题和上下文(即维基百科段落)中的每一句话进行组合,并过滤掉词汇重叠比较低的句子对就得到了QNLI中的句子对。相比原始SQuAD任务,消除了模型选择准确答案的要求;也消除了简化的假设,即答案适中在输入中并且词汇重叠是可靠的提示。

样本个数:训练集104, 743个,开发集5, 463个,测试集5, 461个。

任务:判断问题(question)和句子(sentence,维基百科段落中的一句)是否蕴含,蕴含和不蕴含,二分类。

评价准则:准确率(accuracy)。

RTE

RTE(The Recognizing Textual Entailment datasets,识别文本蕴含数据集),自然语言推断任务,它是将一系列的年度文本蕴含挑战赛的数据集进行整合合并而来的,包含RTE1[4],RTE2,RTE3[5],RTE5等,这些数据样本都从新闻和维基百科构建而来。将这些所有数据转换为二分类,对于三分类的数据,为了保持一致性,将中立(neutral)和矛盾(contradiction)转换为不蕴含(not entailment)。

样本个数:训练集2, 491个,开发集277个,测试集3, 000个。

任务:判断句子对是否蕴含,句子1和句子2是否互为蕴含,二分类任务。

评价准则:准确率(accuracy)。

WNLI

WNLI(Winograd NLI,Winograd自然语言推断),自然语言推断任务,数据集来自于竞赛数据的转换。Winograd Schema Challenge[6],该竞赛是一项阅读理解任务,其中系统必须读一个带有代词的句子,并从列表中找到代词的指代对象。这些样本都是都是手动创建的,以挫败简单的统计方法:每个样本都取决于句子中单个单词或短语提供的上下文信息。为了将问题转换成句子对分类,方法是通过用每个可能的列表中的每个可能的指代去替换原始句子中的代词。任务是预测两个句子对是否有关(蕴含、不蕴含)。训练集两个类别是均衡的,测试集是不均衡的,65%是不蕴含。

样本个数:训练集635个,开发集71个,测试集146个。

任务:判断句子对是否相关,蕴含和不蕴含,二分类任务。

评价准则:准确率(accuracy)。

Model

模型结构

  • 使用GeLUs激活函数取代ReLU
  • 参数初始化服从 N ( 0 , 0.02 ) \mathcal{N}(0,0.02) N(0,0.02)

与BERT的区别

  • 在每层Decoder的隐藏层后额外执行cross-attention。
  • BART不会在单词预测中使用额外的前馈神经网络。

使用重构损失对模型进行优化:decoder输出与原始文档之间的交叉熵

使用的noising方法:

  • Token Masking:随机采用与掩码。
  • Token Deletion:从输入中随机删除tokens。
  • Text Infilling:根据Poisson分布随机抽取span长度,然后进行采样,然后用mask进行掩盖。
  • Sentence Permutation:随机打乱句子的顺序。
  • Document Rotation:随机选择一个token,然后根据这个token旋转句子。

不同noising方法的作用

方法 介绍 作用
Token Masking 随机对token进行采样并且用mask进行替换 推断单个token的能力
Token Deletion 随机从输入数据中删除掉token 推断单个token以及该token位置的能力
Token Infilling 采样出一系列span,每个span都用一个mask进行替换 推断一段span对应多少token的能力
Sentence Permutation 将一个文档在句子级别打乱顺序 推理句子前后关系的能力
Document Rotation 随机选择一个token,并旋转文档,使文档以该token作为开始 推理找到Document开头的能力

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-flGymAbJ-1669619568609)(C:\Users\Liu\Desktop\Learning\研究生\选课\强化学习\单智能体\image-20221116143311983.png)]

Fine-tuning BART

  • sequence classification Tasks
  • Token Classification Tasks
  • Sequence Generation Tasks
  • Machine Translation

Comparing Pre-trainning Objectives

使用base-size models(6个encoder和decoder)。都是将模型在不同书籍和WiKipedia数据上进行1M步训练。

comparsion objectives

  • Language model:简单的GPT模型,训练一个从左到右的Transformer语言模型。
  • Permuted Language Model:基于XLNet。
  • Masked Language Model:基于BERT,将15%的token进行mask操作。
  • Multitask Masked Language Model:基于UniLM,通过额外的self-attention训练一个Masked Language模型。
  • Masked Seq-to-Seq:基于MASS。

Tasks

  • SQuAD:问答数据集
  • MNLI:文本分类数据集
  • ELI5:摘要式问答数据集
  • XSum:摘要数据集
  • ConvAI2:对话生成数据集
  • CNN/DM:摘要数据集

Result

  • Performance of pre-training methods varies signifi- cantly across tasks
  • Token masking is crucial
  • Left-to-right pre-training improves generation
  • Bidirectional encoders are crucial for SQuAD
  • The pre-training objective is not the only important factor
  • Pure language models perform best on ELI5

Large-scale Pre-train Experiments

  • encoder和decoder都有12层,隐藏层大小为1024。
  • batch size = 8000, step = 500000

Discriminative Tasks

在判别任务上的表现与RoBERTa类似,表明BART在提升生成任务性能的同时没有降低对分类任务的性能。

Generation Tasks

在生成任务中使用了label smoothing技术,smoothing参数设置为0.1。

设置beam size为5。

在各个数据集上的表现都是最好的。

Translation

encoder和decoder都有12层,隐藏层大小为1024。

  • batch size = 8000, step = 500000

Discriminative Tasks

在判别任务上的表现与RoBERTa类似,表明BART在提升生成任务性能的同时没有降低对分类任务的性能。

Generation Tasks

在生成任务中使用了label smoothing技术,smoothing参数设置为0.1。

设置beam size为5。

在各个数据集上的表现都是最好的。

Translation

你可能感兴趣的:(论文阅读,NLP,深度学习,人工智能)