【深度学习:开源BERT】 用于自然语言处理的最先进的预训练

【深度学习:开源BERT】 用于自然语言处理的最先进的预训练

    • 是什么让 BERT 与众不同?
    • 双向性的优势
    • 使用云 TPU 进行训练
    • BERT 结果
    • 让 BERT 为您所用

自然语言处理 (NLP) 面临的最大挑战之一是训练数据的短缺。由于 NLP 是一个具有许多不同任务的多元化领域,因此大多数特定于任务的数据集仅包含几千或几十万个人工标记的训练样本。然而,基于深度学习的现代 NLP 模型可以从大量数据中获益,当在数百万或数十亿个带注释的训练样本上进行训练时,这些模型会有所改善。为了帮助缩小这一数据差距,研究人员开发了多种技术,用于使用网络上大量未注释的文本(称为预训练)来训练通用语言表示模型。然后,可以对小数据 NLP 任务(如问答和情感分析)对预训练模型进行微调,与从头开始训练这些数据集相比,准确性有了实质性的提高。

本周,我们开源了一种用于 NLP 预训练的新技术,称为 Bidirectional Encoder Representations from Transformers 或 BERT。在此版本中,世界上任何人都可以在大约 30 分钟内在单个 Cloud TPU 上训练自己的先进问答系统(或各种其他模型),或者使用单个 GPU 在几个小时内训练自己的先进问答系统。该版本包括基于 TensorFlow 构建的源代码和许多预训练的语言表示模型。在我们的相关论文中,我们展示了 11 个 NLP 任务的最新结果,包括极具竞争力的斯坦福问答数据集 (SQuAD v1.1)。

是什么让 BERT 与众不同?

BERT 建立在训练前上下文表示的最新工作之上,包括半监督序列学习、生成式预训练、ELMo 和 ULMFit。然而,与这些以前的模型不同,BERT是第一个深度双向、无监督的语言表示,仅使用纯文本语料库(在本例中为维基百科)进行预训练。

为什么这很重要?预训练的表示可以是无上下文的,也可以是上下文的,上下文表示可以是单向的或双向的。word2vec 或 GloVe 等上下文无关模型为词汇表中的每个单词生成单个单词嵌入表示。例如,“bank”一词在“bank account”和“bank of the river”中具有相同的上下文无关表示形式。相反,上下文模型会根据句子中的其他单词生成每个单词的表示形式。例如,在句子“我访问了银行帐户”中,单向上下文模型将基于“我访问了”而不是“帐户”来表示“银行”。然而,BERT 使用其前一个和下一个上下文来表示“银行”——“我访问了…account“——从深度神经网络的最底层开始,使其深度双向。

BERT的神经网络架构与以前最先进的上下文预训练方法相比的可视化如下所示。箭头表示从一层到下一层的信息流。顶部的绿色框表示每个输入词的最终上下文表示:

在这里插入图片描述

BERT 是深度双向的,OpenAI GPT 是单向的,ELMo 是浅层双向的。

双向性的优势

如果双向性如此强大,为什么以前没有做过?要理解原因,请考虑通过预测句子中前面单词的每个单词来有效地训练单向模型。但是,不可能通过简单地将每个单词调整为前一个和下一个单词来训练双向模型,因为这将允许被预测的单词在多层模型中间接地“看到自己”。

为了解决这个问题,我们使用简单的技术,将输入中的一些单词屏蔽掉,然后双向调节每个单词以预测被屏蔽的单词。例如:

在这里插入图片描述
虽然这个想法已经存在很长时间了,但 BERT 是第一次成功地将其用于预训练深度神经网络。

BERT 还通过预训练一个非常简单的任务来学习建模句子之间的关系,该任务可以从任何文本语料库生成:给定两个句子 A 和 B,B 是语料库中 A 之后的实际下一个句子,还是只是一个随机句子?例如:

在这里插入图片描述

使用云 TPU 进行训练

到目前为止我们所描述的一切似乎都相当简单,那么它缺少什么让它工作得这么好呢?云 TPU。云 TPU 使我们能够自由地快速实验、调试和调整我们的模型,这对于我们超越现有的预训练技术至关重要。 Google 研究人员于 2017 年开发的 Transformer 模型架构也为我们奠定了 BERT 成功所需的基础。 Transformer 在我们的开源版本以及tensor2tensor 库中实现。

BERT 结果

为了评估性能,我们将 BERT 与其他最先进的 NLP 系统进行了比较。重要的是,BERT 取得了所有成果,几乎没有对神经网络架构进行任何针对特定任务的更改。在 SQuAD v1.1 上,BERT 达到了 93.2% 的 F1 分数(准确度衡量标准),超过了之前 91.6% 的最先进分数和 91.2% 的人类水平分数:

在这里插入图片描述

BERT 还在极具挑战性的 GLUE 基准测试(一组 9 个不同的自然语言理解 (NLU) 任务)上将最先进的技术提高了 7.6% 的绝对值。在这些任务中,人工标记的训练数据量从 2,500 个样本到 400,000 个样本不等,BERT 大大提高了所有这些任务的最新准确性:

#在这里插入图片描述

让 BERT 为您所用

我们发布的模型可以在几个小时或更短的时间内对各种 NLP 任务进行微调。开源版本还包括运行预训练的代码,尽管我们相信大多数使用 BERT 的 NLP 研究人员永远不需要从头开始预训练自己的模型。我们今天发布的 BERT 模型是纯英语的,但我们希望在不久的将来发布已经过各种语言预训练的模型。

开源 TensorFlow 实现和指向预训练 BERT 模型的指针可在 http://goo.gl/language/bert 中找到。或者,您可以通过 Colab 的笔记本“BERT FineTuning with Cloud TPU”开始使用 BERT。

您还可以阅读我们的论文“BERT:用于语言理解的深度双向变压器的预训练”了解更多详细信息。

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

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

相关文章

C#学习(十一)——Array和Collection

一、集合 集合重要且常用 孤立的数据是没有意义的,集合可以作为大量数据的处理,可进行数据的搜索、迭代、添加、删除。 C#中,所有集合都必须实现ICollection接口(数组Array除外) 集合说明Array数组,固定长…

【GitHub项目推荐--基于 AI 的口语训练平台】【转载】

Polyglot Polyglot 是一个开源的基于 AI 的口语训练平台客户端,可以在 Windows、Mac 上使用。 比如你想练习英语口语,只需在该平台配置一个虚拟的 AI 国外好友,你可以通过发语音的方式和 AI 好友交流,通过聊天的方式提升你的口…

中仕教育:事业单位考试考什么?

事业单位考试分为两个阶段,分别是笔试和面试,考试科目包括公共科目和专业科目两部分。 公共科目内容是公共基础知识、职业能力测试或申论。一种形式为:公共基础知识职业能力测试或职业能力测试申论。另一种形式为:公共基础申论。…

c语言基础6

1.逗号表达式 逗号表达式,就是用逗号隔开的多个表达式。 逗号表达式,从左向右依次执行。整个表达式的结果是最后⼀个表达式的结果。 我们来看下面的一个代码: int main() {int a 1;int b 2;int ret (a > b, a b 2, b, b a 1);p…

Nginx实现反向代理负载均衡实验

实验环境: VM REdhat虚拟机(192.168.87.5)一台、VM Redhat虚拟机(192.168.87.3)一台、阿里云服务器(47.93.79.92)一台 实验要求:通过windows浏览器访问192.168.87.5(虚…

《合成孔径雷达成像算法与实现》Figure5.19

clc clear close all距离向参数 R_eta_c 20e3; % 景中心斜距 Tr 25e-6; % 发射脉冲时宽 Kr 0.25e12; % 距离向调频率 Fr 7.5e6; % 距离向采样率 Nrg 256; % 距离线采样点数 Bw abs(Kr*Tr); …

仰暮计划|“她就是用她的一双小脚把我们兄弟姐妹几个拉扯大的”

在残存的一些老物件中,在一些泛黄的相片中,掩藏着岁月的冲刷和青葱的时光。曾经无忧无虑的少女早已白发苍苍,不复青春貌美;曾经在父母面前笑闹的孩子早已变成他人眼中的长辈。 ——题记 她的身影也许并不高大,甚至还略…

Linux编辑器vim(含vim的配置)

文章目录 前言vim的基本概念vim基本操作进入vim模式切换退出vim vim指令vim命令模式指令vim底行模式命令 简单vim配置 前言 本篇文章,小编将介绍Linux编辑器–>vim以及vim的配置。 vim的基本概念 正常/普通/命令模式(Normal mode) 控制屏幕光标的移动&#xf…

Gin 框架之jwt 介绍与基本使用

文章目录 一.JWT 介绍二.JWT认证与session认证的区别2.1 基于session认证流程图2.2 基于jwt认证流程图 三. JWT 的构成3.1 header : 头部3.2 payload : 负载3.2.1 标准中注册的声明 (建议但不强制使用)3.2.2 公共的声明3.2.3 私有的声明3.2.4 定义一个payload 3.3 signatrue : …

【计算机网络】概述|分层体系结构|OSI参考模型|TCP/IP参考模型|网络协议、层次、接口

目录 一、思维导图 二、计算机网络概述 1.计算机网络定义、组成、功能 2.计算机网络分类 3.计算机网络发展历史 (1)计算机网络发展历史1:ARPANET->互联网 (2)计算机网络发展历史2:三级结构因特网 …

jenkins对接K8S

创建连接K8S的凭据 查看需要使用到的命名空间 [rootk8s ~]# kubectl get ns |grep arts-system arts-system Active 16d创建service accounts [rootk8s ~]# kubectl create sa jenkins-k8s -n arts-system serviceaccount/jenkins-k8s created [rootk8s ~]# kubectl…

一键批量处理,轻松为HTML文本添加所需内容

你是否曾经遇到过需要批量处理大量HTML文本的情况?是否曾经因为一个个编辑而感到繁琐和无趣?现在,这些问题都可以得到轻松解决!我们的文本批量处理工具,为你提供一站式的服务,让你告别重复繁琐的操作&#…

java eazyexcel 实现excel的动态多级联动下拉列表(2)使用MATCH+OFFSET函数

原理 同样是将数据源放到一个新建的隐藏的sheet中,第一行是第一个列表的数据,第二行是每一个有下级菜单的菜单,他下面的行就是他下级菜单的每一值使用MATCH函数从第二行找到上级菜单对应的列根据OFFSET函数从2中获取的列,取得下级…

深度学习之处理多维特征的输入

我们首先来看一个糖尿病的数据集: 在数据集中,我们称每一行叫做sample,表示一个样本,称每一列是feature,也就是特征在数据库里面这就是一个关系表,每一行叫做记录,每一列叫做字段。 每一个样本都…

2024年第一篇博客

这是2024年的第一篇博客,2023年笔者经历了一连串的生活、工作、学习上的转折和调整,跌跌撞撞时光飞逝,转眼间就踏着元旦的钟声步入了2024年,前思后想、辗转反侧、犹豫再三不知道从哪里开始博客新的篇章,这个问题坦诚说…

ARL灯塔vps云服务器安装

前提是vps服务器已经安装好docker 1、下载压缩包到本地 2、解除不能扫描edu等域名的限制 解压docker_arl.zip,打开docker_arl/config-docker.yaml文件 删除掉edu.cn等限制域名(图中已删除) 3、上传至vps云服务器 将docker_arl文件上传到云服务器opt目录下 这里我…

【智能家居】6、语音控制及网络控制代码实现

一、语音控制 1、指令结构体编写 这个结构体定义了一个命令输入的模型。在这个模型中,包含以下几个部分: cmdName:一个长度为128的字符串,用于存储命令名称。dvicesName:一个长度为128的字符串,用于存储设备名称。cmd:一个长度为32的字符串,用于存储具体的命令。Init:…

qt初入门6:QChar和QString相关接口练习

简单了解编码: ​ latin1(ISO 8859-1)字符集是对ASCII基本字符集的扩展,都是1字节编码。 Unicode编码有多重存储方案,utf-8使用1~4字节编码,最少1字节;utf-16使用2-4字节编码,最少2字…

数据湖技术之发展现状篇

一. 大数据处理架构: 大数据处理架构的发展过程具体可以分为三个主要阶段:批处理架构、混合处理架构(Lambda、Kappa架构)、湖仓一体。首先是随着Hadoop生态相关技术的大量应用,批处理架构应运而生,借助离线…

中国新能源汽车持续跑出发展“加速度”,比亚迪迎来向上突破

2023年已经过去,对于汽车圈而言,2023年是中国车市的分水岭,在这一年,中国汽车工业70年以来首次进入全球序列,自主品牌强势霸榜,销量首次超过合资车。要知道,这是自大众于1984年进入中国市场成立…