BERT 详解(三)

作者: 6c643a7fc0e6 | 来源:发表于2019-12-28 14:51 被阅读0次

BERT 有两个自然语言处理任务的预训练:

  • Masked Language Modeling
  • Next Sentence Prediction

1. Masked LM

目前,有的模型是从左到右的上下文中训练模型或者简单连接从左到右和从右到左的上下文中训练模型,比如:ELMo 模型是试图在从左到右和从右到左的上下文中训练两个LSTM语言模型,并将其简单连接起来。

BERT 是一个深度双向模型,网络有效地从标记的左右上下文捕获信息,从第一层一直到最后一层。这就 BERT 比 OpenAI GPT 和 ELMo 优越之处,如下图所示:

bert_01.png

通过上图可以看出,BERT 是双向的,GPT 是单向的(信息只从左到右流动),ELMo 是浅双向的。

2. 示例

为了训练深度双向表示,我们采用了一种直观的方法,随机掩盖一定比例的输入标记,然后仅预测这些被掩盖的标记,我们把这种方法称为:Masked LM(MLM,遮蔽语言模型)

例如:“我喜欢阅读桃子说产品上的简书博客”。想要训练一个双向的语言模型,可以建立一个模型来预测序列中的遗漏单词,而不是试图预测序列中的下一个单词。将“桃子”替换为“[MASK]”,表示丢失的标记。然后,以这样的方式训练模型,使其能够预测“桃子”是本句中遗漏的部分:“我喜欢阅读[MASK]说产品上的简书博客”。这是 Masked LM 的关键。

3. 缺点

虽然这确实可以让我们获得双向预训练模型,但这种方法有两个缺点:

  • 因为被掩盖的标记在微调过程中永远不可见,所以,我们在预训练和微调之间制造了一种不平衡。

  • 使用一个 MLM 意味着每个 batch 中只有15%的标记会被预测,所以在与训练的时候收敛需要更多步,MLM 的收敛速度比从左至右的模型(预测每一个标记)慢,但是和 MLM 带来的巨大提升相比,这么做是值得的。

4. 建议

  • 为了防止模型过于关注特定的位置或掩盖的标记,训练数据生成器随机掩盖 15% 的词。掩盖的词并不总是被 [MASK] 替换,因为在微调时不会出现 [MASK];

  • [MASK] 替换的概率为 80%;

  • 随机词替换的概率为 10%;

  • 不进行替换的概率为 10%。

例如:在句子“my dog is hairy”中,它选择了“hairy”,数据生成器并不总是用 [MASK] 替代所选的单词,而是执行以下操作:

  1. 80%的时间:用 [MASK] 标记替换单词,如:my dog is hairy → my dog is [MASK]。
  2. 10%的时间:用一个随机的单词替换单词,如:my dog is hairy → my dog is apple。
  3. 10%的时间:保持单词不变,如:my dog is hairy → my dog is hairy。这样做的目的是表示偏向于实际观察到的单词。

相关文章

  • BERT 详解(三)

    BERT 有两个自然语言处理任务的预训练: Masked Language Modeling Next Sente...

  • Bert PyTorch 实现

    本文主要介绍如何使用PyTroch复现BERT。在此之前可以先阅读文章BERT详解(附带ELMo、GPT 介绍[h...

  • BERT详解(附带ELMo、GPT 介绍)

    本文为转载,原文链接BERT 详解(附带 ELMo、GPT 介绍)[https://wmathor.com/ind...

  • BERT 详解(五)

    Fine-tuning 微调 微调阶段根据不同任务使用不同网络模型。在微调阶段,大部分模型的超参数跟预训练时差不多...

  • BERT 详解(一)

    今天来聊聊谷歌的自然语言处理框架 BERT,BERT 已经对自然语言处理有着显著的变革,那么 BERT 到底是什么...

  • BERT 详解(四)

    BERT 有两个自然语言处理任务的预训练: Masked Language Modeling Next Sente...

  • BERT 详解(二)

    1. BERT 结构 BERT是以 Transformer 为基础的,目前有两种变体: BERT Base:12层...

  • BERT使用详解(实战)

    BERT模型,本质可以把其看做是新的word2Vec。对于现有的任务,只需把BERT的输出看做是word2vec,...

  • Sentence-BERT 详解

    本文为转载,原文链接:https://wmathor.com/index.php/archives/1496/[h...

  • BERT模型详解与实战

    BERT的全称是Bidirectional Encoder Representation from Transfo...

网友评论

    本文标题:BERT 详解(三)

    本文链接:https://www.haomeiwen.com/subject/mmsjoctx.html