预训练模型论文笔记01

一、《Pre-trained Models for Natural Language Processing: A Survey

1、第一种预训练模型是为了学习更好的word embedding,例如skip-gramglove。他们不需要下游任务,也就不需要太大的计算量。尽管可以得到语义信息,但是它们与上下文无关,无法在上下文中捕获更高级别的概念,例如多义词消歧、句法结构、语义角色、回指。

2、第二种预训练模型为了学习上下文word embedding,例如 coveelmoopenAI GPTBERT。他们学习一个encoder,还需用下游任务学习上下文中的词的表示。后来,不同的预训练任务产生了不同的预训练模型。

3、编码器可以分为序列模型和非序列模型。序列模型捕获在词的序列方向上的局部语义。主要包括:卷积模型、循环模型。非序列模型通过一个预先定义的树或者图结构捕获上下文信息表示,例如句法结构或语义关系。此模型主要包括 循环NNTreeLSTMGCN。尽管语言感知图结构可以提供有用的归纳偏差,但如何构建良好的图结构也是一个具有挑战性的问题。 此外,该结构在很大程度上依赖于专家知识或外部 NLP 工具,例如依赖项解析器。

4、第一种预训练方式是把整个句子编码为固定大小的向量表示,而不是为每个token获得上下文表示。因为NLP任务不止word级别的,需要基于句子或者更高级别进行预训练,这也就产生了第二种预训练模型,其输出的向量又叫做“上下文词嵌入”。它表示了依赖上下文的词的语义信息。

5、语言模型:NLP中的最普遍的无监督任务是概率语言模型(LM),LM经常被叫做自回归LM或者单向LM。单向LM的最大的缺点是每个token只能靠它左边的token来表示。而且需要的是上下文的表示。后面为了解决这个问题,出现了双向L,M

6、掩码语言模型(MLM):为了克服标准单向LM的缺点。它在输入模型之前随机MASK几个token,然后在模型中预测它们,但是在下游任务中没有MASK token,造成预训练和下游任务不匹配的情况。后来,为了解决这个问题,就有专家使用[MASK]这个token80%的时间替换掉原来的token10%随机替换,10%不替换。

7Sequence-to-Sequence MLM (Seq2Seq MLM)MLM经常被作为分类问题解决,把被mask的句子输入encoder,然后将其输出输入到softmax分类器进行预测被masktoken。另外,也可以使用encoder-decoder结构进行MLM,其也被称为seq2seq,被mask的句子输入encoderdecoder通过一个自回归的方式序列的产生被masktoken。这种被用于MASST5预训练模型中,可用于问答、摘要、阅读理解等下游任务。

8Enhanced Masked Language Modeling (E-MLM) :很多增强版的MLM被提出,不再是静态的进行MASK,而是动态的MASKRoberta通过使用动态MASK提高的结果。Unilm把预测MASK的任务扩展成了3种类型:单向、双向、序列到序列。XLM把并行双语句子对连接后进行MLM,其也被叫做Translation Language Modeling (TLM)SpanBERT 使用Random Contiguous Words Masking and Span Boundary Objective (SBO)替换了MLM,从而把结构信息引入了预训练,它要求系统基于span的边界预测被标记的spans

9Permuted Language Modeling (PLM):排列语言模型,之前的MLM使用了MASK,而这种在下游任务中是没有的,这就造成了预训练和微调出现了gap。为了克服这个问题,PLM出现了。PLM是基于输入句子的一种随机排列。从所有的排列中选择一个排列,从这个排列中随机选择一些token作为target,然后模型根据剩余的tokentarget的原来的位置预测target。这个排列不影响句子的原先的位置,只是为了预测而定义的。在实际中,由于低的收敛率,只有排列中的最后几个token作为target。例如XLNet

10Denoising Autoencoder (DAE):去噪自编码器,接受部分损坏的输入,旨在恢复原始未失真的输入。对于损坏的文本有以下处理MLM方式: (1Token Masking:随机选择token,使用[MASK]替换。(2Token Deletion:随机删除token,模型预测被删除的位置。(3Text Infilling:随机选择文本的span,然后用[MASK]替换每个span的长度通过泊松分布(lamda=3)确定,模型预测一个span中缺少多少token。(4Sentence Permutation:把文档分为句子,随机重新排列这些句子。(5Document Rotation:随机选择一个token,使文档旋转直至整个token成为文档的第一个token,模型预测文档的真实开始token

11Contrastive Learning (CTL):对比学习, 假设一些观察到的文本对在语义上比随机采样的文本更相似。 通过对比进行学习,比LM有更少的计算复杂度,因此是预训练模型的一种理想的选择。

12ALBERT使用sentence order prediction (SOP) 替换了Next Sentence Prediction (NSP),在很多研究中提到NSP任务对预训练的作用不大,NSP 在单个任务中合并了主题预测和连贯性预测。 因此,允许模型仅依靠更简单的任务,即主题预测来进行预测。与 NSP 不同的是,SOP 使用来自同一文档的两个连续段作为正例,将相同的两个连续段但它们的顺序交换作为反例。 StructBERT and BERTje 都使用了SOP

二、《Unified Language Model Pre-training for Natural Language Understanding and Generation

1、使用了3种不同的语言模型的任务:单向、双向、序列到序列的预测。共享一个transformer框架,使用独特的自注意力mask控制对预测有重要作用的文本。从左到右的单向LM,预测的时候保留左边所有的词,从右到左的单向LM,预测的时候保留右边的词,双向的LM,预测的时候保留左边和右边的词,序列到序列的LM,第一个句子预测token的时候是用第一个句子两边的词,预测第二个句子时,保留第一个句子中的词和第二个句子左边的词。在双向LM中,也加入了下一句子预测任务。

2elmo学习两个单向的LMGPT使用从左到右的transformer逐字预测序列,BERT使用了双向的transformer。尽管BERT在很多自然语言理解任务上都取得了很好的效果,但其很难应用到文本生成任务中。本模型可以用于自然语言理解(NLU)和文本生成(NLG)任务。

3、首先,统一的预训练程序导致单个 Transformer LM 使用不同类型 LM 的共享参数和架构,从而减轻了单独训练和托管多个 LM 的需要。 其次,参数共享使学习的文本表示更加通用,因为它们针对不同的语言建模目标进行了联合优化,其中上下文以不同的方式使用,减轻了对任何单个 LM 任务的过度拟合。 第三,除了应用于 NLU 任务之外,使用 UNILM 作为序列到序列的 LM,使其成为 NLG 的自然选择,例如抽象摘要和问题生成

4、输入包括:相关的token embedding,位置embeddingsegment embedding(确定使用哪种LM)。

5、在训练的时候,两个句子是连接在一起的,随机选择一些token进行MASK,然后预测被MASKtoken,从而可以使模型学习两个句子之间的关系。序列到序列的完形填空任务也可以叫做encoder=decoder模型,可以同时预训练双向encoder和单向decoder,从而可以很容易扩展到文本生成任务中。

6、训练中1/3使用双向LM1/3使用序列到序列LM,从左到右和从右到左分别是1/6

三、《Nezha: Neural Contextualized Representation For Chinese Language Understanding

1、主要包括的技术点:函数相对位置编码、全词掩码策略、混合精度训练、LAMB优化器。其基于BERT,在中文文本上进行训练。

2、之前transformer的训练包括两个无监督任务:掩码语言模型(MLM)、下一句子预测(NSP)。在中文的预训练模型中,主要不同点是MLM任务的掩码策略,谷歌的BERT把每个中文字符或者WordPiece token进行mask,百度的ERNIE mask实体或者短语,BERT-WWM使用Whole Word Masking,把属于一个词的token都被mask,在百度的ERNIE2.0中还使用了Token-Document Relation Prediction Sentence Reordering预训练任务。

3、之前的transformerBERT采用的位置编码是把word的绝对位置信息进行编码,然后把这个位置向量加到word embedding中,在输入到模型中。现在存在两种经典的位置编码策略,一是函数位置编码,位置编码取决于一个预定义的函数,另一个是参数位置编码,位置编码信息参与模型训练,有人提出了参数相对位置编码,相对位置信息是在transformer的自注意力层得到。本文使用的是函数相对位置编码策略,用预先定义的函数把相对位置放入自注意力层中,其中不包括任何可训练的参数。在WWM中,一个句子12%的字符被MASK1.5%的字符被随机替换。

 四、《MACBERT: Revisiting Pre-trained Models for Chinese Natural Language Processing

1、本文检测各个预训练模型在中文上的效果,提出MacBERT,其在RoBERTa上进行改进了很多地方,特别是掩码策略,本文使用了MLM as correction (Mac).

2Roberta在原来的BERT的基础上做精细的修改,包括掩码策略、训练步数等,并得出一些很有用的结论,用大的批次训练更久,加入更多的数据,去掉下一句子预测,使用动态mask

3ALBERT为了解决训练中占用的内存大,训练速度慢的问题,它提出两个参数减少的方法,一个是因式分解embedding的参数,将embedding矩阵分解为两个小矩阵,另一个是交叉层参数共享,每一层的参数都共享。其次,它还提出了句子顺序预测任务(SOP)用来替换NSP任务。

4ELECTRA提出一个像GAN的生成-判别框架,生成器是一个小型的MLM,可以用于预测被MASKtoken,判别器用来判断输入的token是否被生成器替换。为了提高效率,判别器训练的是一个二分类器,辨别是否被替换。而不像原来的MLM策略,需要精确的判断被masktoken,在微调阶段,只有判别器被使用。

5、本模型使用全词掩码和 N-gram 掩码策略来选择掩码的候选标记,单词级 unigram 4-gram 的百分比分别为 40%30%20%10%。 在掩码过程中不使用[MASK]进行mask,因为这个符号在下游任务中不会出现,因此使用是相似的词进行mask,如果没有相似词,则使用随机的词进行mask。在模型中,15%的词会被mask,在被mask的词中,80%用相似词mask10%用随机词替换,10%不改变。并且没有使用NSP任务,而是使用了SOP任务。其中负样本是通过切换两个连续句子的原始顺序来创建的。

6、是在原BERT的基础上修改,使用时不用修改代码。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值