最强NLP模型-BERT

简介:

BERT,全称Bidirectional Encoder Representations from Transformers,是一个预训练的语言模型,可以通过它得到文本表示,然后用于下游任务,比如文本分类,问答系统,情感分析等任务.BERT像是word2vec的加强版,同样是预训练得到词级别或者句子级别的向量表示,word2vec是上下文无关的(Context-Free),而BERT是上下问有关的(Contextual).意思就是,word2vec只是具有词本身的语义信息,而没有包含文本(不是特指某个文本,而是所有跟该词相关的文本信息)上下文信息,BERT却是相反的.目前为止,BERT已经取得了所有NLP任务的最好结果,所以才称之为最强NLP模型.

以下是BERT的详细介绍:

1.Mask-LM

传统的一般形式语言模型,都是从前向后(从左到右)的得到文本的语义表示.

图1

这样得到的文本表示句子结尾处的词可以包含前面词的语义信息,但是前面的词并有包含后面词的语义信息.为了解决这一问题,从而引出了双向RNN结构的模型(Bi-RNN/Bi-LSTM).但是如果模型加深,那么最后可能会形成一个"cycle"(作者原话),这是因为一层Bi-RNN会使前面的词包含后面词的语义,后面的词包含前面词的语义,那么一层一层的加深,每个词都会包含整个句子的语义信息,最后加深就变成了自己包含自己的"cycle".

所以作者在这里并没有使用循环神经网络架构,而是使用一种叫做Mask-LM的方法,使用Transformer进行训练:
We mask out 15% of the words in the input, run the entire sequence through a deep bidirectional Transformer encoder, and then predict only the masked words. For example:

图2

根据文中的意思很好理解Mask-LM的意思,就是随机的去掉部分输入句子的单词,让其作为要预测的label(相当于完形填空),然后用双向深度Transformer模型进行训练.

2.Next Sentence Prediction

此外,为了学习句子之间的关系,作者还训练一个简单任务:给出两个句子A和B,B是A之后的实际下一个句子,或者只是语料库中的随机句子?也就是判断句子B是不是句子A的下一个句子,是或者不是,这是一个二分类问题,称之为Next Sentence Prediction,它是BERT论文新提出的一项NLP任务,所以目前应该没有专门针对NSP的语料库.

图3

3.模型结构

BERT包括两个步骤:预训练Pre-training和微调fine-tuning.预训练是要花费很长的时间,而且硬件要求也很高,作用使用了4到16个云TPU训练了4天,所以家里没有矿的伙伴就直接使用预训练好的模型参数进行微调吧.文章开头也说了,BERT可以作为预训练模型,用于其他下游NLP任务,所以只需要使用预训练好的模型参数,加上微调就可以在常见的NLP任务上取得较好的效果.

作者给出了两个主要模型:Basic-model,Large-model.分别有12层/768个神经单元/12-heads/110M参数和24层/1024个神经单元/16heads/340M参数.以下是一些模型的其他release版本,其中uncased是指文本已经分词和小写处理.

图4

作者强调,BERT模型的硬件要求高,参数量较小的Basic-model也需要在12g-16g的GPU上才可以运行(所以我也就只能看看文章--.).

模型更详细的其他信息,可参考BERT代码github:BERT

原文地址:https://www.cnblogs.com/hiyoung/p/10132560.html

时间: 2024-10-11 21:59:46

最强NLP模型-BERT的相关文章

百度NLP预训练模型ERNIE2.0最强实操课程来袭!【附教程】

2019年3月,百度正式发布NLP模型ERNIE,其在中文任务中全面超越BERT一度引发业界广泛关注和探讨.经过短短几个月时间,百度ERNIE再升级,发布持续学习的语义理解框架ERNIE 2.0,及基于此框架的ERNIE 2.0预训练模型.继1.0后,ERNIE英文任务方面取得全新突破,在共计16个中英文任务上超越了BERT和XLNet, 取得了SOTA效果. 本篇内容可以说是史上最强实操课程,由浅入深完整带大家试跑ERNIE,大家可前往AI Studio fork代码 (https://ais

2019年最强的自然语言处理模式BERT

大家好,我是小发猫.今天又要跟大家讲故事了. 18日结束时,BERT( <BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding>)刷新了所有主要NLP公共号码和新闻媒体,创下了11项自然语言处理记录的新纪录,也被称为2019年最强的自然语言处理模式. 作者很早就把论文读完了,很长时间没有开始工作.一方面,他很懒,各种事情都被耽搁了.另一方面,在完成具体任务的具体练习后,他仍然想与每个人分

广告行业中那些趣事系列2:BERT实战NLP文本分类任务(附github源码)

摘要:上一篇广告中那些趣事系列1:广告统一兴趣建模流程,我们了解了如何为广告主圈人群以及如何刻画用户的兴趣度.要想给用户打标签,我们需要构建数据源和标签的关联,也就是item-tag.针对数量较少的app数据源我们可以使用人工打标的方式来识别,但是对于news.用户query等数量较多的数据源则需要通过机器学习模型来进行打标.实际项目中我们使用NLP中鼎鼎大名的BERT模型来进行文本分类. 通过本篇学习,小伙伴们可以迅速上手BERT模型用于文本分类任务.对数据挖掘.数据分析和自然语言处理感兴趣的

BERT模型介绍

前不久,谷歌AI团队新发布的BERT模型,在NLP业内引起巨大反响,认为是NLP领域里程碑式的进步.BERT模型在机器阅读理解顶级水平测试SQuAD1.1中表现出惊人的成绩:全部两个衡量指标上全面超越人类,并且还在11种不同NLP测试中创出最佳成绩,包括将GLUE基准推至80.4%(绝对改进7.6%),MultiNLI准确度达到86.7%(绝对改进率5.6%)等.BERT模型是以Transformer编码器来表示,本文在详细介绍BERT模型,Transformer编码器的原理可以参考(). 论文

史上最详尽的NLP预处理模型汇总

文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 转自 | 磐创AI(公众号ID:xunixs) 作者 | AI小昕 编者按:近年来,自然语言处理(NLP)的应用程序已经无处不在.NLP使用率的快速增长主要归功于通过预训练模型实现的迁移学习概念,迁移学习本质上是在一个数据集上训练模型,然后使该模型能够适应在不同的数据集上执行不同的NLP操作.这一突破使得每个人都能轻松地开启NLP任务,尤其是那些没有时间和资源从头开始构建NLP模型的人.所以,使用预

自然语言处理(NLP)——语言模型预训练方法(ELMo、GPT和BERT)

1. 引言 在介绍论文之前,我将先简单介绍一些相关背景知识.首先是语言模型(Language Model),语言模型简单来说就是一串词序列的概率分布.具体来说,语言模型的作用是为一个长度为m的文本确定一个概率分布P,表示这段文本存在的可能性.在实践中,如果文本的长度较长,P(wi | w1, w2, . . . , wi−1)的估算会非常困难.因此,研究者们提出使用一个简化模型:n元模型(n-gram model).在 n 元模型中估算条件概率时,只需要对当前词的前n个词进行计算.在n元模型中,

N-grams模型、停顿词(stopwords)和标准化处理 - NLP学习(2)

在上一节<Tokenization - NLP(1)>的学习中,我们主要学习了如何将一串字符串分割成单独的字符,并且形成一个词汇集(vocabulary),之后我们将形成的词汇集合转换成计算机可以处理的数字信息,以方便我们做进一步文本分析.这篇博客的主题还是我们如何将文本转成成更有用的成分,让我们能从文本当中提取到更多的信息以便作为特征输入到模型中训练,首先会介绍一下N-grams算法,之后会提到停顿词及英文文本常见的标准化处理手段,如大小写的改变.词干提取等(文章中的某些例子会涉及到正则表达

Attention is all you need及其在TTS中的应用Close to Human Quality TTS with Transformer和BERT

论文地址:Attention is you need 序列编码 深度学习做NLP的方法,基本都是先将句子分词,然后每个词转化为对应的的词向量序列,每个句子都对应的是一个矩阵\(X=(x_1,x_2,...,x_t)\),其中\(x_i\)都代表着第\(i\)个词向量,维度为d维,故\(x\in R^{n×d}\) 第一个基本的思路是RNN层,递归式进行: \[ y_t=f(y_{t-1},x_t) \] RNN结构本身比较简单,也适合序列建模,但RNN明显缺点之一在于无法并行,因而速度较慢,而且

Perseus-BERT——业内性能极致优化的BERT训练方案

[作者] 笋江(林立翔) 驭策(龚志刚) 蜚廉(王志明) 昀龙(游亮) 一,背景--横空出世的BERT全面超越人类2018年在自然语言处理(NLP)领域最具爆炸性的一朵"蘑菇云"莫过于Google Research提出的BERT(Bidirectional Encoder Representations from Transformers)模型.作为一种新型的语言表示模型,BERT以"摧枯拉朽"之势横扫包括语言问答.理解.预测等各项NLP锦标的桂冠,见图1和图2.