当前位置:   article > 正文

论文笔记BERT: Bidirectional Encoder Representations from Transformers_bidirectionalencoder representations from transfor

bidirectionalencoder representations from transformer 论文

1 简介

本文根据2019年《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》翻译总结的。

BERT: Bidirectional Encoder Representations from Transformers.

应用预训练模型于下游任务有两种策略,分别是feature-based 和 fine-tuning。fine-tuning方法的主要限制是其单向的。BERT采用的fine-tuning方法,但是BERT使用“masked language model” (MLM)来避免单向的问题,MLM随机mask输入的一部分,目标函数是从masked的词汇(附带上下文)预测原序列。

BERT的贡献如下:

  1. 语言表达双向预训练的重要性;
  2. 预训练采用非监督数据,容易实现预训练。预训练减少了许多精心设计的特定任务结构的需要。预训练模型可以处理很多不同的NLP任务。

2 相关工作

在这里插入图片描述

2.1 非监督feature-based 方法

ELMo模型(2017-2018):分别用LSTM训练左到右、右到左,然后再连接起来生成features。

2.2 非监督fine-tuning 方法

OpenAI GPT、Left-to-right language model、auto-encoder objectives等。OpenAI GPT采用的left-to-right Transformer

2.3 监督数据的迁移学习

比如计算机视觉领域,有基于ImageNet的预训练模型。

3 BERT

BERT如下图所示,分为两步,分别是pre-training(预训练)、fine-tuning(微调)。pre-training基于unlabeled数据进行训练。微调是基于labeled数据对所有参数进行微调。
在这里插入图片描述

3.1 Input/Output Representations

如下图所示,输入embedding是三部分的累加,这三部分分别是单词(token)的embedding、片段(segmentation)归属embedding、位置(position)embedding。

在这里插入图片描述

GPT uses a sentence separator ([SEP]) and classifier token ([CLS]) which are only introduced at fine-tuning time;
BERT learns [SEP], [CLS] and sentence A/B embeddings during pre-training.。

3.2 Pre-training BERT

需要4-5天的预训练。

3.2.1 Task #1: Masked LM

标准的条件语言模型是单向的,left-to-right 或者 right-to-left。为了训练一个深度的双向表述,我们随机mask输入的一部分,然后预测这些masked部分。我们将该方法叫做Masked LM(MLM)。

该模型的一个缺点是造成了pre-training和fine-tuning的不匹配,因为fine-tuning是没有mask 的。为了减轻这个缺点的影响,引入了一些随机等操作。

3.2.2 Mask说明

在这里插入图片描述

上面的mask步骤的好处是:transformer 不知道它要预测哪个词语,所以它会对每一个输入词语保持上下文的表达。一般是随机替换输入的15%,也不会损害模型语言理解的能力。但是这样会导致模型收敛较慢,不过带来了模型预测能力的改善。

3.2.3 Task #2: Next Sentence Prediction (NSP)

许多重要的下游任务是question answering(QA)和natural language inference任务,它们是理解两个语句间的关系。为了训练一个模型理解语句间的关系,我们引入了一个二值化next sentence prediction任务。

示例如下,上面的两个输入语句是有关系的,所以label=IsNext。下面两个输入没有关系,所以label=NotNext。
在这里插入图片描述

3.3 Fine-tuning BERT

Fine-tuning是比较简单明了的,改造输出层,对所有参数进行微调。微调的时间也很短,在单cloud TPU上,只需要1小时;在GPU上也只是几个小时。

下面参数工作较好:

  1. Batch size: 16, 32
  2. Learning rate (Adam): 5e-5, 3e-5, 2e-5
  3. Number of epochs: 2, 3, 4

如下图所示,不同的任务模型是通过在BERT上附加一个额外的输出层,所以只有很少的参数需要重头开始学习。图a、b是序列水平的任务,图c、d是单词级别(token-level)的任务。
在这里插入图片描述

4 实验结果

4.1 GLUE-语言理解

The General Language Understanding Evaluation (GLUE) benchmark,可以看到BERT优于OpenAI GPT等。
在这里插入图片描述

  1. MNLI: Multi-Genre Natural Language Inference。给定一组语句,预测下一个语句是上面一组语句的继续?还是矛盾?还是中立?
  2. QQP:Quora Question Pairs is a binary classification task。二值分类,两个问题是不是语义上相同。
  3. QNLI: Question Natural Language Inference is a version of the Stanford Question Answering Dataset。二值分类,positive包含正确的答案,negative没有包含正确答案。
  4. SST-2 :The Stanford Sentiment Treebank,二值单语句分类任务。
  5. CoLA :The Corpus of Linguistic Acceptability。判断一个英语句子在语言学上是否可以接受的。
  6. STS-B :The Semantic Textual Similarity Benchmark。判断两个句子在语义上是否相似,分数从1到5.
  7. MRPC: Microsoft Research Paraphrase Corpus。判断两个句子在语义上是否相似。
  8. RTE: Recognizing Textual Entailment,类似MNLI,但数据量较少。
  9. WNLI: Winograd NLI is a small natural language inference dataset.

4.2 SQuAD –QA问答

Stanford Question Answering Dataset(SQuAD v1.1)。
在这里插入图片描述

4.3 SWAG—语句补充

Situations With Adversarial Generations(SWAG):包括113k个语句对补充例子,用来评估常识推理。给定一个句子,任务是在4个选项中选择最合适的一个。
在这里插入图片描述

5 Ablation Studies

5.1 Pre-training Tasks的效果

可以看到NSP、masked LM(双向机制)对BERT有很多的作用。
在这里插入图片描述

5.2 模型大小的影响

可以看到,大模型有利于效果提升。
在这里插入图片描述

5.3 使用feature-based 方法

可以看到BERT如果使用feature-based方法也可以取得较好的效果,但基于fine-tuning的BERT-large依然表现最优。
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/489712
推荐阅读
相关标签
  

闽ICP备14008679号