前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【论文笔记】NLP 预训练模型综述

【论文笔记】NLP 预训练模型综述

作者头像
zenRRan
发布2020-05-18 15:01:07
8340
发布2020-05-18 15:01:07
举报
文章被收录于专栏:深度学习自然语言处理

Pre-trained Models for Natural Language Processing: A Survey 花了一上午看完的综述,强烈推荐每个 NLPer 都读一读,很长一段时间内都能当做工具书来用(下一个 break-through 来临前)。

这篇作为笔记就记录下一些个人认为的重点,方便日后查阅。(不解释基础概念/模型,适合熟悉 PTMs 的人阅读)

先来说说为啥要用预训练模型:

  1. 在大语料下预训练的模型可以学习到 universal language representations,来帮助下游任务
  2. PTMs 提供了一个更好的初始化模型,可以提高目标任务的效果和加速收敛
  3. PTMs 可以看做是一种正则,防止模型在小数据集上的过拟合

既然 PTMs 有这么大优势,那当然是,用它!用它!用它!

这篇综述从四个方面(Representation Types、Architectures、Pre-training Task Types、Extensions)对现有 PTMs (Pre-trained Models) 进行了系统分类,一幅图来概括全文精华:

Representation Types and Architectures

第一代的 PTMs 是预训练的 word embeddings,像 skip-gram, glove,可以捕捉一定的语义信息,但是它是 context-free(上下文无关)的,不能捕捉上下文 higher-level 的一些特征,像概念、多义性、句法特征、语义角色、指代等。

二代的 PTMs 则是预训练的 contextual encoders,融入了上下文信息,像 CoVe, ELMo, GPT, BERT。现代的 PTMs 通常在更大的语料库上训练,采用更加强大/深的网络结构(如 Transformer),以及新的预训练任务。

论文把 contextual encoders 分为了 Sequence Models 和 Graph-based models 两大类:

有代表性的 PTMs 及其架构:

Pre-training Task Types

预训练任务分为三类:

  1. Supervised learning (SL)
  2. Unsupervised learning (UL)
  3. Self-Supervised learning (SSL) 这一类在传统意义上也是 UL 的一种,不过这里把它们区分了开来,UL 指不用人类标注的有监督的标签,而 SSL 指标签可以自动从训练数据中产生,如 MLM 任务,SSL 的学习过程其实和 SL 一样

一张表总结预训练任务及其对应的损失函数:

LM(Language Modeling)是 NLP 中最常见的无监督任务,通常特指自回归或单向语言建模,BiLM 虽然结合了两个方向的语言模型,但只是两个方向的简单拼接,并不是真正意义上的双向语言模型。MLM(Masked Language Modeling)可以克服传统单向语言模型的缺陷,结合双向的信息,但是 [MASK] 的引入使得预训练和 fine-tune 之间出现 gap,PLM(Permuted Language Modeling)则克服了这个问题,实现了双向语言模型和自回归模型的统一。

DAE(Denoising Autoencoder)接受部分损坏的输入,并以恢复原始输入为目标。与 MLM 不同,DAE 会给输入额外加一些噪声。

CTL(Contrastive Learning) 的原理是在对比中学习,其假设是一些 observed pairs of text 在语义上比随机采样的文本更为接近。CTL 比 LM 计算复杂度更低。

一些补充:

文中 MLM 部分除了普通的 Seq2Seq MLM,还总结了一些 Enhanced MLM (E-MLM):

  • RoBERTa: dynamic masking
  • UniLM: unidirectional, bidirectional, seq2seq prediction
  • XLM: translation language modeling (TLM)
  • Span-BERT: random contiguous words masking, span boundary objective
  • StructBERT: span order recovery task
  • External knowledge….

DAE 中一些破坏文本的方法:

  • Token Masking
  • Token Deletion: 模型需要预测删除的位置
  • Text Infilling:像 SpanBERT,模型预测 mask 的 span 有几个单词
  • Sentence Permutation:把文档分为句子然后随机打乱
  • Document Rotation:选择一个单词然后 rotate 文档,模型预测文档的真实起始位置

CTL 的一些任务:

  • Deep InfoMax (DIM):比较难解释,上图
  • Replaced Token Detection (RTD):e.g., CBOW-NS 中的负样本选择可以看做是简单的 RTD, ELECTRA 利用生成器来选择替代序列中的某些 token, WKLM 替换某些实体为同一实体类型下的其他实体 Next Sentence Prediction (NSP):两个输入句子是否为训练数据中的连续片段 Sentence Order Prediction (SOP):两个连续片段作为正样本,而相同的两个连续片段互换顺序作为负样本。ALBERT 首次提出,NSP 同时做了 topic prediction 和 coherence prediction,而 topic prediction 太简单了模型会倾向用主题信息来做最后预测,而 SOP 更加聚焦在 coherence prediction 上

Extentions of PTMs

一些补充:

Knowledge-Enriched,外部知识的融入具体来说大概有下面几类:

  • Linguistic
    • LIBERT 通过额外的 linguistic constraint task 来融入语言学知识
    • SentiLR 引入 token 级别的情感极性,改造 MLM 为 label-aware MLM
    • KnowBERT
  • Semantic
    • SenseBERT 不仅预测 masked token,还预测 token 在 WordNet 对应的 supersenses
  • Commonsense
    • ConceptNet, ATOMIC, 用来提高 GPT-2 在故事生成上的效果
  • Factual
    • ERNIE(THU), KnowBERT, K-BERT, KEPLER
  • Domain-specific
    • K-BERT
  • KG-conditioned language models
    • KGLM, LRLM

模型压缩的几种方法,很好理解

  • Model Pruning:CompressingBERT
  • Weight Quantization: Q-BERT, Q8BERT
  • Parameter Sharing: ALBERT
  • Knowledge Distillation
    • Distillation from soft target probablilites: DistilBERT
    • Distillation from other knowledge: TinyBERT, MobileBERT, MiniLM
    • Distillation to other structures: from transformer to RNN / CNN
  • Model Replacing
    • BERT-of-Theseus
  • Others
    • FastBERT,动态减少计算步骤

Adapting PTMs to Downstream Tasks

迁移学习需要考虑的问题:

  1. 选择合适的预训练任务、模型框架和语料
  2. 选择合适的 layer Embedding only; Top layer; All layers (更灵活的方式是像 ELMo 一样自动选择最好的层)
  3. 选择迁移方式(to tune or not to tune) Feature extraction: pre-trained parameters are frozen Fine-tuning: pre-trained parameters are unfrozen and fine-tuned

Fine-tuning strategies:

  • Two-stage fine-tuning
    • 第一阶段,在一个中间任务/语料上进行迁移,第二阶段,迁移到目标任务
    • Story ending prediction by transferable bert: TransBERT
    • How to fine-tune BERT for text classification?
    • Sentence encoders on STILTs: Supplementary training on intermediate labeled-data tasks
    • Convolutional sequence to sequence learning
  • Multi-task fine-tuning
    • 多任务和预训练互为补充
    • Multi-task deep neural networks for natural language understanding
  • Fine-tuning with extra adaptation modules
    • 原始参数固定,在 PTMs 里接入一些 fine-tunable adaptation modules
    • BERT and PALs: Projected attention layers for efficient adaptation in multi-task learning
    • Parameter-efficient transfer learning for NLP
  • Others
    • Improving BERT fine-tuning via self-ensemble and self-distillation
    • Universal language model fine-tuning for text classification: gradual unfreezing
    • An embarrassingly simple approach for transfer learning from pretrained language models: sequential unfreezing

Future Direction

  • Upper Bound of PTMs
    • PTMs 并没有发展到其上限。目前大多数的 PTMs 都可以通过使用更多的步长以及更大的数据集来提升性能,因此一个实际的方向是在现有的软/硬件基础上,去设计更高效的模型结构、自监督预训练任务、优化器和训练技巧,如 ELECTRA
  • Architecture of PTMs
    • Transformer 的主要局限在于其计算复杂度(输入长度的平方)。GPU 显存大小的限制使得多数 PTMs 无法处理超过 512 个 token 的序列长度。打破这一限制需要改进 Transformer 的结构设计,如 Transformer-XL。设计深层神经网络结构是很有挑战性的任务,或许使用如神经结构搜索 (NAS) 这类自动化的方案
  • Task-oriented Pre-training and Model Compression
    • 在实践中,不同的目标任务需要 PTMs 的不同功能。PTMs 和下游任务的差异通常在于模型架构与数据分发。更大的差异可能会使得 PTMs 的使用收益更小,比如 text generation 和 text matching 的任务就有很大差异
    • 大型 PTMs 应用到实际场景时面临的低容量设备和低延迟应用的要求:为下游任务精心设计特定的模型结构与预训练任务,或者直接从现有的 PTMs 中提取部分与任务有关的知识
    • 使用模型蒸馏技术对现有的 PTMs 进行教育,来完成目标任务
  • Knowledge Transfer Beyond Fine-tuning
    • 提高 Fine-tuning 的参数利用效率。之前 fine-tune 中的参数效率很低,要为每个下游任务 fine-tune 各自的参数。一个改进方案是之前提到过的固定 PTMs 的原始参数,并为特定任务添加小的 fine-tunable adaptation modules,这样就可以使用共享的 PTM 来支持多个下游任务
    • 更灵活的从 PTMs 中挖掘知识,如 feature extraction, knowledge distillation, data augmentation, using PTMs as external knowledge
  • Interpretability and Reliability of PTMs
    • 可解释性:PTMs 的深层非线性结构/Transformer 类结构/语言的复杂性使得解释 PTM 变得更加困难
    • 可靠性:PTMs 在对抗性样本中显得非常脆弱。Adversarial defenses 也是一个非常有前景的方向
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 深度学习自然语言处理 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档