摘要

BERT的全称为Bidirectional Encoder Representation from Transformers,是一个预训练的语言表征模型。它采用新的masked language model(MLM),能生成深度的双向语言表征。预训练后,只需要添加一个额外的输出层进行fine-tune,就可以在各种各样的下游任务中取得state-of-the-art的表现。在这过程中并不需要对BERT进行任务特定的结构修改。

模型结构

BERT利用MLM进行预训练并且采用深层的双向Transformer组件来构建整个模型,生成能融合左右上下文信息的深层双向语言表征。如图1所示。

图1 中间BERT部分由多个Transformers堆叠在一起

论文主要介绍了两种尺寸的模型:
number of layers as L,
the hidden size as H,
the number of self-attention heads as A。
BERTBASEBERT_{BASE}BERTBASE (L=12, H=768, A=12, Total Parameters=110M)
BERTLARGEBERT_{LARGE}BERTLARGE (L=24, H=1024,A=16, Total Parameters=340M)。

输入

每一个token(图1中的粉色块)对应的表征(图1中的黄色块),单词字典是采用WordPiece算法来进行构建的。
表征由三部分组成的,分别是对应的token,分割和位置 embeddings。如图2。

图2

输出

C为分类token([CLS])对应最后一个Transformer的输出,[公式] 则代表其他token对应最后一个Transformer的输出。对于一些token级别的任务(如,序列标注和问答任务),就把[公式] 输入到额外的输出层中进行预测。对于一些句子级别的任务(如,自然语言推断和情感分类任务),就把C输入到额外的输出层中。

预训练

Masked Language Model(MLM)

MLM是BERT能够不受单向语言模型所限制的原因。简单来说就是以15%的概率用mask token ([MASK])随机地对每一个训练序列中的token进行替换,然后预测出[MASK]位置原有的单词。然而,由于[MASK]并不会出现在下游任务的微调(fine-tuning)阶段,因此预训练阶段和微调阶段之间产生了不匹配。故
在每一个训练序列中以15%的概率随机地选中某个token位置用于预测,假如是第i个token被选中,则会被替换成以下三个token之一:
1)80%的时候是[MASK]。如,my dog is hairy——>my dog is [MASK]。
2)10%的时候是随机的其他token。如,my dog is hairy——>my dog is apple。
3)10%的时候是原来的token(保持不变,个人认为是作为2)所对应的负类)。如,my dog is hairy——>my dog is hairy。
再用该位置对应的 TiT_iTi去预测出原来的token(输入到全连接,然后用softmax输出每个token的概率,最后用交叉熵计算loss)。

Next Sentence Prediction(NSP)

预测两个句子是否连在一起。具体的做法是:对于每一个训练样例,在语料库中挑选出句子A和句子B来组成,50%的时候句子B就是句子A的下一句(标注为IsNext),剩下50%的时候句子B是语料库中的随机句子(标注为NotNext)。接下来把训练样例输入到BERT模型中,用[CLS]对应的C信息去进行二分类的预测。

实验

GLUE


BERTBASE和BERTLARGE在所有任务上的表现都⼤⼤优于所有系统,BERTLARGE在所有任务中都明显优于BERTBASE ,尤其是训练数据很少的任务。

SQuAD


预训练任务的效果

No NSP:使用MLM但没有使用NSP。
LTR & No NSP:仅使用标准的Left-to-Right而不是使用MLM,同时没有使用NSP。
该试验证明了BERT 的深度双向性的重要性。

模型大小的影响

训练具有不同层数的 BERT 模型。一般来讲更大的模型可以提高实验的精度,但该实验证明了在对模型进行了充分的预训练的前提下,将模型缩小到极端大小也可以在小规模任务上带来很大的改进。

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding相关推荐

  1. Paper:《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding用于语言理解的深度双向Tr

    Paper:<BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding用于语言理解的深度双 ...

  2. BERT(一)--论文翻译:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

    转载请注明出处:https://blog.csdn.net/nocml/article/details/124860490 传送门: BERT(一)–论文翻译:BERT: Pre-training o ...

  3. bert论文解析——BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

    BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 前言 bert是google在NLP方 ...

  4. 【文本分类】BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

    ·阅读摘要:   Bert是继Transformer之后的又一杰出的模型.Bert是一种预训练语言模型,是在GPT.Elmo.Transformer的基础上提出的.基于Bert的多个NLP领域任务都取 ...

  5. 预训练模型:BERT深度解析《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》

    目录 1. 背景 2. 什么是 Bert 及原理? 3. 论文内容<BERT: Pre-training of Deep Bidirectional Transformers for Langu ...

  6. 《BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding》

    目录 <BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding> 1.Bert研究意 ...

  7. 【论文阅读笔记】BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

    BERT的出现使我们终于可以在一个大数据集上训练号一个深的神经网络,应用在很多NLP应用上面. BERT: Pre-training of Deep Bidirectional Transformer ...

  8. 论文阅读——BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

    BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding Abstract 作者引入了一种新的语 ...

  9. 论文阅读笔记:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

    提示:阅读论文时进行相关思想.结构.优缺点,内容进行提炼和记录,论文和相关引用会标明出处. 文章目录 前言 介绍 背景知识 相关工作 具体实现结构 Pre-training BERT Fine-tun ...

  10. BERT论文阅读(一): Pre-training of Deep Bidirectional Transformers for Language Understanding

    BERT三大核心: pre-training bidirectional==>alleviates the unidirectionality constriant of fine-tuning ...

最新文章

  1. [JOISC2014]バス通学
  2. 杨威(为奥运冠军名字作诗)
  3. 【android】【git】Android源代码获取(Windows)
  4. 我是越来越喜欢做产品了
  5. TI C6000DSP上TCP/IP协议栈的实现
  6. 【转】搞机:window10安装Linux子系统(WSL)及迁移到非系统盘
  7. hysys动态模拟教程_Steam特别好评!新游《模拟消防英豪》现已上市
  8. Bailian1192 最优连通子集【DFS】
  9. Atitit mybatis topic file list Total 300ge (9+条消息)MyBatis框架核心之(五)注解使用resultMap及多表查询 - 弱弱的猿 - CSD
  10. 【ELT.ZIP】OpenHarmony啃论文俱乐部—数据密集型应用内存压缩
  11. 视觉SLAM十四讲学习笔记——ch10 后端2
  12. 我的十大期望,已经过去五年了,我看看还需要多少年
  13. 约束优化内罚函数c语言程序,约束优化惩罚函数法.pdf
  14. ChemDraw使用不了怎么办
  15. 《Spring Cloud、Nginx高并发核心编程》读书笔记【END】
  16. [ERP]VMI概念与运用场景
  17. java动画迷宫寻路_迷宫寻路算法
  18. 离线调用linux命令,GitHub - rinetd/linux-command: Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。...
  19. win10注册mysql服务_win10下搭建MySQL服务
  20. HBase快速导入巨量数据—— Bulk Loading

热门文章

  1. 干货-任正非号召华为员工学习:认识5G,发展5G
  2. 黑猫带你学UFS协议第11篇:两万字详解UFS协议信息单元(UPIU)
  3. Cocos Creator Erro 4916,Failed to load scene的问题找到了!---cocos creator打包微信小游戏的坑
  4. Python 函数的4种参数
  5. 数据库名词解释 主键外键检查 非空、唯一性约束 父表 子表
  6. 京东生鲜全品类爬虫--往期创作整理
  7. Qt 之 QVideoFrame转换为QImage
  8. BP综述:自闭症中基于功能连接体的预测模型
  9. xp cmd命令大全
  10. 一个开源的论坛系统AstalPathTalk