PEGASUS模型介绍

2023-12-30 20:28
文章标签 介绍 模型 pegasus

本文主要是介绍PEGASUS模型介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PEGASUS介绍

概述

模型论文为Pre-training with Extracted Gap-sentences for Abstractive Summarization,简称为PEGASUS。面向的情况主要是因为目前预训练语言任务主要为MLM和NSP任务,即为掩码预测任务和下一句预测任务,没有面向生成式文本摘要的预训练任务。因此PEGASUS提出在预训练阶段的时候,将重要的句子作为MASK1,掩盖后,通过encoder-decoder的结构运用MASK1覆盖后的句子预测MASK1的句子,在一定程度上模拟摘要生成

PEGASUS假设前提为在预训练过程中,约接近下游任务的预训练任务可以获取更好的下游任务性能

PEGASUS模型的预训练任务主要有两个,分别为gap句子生成和掩码预测任务。Gap句子生成主要模拟抽取式摘要文本生成。

  • GSS(Gap Sentence Generation)

  • MLM(Mask Language Model)

模型框架图示

  • MASK1为我们所模拟生成式摘要的句子,MASK2主要为MLM任务

Gap Sentence Generation(GSG)

前提为预训练目标与下游任务约接近,finetune效果会更好。通过运用span mask的思想,将整个句子运用MSAK1遮盖预测,除此之外,将MASK1拼接为起来,形成一个伪摘要。Gap sentence ration(GSR)用于描述MASK1在文档中的总比例。

  • G S R = 输入句子中 M A S K 1 总个数 ) 输入句子中 t o k e n 总个数 GSR = \frac{输入句子中MASK1总个数)}{输入句子中token总个数} GSR=输入句子中token总个数输入句子中MASK1总个数)

但是选择不同的句子会有不一样的结果,因此提出了下列集中选择句子的方式。定义n个句子文档集 D = x i n D = {x_i}n D=xin,n为句子个数, x i x_i xi为第i个句子。D为文档。

  • Random,随机选取m个句子
  • Lead,选取文章中前m个句子
  • Principal, 根据特定指标,选取得分高的top-m个句子

Principle 选择方式

  1. 独立性选择(independently,ind),根据选中句子和其他句子集合的ROUGE1-F1来计算,具体公式如下,最终选取前m个 s i s_i si句子。
    1. s i = r o u g e ( x i , D ∖ { x i } ) s_i=rouge(x_i,D\setminus\{x_i\}) si=rouge(xi,D{xi})
  2. 连续性选择(Sequential Sentence Selection,seq),通过贪婪最大化选择句子集合和其他句子子集的ROUGE1-F1值选取,具体算法描述如下所示。
    1. ![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=src%2Fimage-20231213165342464.png&pos_id=img-cyGugoWi-1703923178577在这里插入图片描述

在计算ROUGE1-F1的时候存在UniqOrig,具体差异如下图所示。

  • 如果为Uniq,即为先处理句子集合,去除重复的n-gram,再计算指标
  • 如果为Orig,即为考虑保留原始句子,允许n-gram出现

Tip:Rouge-N实际上是将模型生成的结果和标准结果按N-gram拆分后,计算召回率。比如有2个句子(一般模型生成的成为hypothesis,简写hyp;标准结果称为reference,简写为ref)

R o u g e − N = ∑ S ∈ R e f e r e n c e S u n m a r i e s C o u n t m a t c h ( g r a m n ) ∑ S ∈ R e f e r e n c e S u m a r i e s ∑ g r a m n ∈ S C o u n t ( g r a m n ) Rouge{-}N=\frac{\sum_{S\in ReferenceSunmaries}Count_{match}(gram_n)}{\sum_{S\in ReferenceSumaries}\sum_{gram_n\in S}Count(gram_n)} RougeN=SReferenceSumariesgramnSCount(gramn)SReferenceSunmariesCountmatch(gramn)

结论

最终得到一共有四种,结合之前的Random以及Lead,最终有Ind-Uniq,Ind-Orig,Seq-Uniq,Seq-Orig,Random,Lead共六种选择。

最终确定了将文档的SGR(选取30%)的句子作为Gap sentence句子,而且在选择MASK1的时候,运用Ind-Orig对方式,结果最好。

MLM掩码预测任务选择

在文中共有三种方法。

  1. 类似于BERT做法,输入文本的15%的tokens, 80%的被替换为[MASK2], 10%的被随机的token替换 10%未发生变化,在finetune的时候共享encoder参数
  2. 只用CSG,不运用常见MLM
  3. 在运用CSG的基础上,在没有被选中的句子中选取15%作为常见MLM任务。

结论

只用MLM的效果最差,但是在100K-200K的参数中,用MLM+GSG效果较好,但是在200K之后,运用MLM效果反而下降,因此在训练大规模参数PEGASUS-large中只运用了GSG,在PERASUS-base中只运用了GSG+MLM。

参考

此在训练大规模参数PEGASUS-large中只运用了GSG,在PERASUS-base中只运用了GSG+MLM。

参考

PEGASUS模型:一个专为摘要提取定制的模型
PEGASUS: Pre-training with Extracted Gap-sentences for Abstractive Summarization

这篇关于PEGASUS模型介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/553903

相关文章

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

Spring Security介绍及配置实现代码

《SpringSecurity介绍及配置实现代码》SpringSecurity是一个功能强大的Java安全框架,它提供了全面的安全认证(Authentication)和授权(Authorizatio... 目录简介Spring Security配置配置实现代码简介Spring Security是一个功能强

JSR-107缓存规范介绍

《JSR-107缓存规范介绍》JSR是JavaSpecificationRequests的缩写,意思是Java规范提案,下面给大家介绍JSR-107缓存规范的相关知识,感兴趣的朋友一起看看吧... 目录1.什么是jsR-1072.应用调用缓存图示3.JSR-107规范使用4.Spring 缓存机制缓存是每一

Java中 instanceof 的用法详细介绍

《Java中instanceof的用法详细介绍》在Java中,instanceof是一个二元运算符(类型比较操作符),用于检查一个对象是否是某个特定类、接口的实例,或者是否是其子类的实例,这篇文章... 目录引言基本语法基本作用1. 检查对象是否是指定类的实例2. 检查对象是否是子类的实例3. 检查对象是否

什么是ReFS 文件系统? ntfs和refs的优缺点区别介绍

《什么是ReFS文件系统?ntfs和refs的优缺点区别介绍》最近有用户在Win11Insider的安装界面中发现,可以使用ReFS来格式化硬盘,这是不是意味着,ReFS有望在未来成为W... 数十年以来,Windows 系统一直将 NTFS 作为「内置硬盘」的默认文件系统。不过近些年来,微软还在研发一款名

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

redis过期key的删除策略介绍

《redis过期key的删除策略介绍》:本文主要介绍redis过期key的删除策略,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录第一种策略:被动删除第二种策略:定期删除第三种策略:强制删除关于big key的清理UNLINK命令FLUSHALL/FLUSHDB命

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA