Press "Enter" to skip to content

ICML 2020 | Google提出最强生成式摘要预训练模型——天马

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

©PaperWeekly 原创 · 作者|蔡杰

 

学校|北京大学硕士生

 

研究方向|QA

 

 

论文标题: : Pre-training with Extracted Gap-sentences for Abstractive Summarization

 

论文来源: ICML 2020

 

论文链接: https://arxiv.org/abs/1912.08777

 

代码链接: https://github.com/google-research/pegasus

 

 

 

概述

 

文章提出了一种专门针对文本摘要生成的预训练方法,并提出了一种 GSG (Gap Sentence Generation) 的生成方法,该方法在模型的 fine-tune 阶段只需要 1000 个 example 就能达到 12 个数据集的 SOTA,这个结果还是很抢眼的,值得仔细读一读。

 

首先看一看模型图:

 

 

▲ 模型图

 

论文里举的例子里有三句话,encode 的时候将中间的那句话用 符号代替,前后两个句子中随机找一些单词,用 代替。然后预训练的时候,encoder 的任务就是去预测前后两个句子中的 位置上原来的单词,decoder 的任务就是去生成中间的 覆盖的一整句话。整体的思路很简单,图很清晰。

 

有一个个人觉得奇怪的地方就是看到模型图的时候猜测这里的 是每个词对应一个,应该有 sentence_length 个 ,但是文章说的是只用一个 来代表整个句子,这样的话可能会丢失句子这个 的句子的长度信息,对于前后句子的相对位置也会有影响。如果我的猜测有不正确的地方还请大佬们指正。

 

论文中提到,pre-train 的 task 如果和 down-stream 的 task 越接近,那 down-stream 的 task 的效果也就会更好,按理说这是个大家都知道的结论,但是没想到这个效果更好竟然也会体现在样本的数量上,只需要 1000 个 examples 就能超过 SOTA,这是结论是我没有想到的。

 

为了让 pre-train 时候的 task 更接近文本摘要任务,选择 Gap_Sentence( 代表的句子)的时候作者用了一些策略来选择。

 

Random 随机选择 m 个句子来 mask

 

Lead 选择前 m 个句子来 mask

 

Principle 给每个句子进行打分,计算每个句子和剩下部分内容的 ROUGE1-F1 值,从高到低取 m 个句子来 mask

 

 

▲ 不同策略选择的句子

 

作者预训练的时候训练了两个版本,一个版本是单独的 encoder,只用了 MLM(mask language model)作为 target,在 decode 阶段 decoder 和 encoder 共享参数。

 

另一个版本则是两个 target 一起训练(MLM 和 GSG)。MLM 这个 target 在前期(100k-200k steps)还是很管用的,但是到了后期反而会对 performance 造成影响,所以在 large 模型中,作者直接舍弃了这个 MLM 这个 target。

 

 

数据

 

预训练

 

 

finetune

 

 

 

实验

 

 

图 3 可以看出,使用 HugeNews 来 pre-train 的模型在使用前两个数据集 fine-tune 之后效果更好,在后两个数据集反之。说明预训练预料如果和下游任务接近,那效果会更好。(这不是很显然的吗。。。

 

 

图4(a)对比了 6 种不同的 GSG 策略,Ind-Orig 获得了最佳性能,其次是 Seq-Uniq。Ind-Orig 和 Seq-Uniq 在四个下游数据集始终是最好的(或相似的) “Random” 和 “Lead” 在两个新闻数据集上的表现都不错,但是在两个非新闻数据集上,表现并不好。结果表明选择 principal 句子最适合下游摘要任务。

 

 

上图显示了不同的选取间隔句子比例带来的不同效果, 最佳性能的 GSR 低于 50%。间隔语句为 15% 的模型在 CNN / DailyMail 上的 ROUGE 得分最高,而XSum / Reddit TIFU 和 WikiHow 分别为 30% 和 45% 时表现更好。

 

 

不同的词表大小,带来的收益也是不一样的。

 

再看看 large 模型的效果:

 

 

 

图 6 显示的是 low-resource 微调的结果。实线是在 0(zero-shot),10,100、1k,10k 的示例。虚线是 Transformer-base ,其大小与 PEGASUS-base 相同,并且经过完整的监督数据集训练,但无需预训练。

 

 

这就是论文中提到的只需要 1000 个 example,便可以超过 SOTA。

 

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注