论文笔记整理:王春培,天津大学硕士。


链接:https://arxiv.org/pdf/1810.04805.pdf

动机

将预训练语言表示应用于下有任务现有两种策略:基于特征的和基于微调的。文章认为当前技术限制了预训练的能力,尤其是基于微调的方法。很多语言模型是单向的,或者特征抽取器功能不够强大,这些都限制了下游NLP任务的性能。BERT模型通过使用双向编码器来改进基于微调的方法,添加NSP提高模型性能,推进了11项NLP任务的技术。

亮点

BERT的亮点主要包括:

(1)使用双向语言模型,使用能力更强的Transformer提取特征,添加NSP任务,提高模型性能。

(2)推进了11项NLP任务的最新技术,可应用范围非常广。

概念及模型

  • 模型体系结构

BERT的模型架构是一个多层双向Transformer编码器,文中主要报告两种模型参数的结果:

(1)BERTBASE: L=12, H=768, A=12, TotalParameters=110M

(2)BERTLARGE: L=24, H=1024, A=16, TotalParameters=340M

  • 输入表示

输入表示分为三部分:

(1)词嵌入:用##表示分词

(2)位置嵌入:通过学习得到位置嵌入,支持序列长度可达512个令牌

(3)句子嵌入:句子对被打包成一个序列,首先用特殊标记将它们分开。其次,添加一个学习句子A嵌入到第一个句子的每个标记中,一个句子B嵌入到第二个句子的每个标记中,对于单个句子,只是用句子A嵌入。

  • 预训练任务

1、任务#1:Masked LM

文章认为双向语言模型比单向语言模型功能更强大,为了训练双向语言模型,文章采取的方法为随机屏蔽一定比例的输入令牌,然后仅预测那些被屏蔽的令牌,并将这其称为“Masked LM”(MLM),这种做法与CBOW不谋而合。

虽然可以此方法构建双向预训练模型,但这种方法有两个缺点。

首先,预训练和微调之间不匹配,因为[MASK]令牌在微调期间从未出现。为了减轻这种影响,文章提出并不总是用实际的[MASK]令牌替换“掩蔽”词。相反,训练数据生成器随机选择15%的令牌,然后执行以下过程:

(1)80%的时间:用[MASK]标记替换单词

(2)10%的时间:用随机单词替换单词

(3)10%的时间:保持单词不变

Transformer编码器不知道它将被要求预测哪些单词或哪些单词已被随机单词替换,因此它被迫保持每个输入标记的分布式上下文表示。此外,因为随机替换只发生在所有令牌的1.5%(即15%的10%),这似乎不会损害模型的语言理解能力。

第二个缺点是每批中只预测了15%的令牌,这表明模型可能需要更多的预训练步骤才能收敛。

2、任务#2:NSP

许多重要的下游任务都是基于理解两个文本句子之间的关系,而这两个文本句子并不是由语言建模直接捕获的。为了训练理解句子关系的模型,文章预先训练了一个可以从任何单语语料库生成的二值化的下一个句子预测任务。具体地,当为每个预训练示例选择句子A和B时,50%的时间B是跟随A的实际下一句子,并且50%的时间是来自语料库的随机句子。

实验

文章将介绍11个NLP任务的BERT微调结果:

1、GLUE结果

2、SQuAD v1.1

3、SQuAD v2.0

4、SWAG

总结

由于语言模式转换学习的经验改进表明,丰富的、无监督的预训练是许多语言理解系统的一个组成部分。特别是,这些结果使得即使是低资源任务也能从非常深的单向体系结构中受益。文章的主要贡献是将这些发现进一步推广到深度双向架构,允许相同的预训练模型成功解决一系列广泛的NLP任务。



OpenKG

开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

点击阅读原文,进入 OpenKG 博客。

论文浅尝 | BERT:Pre-training of Deep Bidirectional Transformers相关推荐

  1. Bert:Pre-training of Deep Bidirectional Transformers forLanguage Understanding

    原文链接:https://arxiv.org/pdf/1810.04805.pdf 概述 本文提出了一种新的语言模型-Bert,由transformer中的标准的双向编码器表示.该结构通过在所有层中对 ...

  2. 论文浅尝 | 当知识图谱遇上零样本学习——零样本学习综述

    随着监督学习在机器学习领域取得的巨大发展,如何减少人工在样本方面的处理工作,以及如何使模型快速适应层出不穷的新样本,成为亟待解决的问题.零样本学习(Zero-Shot Learning, ZSL)的提 ...

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

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

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

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

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

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

  6. 论文浅尝 | 利用多语言 wordnet 上随机游走实现双语 embeddings

    论文笔记整理:谭亦鸣,东南大学博士生,研究方向为知识图谱问答. 来源:Knowledge Based System 链接:https://www.sciencedirect.com/science/a ...

  7. 论文浅尝 | 图神经网络综述:方法及应用

    论文链接:https://arxiv.org/pdf/1812.08434.pdf GNN相关论文列表链接:https://github.com/thunlp/GNNPapers 近日,清华刘知远老师 ...

  8. 论文浅尝 | 近期论文精选

    本文转载自公众号 PaperWeekly, 对我们近期的论文浅尝进行了精选整理并附上了相应的源码链接,感谢 PaperWeekly! TheWebConf 2018 ■ 链接 | https://ww ...

  9. 论文浅尝 | 从 6 篇顶会论文看「知识图谱」领域最新研究进展 | 解读 代码

    本文内容源自往期「论文浅尝」,由 PaperWeekly 精选并重新排版整理,感谢 PaperWeekly. ISWC 2018 ■ 链接 | http://www.paperweekly.site/ ...

最新文章

  1. 用fft对信号进行频谱分析实验报告_示波器上的频域分析利器,Spectrum View测试分析...
  2. Dijkstra 最短路算法(只能计算出一条最短路径,所有路径用dfs)
  3. 我在Freebsd下安装帝国CMS系统整合Discuz的服务器环境配置
  4. Python学习笔记(5):Python如何忽略warning的输出
  5. 3c vrrp的接口监视_主备冗余协议,VRRP基础,状态机选举及VRRP配置,理论+实战...
  6. Mac文件共享不起作用时该怎么办
  7. python可以调用c语言编写的底层代码吗_Python基础笔记系列十四:python无缝调用c程序...
  8. Kneron用“重组”方案精简深度学习算法,芯片产品明年开售
  9. sicily 1345. 能量项链
  10. 设置电脑的保护色(绿豆沙色)
  11. K3 Cloud 数据库查询表常用语句
  12. 把人工智能体验做到极致,微软深挖人工情感的商机
  13. 计算机无法添加用户名或密码错误,win10系统无法登录网络打印机提示未知的用户名或者密码错误的设置技巧...
  14. 化繁从简,别让思维打了结
  15. 如何用优盘安装服务器操作系统,使用优盘安装服务器
  16. java clh队列什么意思_浅谈Java并发 J.U.C之AQS:CLH同步队列
  17. 永远的美女......
  18. 有可控冷热水隔板的储水式电热水器
  19. MSDN无法打开的解决办法
  20. fiddler如何看

热门文章

  1. 关于Visual C#.NET数据库开发经典案例解析(附光盘两张)(珍藏版)—的读后感...
  2. Cairngorm初学者入门教程 第六节--Cairngorm中Command利用Delegate与Service连接
  3. esp32 coredump分析
  4. android之APP模块编译
  5. getimg()在java中,java – 使用getClass()加载资源getResource()
  6. 广联达文件被锁怎么修复_事无巨细的绕过Apple id教程+修复蜂窝数据/电话
  7. python 交互式可视化库_Python 交互式可视化库
  8. MyBatis动态SQL_多表查询_延迟加载_缓存
  9. LeetCode MySQL 1127. 用户购买平台 *
  10. LeetCode 1450. 在既定时间做作业的学生人数