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

简介

众所周知bert的encoder 形式不适合做生成式任务。transformer decode形式在生成式方面有着非常好的表现。
bart 基本就是一个标准的sequence to sequence形式的transformer。其在文本摘要,问答 等方面有着sota 的表现。

模型介绍

在这里插入图片描述

bart 基本是标准的sequence to sequence形式的transformer,只不过其中的激活函数换成了gelu。
在这里插入图片描述

tensorflow bert源码中

def gelu(input_tensor):
	cdf = 0.5 * (1.0 + tf.erf(input_tensor / tf.sqrt(2.0)))
	return input_tesnsor*cdf

base也是6个encoder与6个decode,large是12个encoder与12个decode,与transformer一致。
在这里插入图片描述

这里我就有点迷了。他说bert 在预测单词时还有一个额外的fc层,bart没有。而我记得bert并没有啊,就是最后一层的输出去做预测。于是我又看了一下bert原文

在这里插入图片描述
bert原文中也是直接最后一层的输出去做预测。bart这里把我搞迷了。

预训练

在这里插入图片描述
破坏掉原始文本,然后让模型去还原。使用交叉熵损失。
具体的预训练任务如下:

在这里插入图片描述
Token Masking:同bert。

Token Deletion:删除token,与Token Masking不同的是模型还要预测在哪个位置删除的。

Text Infilling: 填文字,缺失的文字片段,片段的长度服从泊松分布,每个文字也是mask的形式。

Sentence Permutation:句子排列, 根据标点把句子顺序打乱,使其还原。

Document Rotation:随机选取一个文本让其与其之后的移到最前面,然后让模型去确定哪个句子是最开始的。

fintune

Sequence Classification Tasks : 句子分类任务,把同样的文本分别输入到encoder和decoder,用decoder 最后一层的最后一个token,一般是end token,对应bert的cls 去做分类预测。

Token Classification Tasks:单词分类任务,如判断哪个单词是答案的结束点。用decoder 最后一层每个token去预测。

Sequence Generation Tasks:
文本生成任务。 由于decode 非常适合生成式任务,因为预训练阶段就是生成式的训练,可以直接用于摘要提取,问答dintune等等。

Machine Translation: transformer 论文就去做翻译的。

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值