图解2018年领先的两大NLP模型:BERT和ELMo.doc
《图解2018年领先的两大NLP模型:BERT和ELMo.doc》由会员分享,可在线阅读,更多相关《图解2018年领先的两大NLP模型:BERT和ELMo.doc(8页珍藏版)》请在三一文库上搜索。
1、图解2018年领先的两大NLP模型:BERT和ELMo谷歌推出BERT模型被认为是NLP新时代的开始,NLP终于找到了一种方法,可以像计算机视觉那样进行迁移学习。本文用图解的方式,生动易懂地讲解了BERT和ELMo等模型。2018年已经成为自然语言处理机器学习模型的转折点。我们对如何以最能捕捉潜在意义和关系的方式、最准确地表示单词和句子的理解正在迅速发展。此外,NLP社区开发了一些非常强大的组件,你可以免费下载并在自己的模型和pipeline中使用。ULM-FiT跟甜饼怪没有任何关系,但我想不出其它的了.最新的一个里程碑是BERT的发布,这一事件被描述为NLP新时代的开始。BERT是一个NLP
2、模型,在几个语言处理任务中打破了记录。在描述模型的论文发布后不久,该团队还公开了模型的源代码,并提供了已经在大量数据集上预训练过的下载版本。这是一个重大的进展,因为任何需要构建语言处理模型的人都可以将这个强大的预训练模型作为现成的组件使用,从而节省了从头开始训练模型所需的时间、精力、知识和资源。图示的两个步骤显示了BERT是如何运作的。你可以下载步骤1中预训练的模型(在未经注释的数据上训练),然后只需在步骤2中对其进行微调。BERT建立在最近NLP领域涌现的许多聪明方法之上包括但不限于半监督序列学习(作者是AndrewDai和QuocLe)、ELMo(作者是MatthewPeters和来自AI
3、2和UWCSE的研究人员)、ULMFiT(作者是fast.ai创始人JeremyHoward和SebastianRuder),OpenAItransformer(作者是OpenAI研究员Radford、Narasimhan、Salimans和Sutskever),以及Transformer(作者是Vaswanietal.)。要正确理解BERT是什么,我们需要了解一些概念。让我们先看看如何使用BERT,然后再看模型本身涉及的概念。例子:句子分类最直接的使用BERT的方法就是使用它来对单个文本进行分类。这个模型看起来是这样的:要训练一个这样的模型,主要需要训练分类器,在训练阶段对BERT模型的更改
4、非常小。这种训练过程称为微调(Fine-Tuning),并且具有半监督序列学习(Semi-supervisedSequenceLearning)和ULMFiT的根源。具体来说,由于我们讨论的是分类器,这属于机器学习的监督学习范畴。这意味着我们需要一个标记数据集来训练模型。比如说,对于一个垃圾邮件分类器,标记数据集是一个电子邮件列表及其标签(将每封电子邮件标记为“垃圾邮件”或“非垃圾邮件”)。模型架构现在,你已经有了一个如何使用BERT的示例用例,接下来让我们进一步了解它是如何工作的。论文中提供了两种尺寸的BERT模型:BERTBASE-大小与OpenAITransformer相当BERTLAR
5、GE-一个非常庞大的模型,实现了最先进的结果BERT基本上是一个训练好的TransformerEncoder堆栈。Transformer模型是BERT的一个基本概念,我们将在下文中讨论。这两种BERT模型都有大量的编码器层(论文中称之为TransformerBlocks)Base版本有12层,Large版本有24层。它们也比初始论文里的Transformer的默认配置(6个编码器层,512个隐藏单元,8个attenTIonheads)有更大的前馈网络(分别为768个和1024个隐藏单元),attenTIonheads(分别为12个和16个)。模型输入第一个输入token是一个特殊的CLStok
6、en,这里的CLS代表分类。就像transformer的普通编码器一样,BERT以一串单词作为输入。每一层应用self-attenTIon,并通过前馈网络传递其结果,然后将结果传递给下一个编码器。在架构方面,到目前为止,这与Transformer完全相同(除了大小之外,不过大小是我们可以设置的配置)。在输出端,我们才开始看到两者的区别。模型输出每个位置输出大小为hidden_size的向量(BERTBase中为768)。对于上面看到的句子分类示例,我们只关注第一个位置的输出(我们将那个特殊的CLS标记传递给它)。这个向量可以作为我们选择的分类器的输入。论文中利用单层神经网络作为分类器,取得了很
7、好的分类效果。如果你有更多的标签(例如,如果是电子邮件,你可以将邮件标记为“垃圾邮件”、“非垃圾邮件”、“社交”和“促销”),只需调整分类器网络,使其有更多的输出神经元,然后通过softmax。与卷积网络的相似之处对于具有计算机视觉背景的人来说,这种向量传递的方式很容易让人联想到VGGNet之类的网络的卷积部分与网络末端完全连接的分类部分之间的事情。嵌入的新时代这些新进展带来了词汇编码方式的新变化。词汇嵌入一直是领先的NLP模型处理语言的主要能力。Word2Vec、Glove等方法已广泛应用于此类任务。让我们先回顾一下如何使用它们。词汇嵌入的回顾对于要由机器学习模型处理的单词,它们需要以某种数
8、字形式表示,以便模型可以在其计算中使用。Word2Vec表明我们可以用一个向量(一个数字列表)以捕捉语义或意义关系(如判断单词的近义、反义关系)、以及语法或语法关系(例如,“had”和“has”、“was”and“is”有同样的语法关系)的方式恰当地表示单词。研究人员很快发现,使用经过大量文本数据进行预训练的嵌入(embeddings)是一个好主意,而不是与小数据集的模型一起训练。因此,通过使用Word2Vec或GloVe进行预训练,可以下载单词列表及其嵌入。如下图是单词“sTIck”的GloVe嵌入示例(嵌入向量大小为200)单词“stick”的GloVe嵌入因为这些向量很大,并且数字很多,
9、所以本文后面用下面这个基本图形来表示向量:ELMo:上下文很重要如果我们使用GloVe表示,那么不管上下文是什么,“stick”这个词都会由这个向量表示。很多研究人员就发现不对劲了。“stick”“有多种含义,取决于它的上下文是什么。那么,为什么不根据它的上下文给它一个嵌入呢既要捕捉该上下文中的单词含义,又要捕捉其他上下文信息?因此,语境化的词嵌入(contextualizedword-embeddings)就出现了。语境化词嵌入可以根据单词在句子的上下文中表示的不同含义,给它们不同的表征ELMo不是对每个单词使用固定的嵌入,而是在为每个单词分配嵌入之前查看整个句子。它使用针对特定任务的双向L
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图解 2018 领先 NLP 模型 BERT ELMo
链接地址:https://www.31doc.com/p-3407936.html