BERT: Pre-training of Deep Bidirectional Transformer for Language Understanding 阅读笔记(部分翻译)

2023-10-27

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

Author Unit: Google AI Language

Authors: Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova

Code: https://github.com/ google-research/bert

Conference: arXiv:1810.04805v2 [cs.CL] 24 May 2019

Email: {jacobdevlin,mingweichang,kentonl,kristout}@google.com

Paper address: https://arxiv.org/abs/1810.04805

bilibili_limu: https://www.bilibili.com/video/BV1PL411M7eQ

Notion 版本的笔记

以下引用的句子都来自李沐讲的视频。

Bert的出现,使得我们终于可以在一个大的数据集上训练好一个比较深的神经网络,然后应用在很多NLP的任务上面,既简化了这些NLP任务的训练,又提升了它的性能。

Abstract

Bidirectional Encoder Representations from Transformers. 与最近的语言表示模型(Peters et al.,2018a;Radford et al.,2018 这里指的是ELMo和GPT模型)不同,BERT 旨在通过对所有层的左右上下文进行联合调节,从未标记的文本中预训练深度双向表示( GPT是单向的,所以其更适合做生成 )。 因此,预训练的 BERT 模型可以仅通过一个额外的输出层进行微调,从而为各种任务(例如问答和语言推理)创建最先进的模型,而无需对特定于任务的架构进行大量修改( ELMo是基于RNN的,所以如果应用其他任务,需要做较多的结构修改 )。

BERT概念简单,经验强大。它在11个自然语言处理任务上获得了新的最先进的结果,包括将GLUE分数提高到80.5%(**7.7%**的绝对改进点),多项准确率提高到86.7%(4.6%的绝对改进点),SQuAD v1.1答题测试F1达到93.2(1.5分绝对提高),SQuAD v2.0测试F1达到83.1(5.1分绝对提高)。

写论文的时候要把两点写出来,一个是绝对精度,一个是相对提升的精度。
Bert是先写了自己是基于哪些工作做了改进,然后写了自己的结果比别人好在什么地方。

1 Introduction

语言模型预训练已被证明对提高许多自然语言处理任务是有效的 (Dai and Le,2015;Peters et al., 2018a;Radford et al.,2018;Howard and Ruder, 2018).

目前有两种将预训练的语言表示应用于下游任务的策略:基于特征的策略和微调策略)(feature-based and fine-tuning)。基于特征的方法,如ELMo (Peters et al.,2018a),使用特定任务的架构,它的输入会包括预训练好的表示作为额外特征。Fine-tuning方法,如OpenAI GPT (Radford et al.,2018),引入了最小的(minimal)特定任务参数,并通过简单微调所有预训练的参数对下游任务进行训练( 意思应该是对于下游任务不用引入更多参数了 )。这两种方法在预训练阶段具有相同的目标函数,即使用单向语言模型学习一般语言表示。

单向的语言表征模型具有局限性,从两个方向来理解句子层面的知识是很重要的!例如问答,需要理解了整个句子之后才能很好的去选择答案。

BERT受Cloze task (Taylor,1953)的启发,采用了“masked language model”(MLM)的预训练目标,缓解了前面提到的单向性约束。掩码语言模型从输入中随机屏蔽一些token,目标是仅根据其上下文来预测屏蔽词的原始词汇 id。 与从左到右的语言模型预训练不同,MLM 目标使学习到的表征能够融合左右上下文,这使我们能够预训练深度双向 Transformer。 除了掩码语言模型,我们还使用了“next sentence prediction”任务来联合预训练text-pair表征。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BERT: Pre-training of Deep Bidirectional Transformer for Language Understanding 阅读笔记(部分翻译) 的相关文章

随机推荐

  • ubuntu 18.04 安装 Redis

    来源于 https wangxin1248 github io linux 2018 07 ubuntu18 04 install redis html top 感谢作者 Redis 安装 Redis是一款内存键值存储 以其灵活性 性能和广
  • ALLEGRO17.2椭圆过孔焊盘绘制

    1 先打开Padstack Editer 先把左下角Units 的单位改为MM 2 进入这个界面后这里选择Slot 3 这里Oblong Rectangle Rcunded Rectangle Chamfered Rectangle都可以选
  • VoVNet:实时目标检测的新backbone网络

    目前基于深度学习的目标检测模型无不依赖CNN分类网络来作为特征提取器 如SSD采用VGG YOLO采用DarkNet Faster R CNN采用ResNet 我们一般称这些网络为目标检测模型的backbone ResNet是目标检测模型最
  • 增强型pmos电路符号_一文看懂CMOS集成门电路

    来源 内容由半导体行业观察 ID icbank 授权转载自公众号 芯爵ChipLord 作者功烨 谢谢 CMOS门电路由PMOS场效应管和NMOS场效应管以对称互补的形式组成 本文先介绍MOS管 然后再介绍由CMOS组成的门电路 MOS英文
  • #No module named ‘tensorflow_core.keras‘引发的一连串问题

    No module named tensorflow core keras 引发的一连串问题 让头发掉得更猛烈些吧 项目场景 本人在用研究LSTM算法中遇到了bug 当要构建神经网络时出现了这条报错 问题描述 运行算法包 import te
  • 【阅读笔记】你不知道的Javascript--强制类型转换4

    目录 强制类型转换 基本概念 JSON boolean 强转归纳 其他知识点 被诟病的 安全使用隐式强转法则 抽象关系比较 语法 表达式变动 强制类型转换 基本概念 类型转换发生在静态类型语言的编译阶段 强制类型转换则发生在动态类型语言的运
  • github 在线使用vscode 小技巧

    问题 通常我们在github上预研 查看一些代码库的时候并不行把代码克隆下来 然后用IDE工具去查看 知识简短查看一部分内容 但是由于项目有时间代码文件层次比较深 不容易找到对应字符定义 方法 方法一 只读模式 github提供了在线vsc
  • vscode python print 输出窗口中文乱码

    一 搭建 python 环境 在 VSC 中点击 F1 键 弹出控制台 输入 ext install 界面左侧弹出扩展窗格 输入python 确认 开始搜索 下载发布者为Don Jayamanne 的 Python 插件 下载过程中不要切换
  • C++ 向kafka中发送数据

    kafka是一个分布式流处理的平台 通过kafka我们可以发布和订阅流式记录 有关kafka的介绍可以参考官网或者这篇文章 https juejin im post 6844903495670169607 介绍的非常的详细 我个人喜欢把ka
  • java图像处理-(指定区域内)灰度化、透明化(alpha通道)处理

    近日在一家小公司实习 老板要求我写一个图形编辑器 其中涉及到用java处理图像 一般图像处理python用的比较多 感觉网上关于java处理图像的资料不是很多 也许是因为我没有认真的去翻吧 所以想把自己处理的一些想法记录一下 灰度化 图片的
  • 毕业设计-基于大数据的电影推荐系统-python

    目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目越来越难 有不少课题是研究生级别难度
  • SystemVerilog

    inside属于SystemVerilog中操作符的一种 set membership operator 基本语法格式为 expression inside range list 有时合理使用inside操作 可以使得编码更为高效和简洁 在
  • 企业小程序开发步骤【教你创建小程序】

    随着移动互联网的兴起 微信已经成为了很多企业和商家必备的平台 而其中 微信小程序是一个非常重要的工具 本文将为大家介绍小程序开发步骤 教你创建小程序 步骤一 注册小程序账号 先准备一个小程序账号 在微信公众平台的网站上注册即可 注册时要注意
  • 算法训练营第二天(7.13)

    目录 双指针 LeeCode977 Squares of a Sorted Array 滑动窗口 LeeCode209 Minimum Size Subarray Sum 总结 双指针 LeeCode977 Squares of a Sor
  • cocos 制作微信箫游戏_Cocos Creator如何制作3D微信小游戏

    Cocos Creator推出了3D编辑器 集成到了2 1以后的版本 今天我们来看下如何来使用 Cocos creator2 1做3D 1 可以2D 3D来回切换的场景编辑器 点击按钮 可以进入3D编辑器模式 再点击一下有回到2D编辑模式
  • 多目标优化-测试问题及其Pareto前沿

    多目标进化算法系列 多目标进化算法 MOEA 概述 多目标优化 测试问题及其Pareto前沿 多目标进化算法详述 MOEA D与NSGA2优劣比较 多目标进化算法 约束问题的处理方法 基于C 的多目标进化算法平台MOEAPlat实现 MOE
  • 计算机中字符编码的表示

    概述 计算机处理的数据中 除了数值型的数据以外 还有字符 图形等非数值型的数据 其中字符是日常生活中使用最繁琐的非数值型数据 它包括大小写英文字母 符号以及汉字等 由于计算机只能识别二进制编码 为了能够对字符进行识别和处理 因此要对非数值型
  • mysql5.7驱动程序配置_mysql 5.7下载安装配置详细教程

    1 mysql 5 7安装的系统约定 linux环境Mysql 5 7 17安装教程分享给大家 供大家参考 具体内容如下 安装文件下载目录 data softwareMysql目录安装位置 usr local mysql数据库保存位置 da
  • 接口测试之测试原则、测试用例、测试流程......

    一 接口的介绍 软件测试中 常说的接口有两种 图形用户接口 GUI 人与程序的接口 应用程序编程接口 API 接口 API 是系统与系统之间 模块与模块之间或者服务与服务之间相互调用的入口 它的本质 其实就是一种约定 在开发前期 我们约定接
  • BERT: Pre-training of Deep Bidirectional Transformer for Language Understanding 阅读笔记(部分翻译)

    BERT Pre training of Deep Bidirectional Transformers for Language Understanding Author Unit Google AI Language Authors J