[Bart]论文实现:Denoising Sequence-to-Sequence Pre-training for Natural Language Generation...

简介: [Bart]论文实现:Denoising Sequence-to-Sequence Pre-training for Natural Language Generation...

论文:BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension

作者:Mike Lewis, Yinhan Liu, Naman Goyal, Marjan Ghazvininejad, Abdelrahman Mohamed, Omer Levy, Ves Stoyanov, Luke Zettlemoyer

时间:2019

一、完整代码

这里我们使用python代码进行实现

# 完整代码在这里
# 这里感觉在输出端实现就好了,下次有时间在弄;

二、论文解读

BART论文名字为Denoising Sequence-to-Sequence Pre-training for Natural Language...,在这里有两个名词要考虑,一个是Sequence-to-Sequence,一个是Pre-training;前者的架构较为出名的有RNNTransformer,后者的架构较为出名的有BertGPT;但是这里要注意的是BART是一个Transformer架构;

其于Transformer不同的地方只有一个,就是input;毫无疑问,这就是一篇水文;

2.1 模型架构

模型架构就是Transformer

论文在水的时候,在画图故意不用Transformer来进行对比,而是用BertGPT来对比,很贼;

2.2 输入端

BART在输入端中采取的措施:

下面我们对其依次介绍:

Token Masking

这里采取的方式和BERT一样,使用随机的mask来regularization;

Token Deletion

这里采取的方式是随机删除一些token,注意是删除而不是使用掩码,是从源头删除,掩码的长度会改变;

Text Infilling

这里采取的方式是填充,有删除就有填充,这很好理解;

Sentence Permutation

这里是通过标点符号来切割sentences,然后对sentences进行排序,再来训练;

Document Rotation

这里就相当于说是随机打乱,没有一点规律;

2.3 微调

微调不同任务采取不同的措施,论文中的图片还挺形象的,如下所示:

Sequence Classification Tasks

这里使用transformerdecoder中隐藏层的最后一层进行文本分类,就相当于BERT中的[cls]的效果,至于为什么是最后一个,因为解码器是单向的,而最后一个是最后的输出,其是自回归模型与前面的信息进行了充分的交互;

Token Classification Tasks

看起来高大上,其本质就是在后面弄一层dense层,然后继续词的预测;这里写成classification真有意思…

Sequence Generation Tasks

GPT一样,无需解释;

Machine Translation

这个就更不用说了,这就是transformer本来的任务;

2.4 结果

使用了消融实验,结果如下所示:

不同模型之间的不同如下所示:

其中我们可以看到,BART的效果和RoBERTaXLNet的效果差不多;

其中我们可以看到,在文本总结上效果挺好的;

三、过程实现

这里感觉在输出端实现就好了,下次有时间在弄;

四、整体总结

论文好水,就是几个regularization结合在一起;


目录
相关文章
|
19天前
|
Python
[UNILM]论文实现:Unified Language Model Pre-training for Natural Language.........
[UNILM]论文实现:Unified Language Model Pre-training for Natural Language.........
14 0
|
19天前
|
TensorFlow 算法框架/工具
[seq2seq]论文实现:Effective Approaches to Attention-based Neural Machine Translation(上)
[seq2seq]论文实现:Effective Approaches to Attention-based Neural Machine Translation(上)
18 1
|
19天前
|
机器学习/深度学习 Python TensorFlow
[seq2seq]论文实现:Effective Approaches to Attention-based Neural Machine Translation(下)
[seq2seq]论文实现:Effective Approaches to Attention-based Neural Machine Translation(下)
24 1
|
19天前
|
机器学习/深度学习 自然语言处理 ice
[GloVe]论文实现:GloVe: Global Vectors for Word Representation*
[GloVe]论文实现:GloVe: Global Vectors for Word Representation*
25 2
[GloVe]论文实现:GloVe: Global Vectors for Word Representation*
|
10月前
|
自然语言处理 算法
SIFRank New Baseline for Unsupervised Keyphrase Extraction Based on Pre-Trained Language Model
在社交媒体上,面临着大量的知识和信息,一个有效的关键词抽取算法可以广泛地被应用的信息检索和自然语言处理中。传统的关键词抽取算法很难使用外部的知识信息。
103 0
SIFRank New Baseline for Unsupervised Keyphrase Extraction Based on Pre-Trained Language Model
|
8月前
|
自然语言处理 数据挖掘 数据处理
【提示学习】Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
目前流行的第四大范式Prompt的主流思路是PVP,即Pattern-Verbalizer-Pair,主打的就是Pattern(模板)与Verbalizer(标签映射器)。   本文基于PVP,提出PET与iPET,但是关注点在利用半监督扩充自己的数据集,让最终模型学习很多样本,从而达到好效果。
|
10月前
|
机器学习/深度学习 移动开发 自然语言处理
DEPPN:Document-level Event Extraction via Parallel Prediction Networks 论文解读
当在整个文档中描述事件时,文档级事件抽取(DEE)是必不可少的。我们认为,句子级抽取器不适合DEE任务,其中事件论元总是分散在句子中
91 0
DEPPN:Document-level Event Extraction via Parallel Prediction Networks 论文解读
|
10月前
|
机器学习/深度学习 自然语言处理 算法
SS-AGA:Multilingual Knowledge Graph Completion with Self-Supervised Adaptive Graph Alignment 论文解读
预测知识图(KG)中缺失的事实是至关重要的,因为现代知识图远未补全。由于劳动密集型的人类标签,当处理以各种语言表示的知识时,这种现象会恶化。
63 0
|
10月前
|
自然语言处理 算法 知识图谱
DEGREE: A Data-Efficient Generation-Based Event Extraction Model论文解读
事件抽取需要专家进行高质量的人工标注,这通常很昂贵。因此,学习一个仅用少数标记示例就能训练的数据高效事件抽取模型已成为一个至关重要的挑战。
78 0
|
10月前
|
机器学习/深度学习 自然语言处理 算法
Joint Information Extraction with Cross-Task and Cross-Instance High-Order Modeling 论文解读
先前的信息抽取(IE)工作通常独立地预测不同的任务和实例(例如,事件触发词、实体、角色、关系),而忽略了它们的相互作用,导致模型效率低下。
60 0