论文浅尝 | BERT:Pre-training of Deep Bidirectional Transformers

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


链接: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 博客。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479445.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

欺诈检测相关论文

欺诈检测相关论文一、分类1、GEM2、HACUD3、MAHINDER4、Semi-GNN5、MvMoE6、AMG-DP7、AddGraph8、NetWalk9、DOMINANT10、GraphConsis11、PC-GNN12、TRUST二、类别不平衡一、分类 1、GEM 来自蚂蚁金服的论文,他们提出GEM模型,是一个异质图神经网络方法&a…

LeetCode 220. 存在重复元素 III(lower_bound)

文章目录1. 题目2. 解题1. 题目 给定一个整数数组,判断数组中是否有两个不同的索引 i 和 j,使得 nums [i] 和 nums [j] 的差的绝对值最大为 t,并且 i 和 j 之间的差的绝对值最大为 ķ。 示例 1:输入: nums [1,2,3,1], k 3, t 0 输出: tr…

Android自定义控件入门实践之雷达扫描控件

以前因为工作的关系,对于自定义控件用的少之又少,无非就是把几个控件放置到ViewGroup内部,然后提供开放方法,就成了一个所谓的自定义控件,但是这种小伎俩太简单,面试的时候这点东西根本Hold不住场&#xff…

论文浅尝 | 基于知识图谱注意力网络的商品推荐

论文笔记整理:康矫健,浙江大学计算机科学与技术系,硕士研究生。论文链接:https://arxiv.org/pdf/1905.07854.pdf发表会议:KDD 2019任务定义输入:协同过滤知识图谱具体来说包括两个部分,其一是用…

Java 动态调试技术原理及实践

断点调试是我们最常使用的调试手段,它可以获取到方法执行过程中的变量信息,并可以观察到方法的执行路径。但断点调试会在断点位置停顿,使得整个应用停止响应。在线上停顿应用是致命的,动态调试技术给了我们创造新的调试模式的想象…

非常适合初学者的机器学习的数学基础笔记.pdf

本文推荐一份机器学习数学基础专辑,非常适合初学者入门,文末提供下载。机器学习,需要一定的数学基础,也需要一定的代码能力。机器学习从业者数学基础不扎实,只会用一些工具和框架,相当于某些武术家只会耍套…

LeetCode 1094. 拼车

文章目录1. 题目2. 解题1. 题目 假设你是一位顺风车司机,车上最初有 capacity 个空座位可以用来载客。由于道路的限制,车 只能 向一个方向行驶(也就是说,不允许掉头或改变方向,你可以将其想象为一个向量)。…

MySQL的锁机制和加锁原理

原文链接:https://blog.csdn.net/qq_38238296/article/details/88362999 文章目录 MySQL的锁机制和加锁原理1.行锁2.表锁3.页锁4.乐观锁和悲观锁4.1悲观锁4.2乐观锁5.1InnoDB锁的特性 6.Record Lock、Gap Lock、Next-key Lock锁6.1.Record Lock6.2.Gap Lock6.2.​…

CVPR 2019轨迹预测竞赛冠军方法总结

背景 CVPR 2019 是机器视觉方向最重要的学术会议,本届大会共吸引了来自全世界各地共计 5160 篇论文,共接收 1294 篇论文,投稿数量和接受数量都创下了历史新高,其中与自动驾驶相关的论文、项目和展商也是扎堆亮相,成为本…

TSNE画图

TSNE画图 2D图 from sklearn.manifold import TSNE import matplotlib.pyplot as plt import numpy as np# 10条数据,每条数据6维 h np.random.randn(10, 6) # 使用PCA降维到2维 tsne TSNE(n_components2, initpca, random_state0) result_2D tsne.fit_transfo…

深入探讨:为什么要做特征归一化/标准化?

文 | shine-lee源 | CSDN本文解读了一项数据预处理中的重要技术——特征归一化,提出并解答了5个相关问题,同时分析了相关方法和适用场景。写在前面Feature scaling,常见的提法有“特征归一化”、“标准化”,是数据预处理中的重要技…

LeetCode 950. 按递增顺序显示卡牌(deque)

文章目录1. 题目2. 解题1. 题目 牌组中的每张卡牌都对应有一个唯一的整数。你可以按你想要的顺序对这套卡片进行排序。 最初,这些卡牌在牌组里是正面朝下的(即,未显示状态)。 现在,重复执行以下步骤,直到…

技术动态 | 知识图谱从哪里来:实体关系抽取的现状与未来

本文作者为:韩旭、高天宇、刘知远。转载自刘知远老师的知乎专栏,文章链接:https://zhuanlan.zhihu.com/p/91762831最近几年深度学习引发的人工智能浪潮席卷全球,在互联网普及带来的海量数据资源和摩尔定律支配下飞速提升的算力资源…

Android 兼容 Java 8 语法特性的原理分析

本文主要阐述了Lambda表达式及其底层实现(invokedynamic指令)的原理、Android第三方插件RetroLambda对其的支持过程、Android官方最新的dex编译器D8对其的编译支持。通过对这三个方面的跟踪分析,以Java 8的代表性特性——Lambda表达式为着眼点…

由Actvity启动模式之SingleInstance引起的坑的反思

以前对于Activity的启动模式只限于文字说明理解的层面,但最近的一个问题让我对启动模式有了更深的了解。 Activity有四大启动模式:standard,singleTop,singleTask,singleInstance,这些启动模式的特点就不在这里细说,主要说一下SingleInstanc…

“李宏毅老师对不起,我要去追这门美女老师的课了” ,台大陈蕴侬深度学习课程最新资料下载...

估计很多同学看到台大首先想到是李宏毅老师的“深度学习人类语言处理”课程,不过这次我们说的是台湾大学陈蕴侬老师的“应用深度学习”课程,这门课程我们之前推荐过,不过主要给大家推荐的是课程视频和课件资源。前段时间,我把这门…

超级好用的使用python批量更新MYsql,速度从一万条需要一天变道一万条需要10分钟左右

推荐网址:https://www.jb51.net/article/100747.html MySQL批量插入的语法为: UPDATE nine_tupleSET SENTI_VALUE CASE N_T_ID WHEN 1 THEN ‘1.57’ WHEN 2 THEN ‘1.3’ WHEN 3 THEN ‘1.2’ END WHERE N_T_ID IN (1,2,3)主要思想:将42W条…

论文浅尝 | 使用位置敏感的序列标注联合抽取实体和重叠关系

论文笔记整理:余海阳,浙江大学硕士,研究方向为知识图谱、自然语言处理。链接:https://wvvw.aaai.org/ojs/index.php/AAAI/article/view/4591动机之前的联合抽取实体以及实体间的关系的方法,主要是采用管道模型&#xf…

LeetCode 938. 二叉搜索树的范围和(二叉树遍历+搜索剪枝)

文章目录1. 题目2. 解题递归剪枝中序遍历循环剪枝1. 题目 给定二叉搜索树的根结点 root,返回 L 和 R(含)之间的所有结点的值的和。 题目的意思,节点的值在[L, R]这个区间内,就加到结果里,求所有符合条件的…

OneData建设探索之路:SaaS收银运营数仓建设

背景 随着业务的发展,频繁迭代和跨部门的垂直业务单元变得越来越多。但由于缺乏前期规划,导致后期数仓出现了严重的数据质量问题,这给数据治理工作带来了很大的挑战。在数据仓库建设过程中,我们总结的问题包括如下几点&#xff1a…