论文标题:PEGASUS: 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,这个结果还是很抢眼的,值得仔细读一读。
为了让 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。