找回密码
 立即注册
搜索

了解神奇的BERT:自然言语处理的游戏规则改变者?


全文共2975字,估计学习时长6分钟


图源Unsplash



自然言语处理范畴中最具打破性的发展是BERT的发布(曾被以为是自然言语处理范畴的ImageNet)。与传统的自然言语处理形式相比,BERT层次最高,是具有革命性意义的自然言语处理形式。这给很多现有的计算机逻辑框架、训练方法、言语模型带来了启示,比如说谷歌的TransformerXL, OpenAI’sGPT-2, ERNIE2.0, XLNet, RoBERTa等等。

让我们一同来了解一下BERT,及其在转换自然言语处理方面的潜力。




什么是BERT?

BERT(Bidirectional EncoderRepresentations from Transformers)是由谷歌的研讨者于2018年开发的 一款开源代码的NLP预训练模型。它是GPT(广义言语模型)的延续,BERT在自然言语处理中优于其他几种形式并且在问答(SQuAD v1.1)、自然言语推理 (MNLI),和其他框架中提供了最优结果。

BERT建立于预训练上下文表征的基础上——包括半监督序列学习(由Andrew Dai和Quoc Le提出)、ELMo(由Matthew Peters和来自AI2和来自UW,、CSE的研讨人员提出)、ULMFiT(由fast.ai 创始人Jeremy Howard和Sebastian Ruder提出)、OpenAI transformer(由OpenAI研讨人员Radford、Narasimhan、Salimans和Sutskever提出)和Transformer (Vaswani等人提出)。

BERT之所以在其他框架中如此独一无二,是由于它初次运用深层双向无监督言语表征和在预训练中只运用纯文本语料库。由于BERT是开源的,所以任何人只需懂得机器学习知识,就能轻松地建立起一个NLP模型,且无需运用训练模型的大量源数据集。因此,节约了工夫、精神、知识和资源。

最后,在未标记文本的大型语料库中对BERT停止预训练,该语料库包括维基百科(大约25亿字)以及一个图书语料库(大约8亿字)。




BERT怎样运作的?

传统的与上下文有关模型(如word2vec或GloVe)为词汇表中的每个单词生成一个单独的单词嵌入表征,这意味着单词“right”在“I 'm sure I 'm right”和“Take a right turn”中具有相反的上下文有关表征。

但是,BERT是基于上下文的,所以它是双向的。虽然双向的理念曾经存在很长工夫了,但是BERT是初次在深层神经网络成功实行预训练双向性的案例。

BERT是怎样完成这一点的?


图源: BERT [Devlin et al., 2018]



BERT运用两种技术。一种是MLM(Mask Language Model)模型—经过屏蔽输入中的一些单词,然后对每个单词停止双向条件设置,以预测屏蔽的单词。在将单词序列输入转换器BERT之前,每个序列中15%的单词被交换为一个[MASK]指令。该模型试图根据序列中其他非屏蔽词提供的上下文来预测屏蔽词的初始值。




第二种技术是NSP(Next Sentence Prediction),BERT学习将句子间的关系停止模型。在训练过程中,该模型接收成对的句子作为输入,并学习预测其中的第二个句子能否是原文档中的第二个句子。思索两个句子A和B, B是语料库中A后面的下一个句子,还是一个随机的句子?例如:




当训练BERT模型时,两种技术一同训练,因此将两种策略的组合损失函数最小化。

BERT架构




BERT是深度双向的,OpenAI GPT是单向的,而ELMo是浅层双向的。图片来源:谷歌AI博客

BERT架构建立在Transformer之上。有两种变体:
    BERT Base: 12层(transformer blocks),12个留意事项,1.1亿个参数BERT Large:24层(transformer blocks),16个留意事项,3.4亿个参数

结果




在SQuAD v1.1表格中,BERT的F1分数达到93.2%(测量的准确性),超过了以前最先进的分数91.6%和人类层面的91.2%的得分:BERT在相对非常具有应战性的GULE基准下也提高了到了最先进的7.6%,这是一组9个多样化的自然言语了解(NLU)义务的集合。




BERT能在理想中运用吗?

BERT无疑是机器学惯用于自然言语处理的一个里程碑。但是我们需求反思BERT如何在各种自然言语处理场景中运用。

文本分类是自然言语处理的次要运用之一。例如,这个概念曾经在票务工具中有所运用,根据简短的描画或电子邮件对票务停止分类,并将票务分类/发送到正确的团队停止处理。异样,它也可以用来区分电子邮件能否是渣滓邮件。

在日常生活中也可以找到BERT的一些运用。




邮件的建议回复、智能撰写和谷歌搜索的自动完成

聊天机器人能回答用户查询和处理各种义务,这正影响着着信息产业。但是,聊天机器人的最大限制之一是意图辨认和从句子中捕获词语。

问答模型(QnA)是自然言语处理的基本系统之一。在QnA中,基于机器学习的系统从知识库或文本段落中生成作为输入的成绩的答案。BERT 可以在聊天机器人中运用吗? 毫无疑问,可以。BERT如今被用在许多人工智能对话运用中。所以,聊天机器人应该变得更聪明。

但是,BERT只能用于回答非常短的段落中的成绩,而且有很多关键成绩需求处理。作为一种通用的义务,NLP过于复杂,具有更多的含义和巧妙之处。BERT只处理了其中的一部分,但一定很快就会改变字词辨认模型。

BERT如今只能处理有限的一类成绩。但是,还有许多其他的义务,如心情检测、分类、机器翻译、命名实体辨认、摘要和成绩回答,都需求在此基础上停止。如今关于BERT有这样的批判意见:这样的义务是基于对表象的操纵,没有任何了解,添加简单的对抗性内容,修正原始内容,会使其混淆。

BERT只要在操作中广泛运用并在实践场景中得以改进,它的真正好处才能在自然言语处理中完成,从而运用在支持企业和用户的广泛运用程序中。

但是,随着一波基于转换的方法(例如,GPT-2、RoBERTa、XLNet)的出现,状况正在迅速变化,这些方法经过展现更好的功能或更简单的训练或其他一些特定的好处来不断提高标准。

来看看BERT发布之后的其他模型的发展状况

RoBERTa

RoBERTa由Facebook开发,建立在BERT的言语屏蔽策略上,并修正了BERT中的一些关键超参数。为了改进训练过程,RoBERTa从BERT的预训练中删除了NSP义务,并引入了动态掩蔽,使得掩蔽的令牌在训练时期发生变化。它也接受了比BERT多一个数量级的训练,所需工夫更长。

DistilBERT

DistilBERT由HuggingFace开发,学习了BERT的一个提取(近似)版本,在GLUE标准下保持95%的功能,但只运用了一半的参数(只要6600万个参数,而不是1.1亿个参数)。这意味着,一旦一个大型的神经网络被训练,它的全部输入分布可以用一个更小的网络来近似(比如后验近似)。

XLM/mBERT

XLM由Facebook开发,运用了一种已知的预处理技术(BPE)和一种与BERT一样的双言语训练机制,用以学习不同言语单词之间的关系。在多言语分类义务中,该模型的表现优于其他模型,并且当运用预先训练的模型初始化翻译模型时,该模型分明地改进了机器翻译。

ALBERT

ALBERT(一种用于自我监督言语表征学习的精简型BERT)由谷歌研讨中心和丰田技术研讨所结合开发,将会接替BERT。ALBERT比BERT更小、更轻、更聪明。两个关键的架构变化使ALBERT功能更好,并极大地减小了模型的大小。第一个是参数的数量。它经过跨一切层共享一切参数来提高参数效率。这意味着前馈网络参数和留意参数都是共享的。

研讨人员还将隐藏层的大小与词汇嵌入的大小分开。这是经过将一个独热向量投射到一个低维嵌入空间,然后投射到隐藏空间来完成的,这使得在不分明添加词汇表嵌入的参数大小的状况下,更容易添加隐藏层的大小。

谈及预训练,ALBERT有本人的训练方法,叫做SOP(Sentence-Order Prediction),而不是NSP。NSP的成绩在于,它将主题预测与相关涉测混为一谈。

ALBERT代表了几个基准上自然言语处理和参数效率的最新技术。这是一个惊人的打破,ALBERT建立在BERT所做的伟大工作上,并在多个方面发展了自然言语处理。

BERT和相似的模型无疑是自然言语处理范畴游戏规则的变革者。机器如今可以更好地了解语音,并实时做出智能呼应。许多基于BERT的模型正在开发,包括VideoBERT、ViLBERT(视觉和言语BERT)、PatentBERT、DocBERT等。

你对NLP和BERT的将来有什么看法?







留言点赞关注

我们一同分享AI学习与发展的干货

如转载,请后台留言,遵守转载规范

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

大神点评3

lhp0721 2020-6-28 15:31:27 显示全部楼层
我反手就是一个么么哒,不谢
回复

使用道具 举报

annana66120 2020-6-29 09:27:27 显示全部楼层
确实不错,顶先
回复

使用道具 举报

陆见深 2020-6-30 13:24:57 显示全部楼层
这帖子写的不错
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies