全文共字,预计学习时长14分钟BERT全称是来自变换器的双向编码器表征量(BidirectionalEncoderRepresentationsfromTransformers),它是Google于年末开发并发布的一种新型语言模型。与BERT模型相似的预训练语言模型例如问答、命名实体识别、自然语言推理、文本分类等在许多自然语言处理任务中发挥着重要作用。BERT是一种基于微调的多层双向变换器编码器。首先介绍下该变换器的架构,这一点尤为重要。什么是变换器(Transformer)?年,谷歌发表了一篇题为《你所需要的是注意力》的论文,该论文提出一种基于注意力的结构,以处理与序列模型相关的问题,例如机器翻译。传统的神经机器翻译大多使用循环神经网络(RNN)或卷积神经网络(CNN)作为编码-解码的模型库。然而,谷歌这一基于注意力的变换器模型摒弃传统的RNN和CNN公式。该模型高度并行运行,因此在提高翻译性能的同时,其训练速度也非常快。进一步阐述变换器模型前,我们先对注意力做个介绍。什么是注意力(Attention)?注意力机制可看作模糊记忆的一种形式。记忆由模型的隐藏状态组成,模型选择从记忆中检索内容。深入了解注意力之前,先简要回顾Seq2Seq模型。传统的机器翻译主要基于Seq2Seq模型。该模型分为编码层和解码层,并由RNN或RNN变体(LSTM、GRU等)组成。编码矢量是从模型的编码部分产生的最终隐藏状态。该向量旨在封装所有输入元素的信息,以帮助解码器进行准确的预测。其用于充当模型解码器部分的初始隐藏状态。Seq2Seq模型的主要瓶颈是需要将源序列的全部内容压缩为固定大小的矢量。如果文本稍长,则很容易丢失文本的某些信息。为解决这个问题,注意力应运而生。注意机制通过使解码器回顾源序列隐藏状态,然后将其加权平均值作为附加输入提供给解码器来缓解该问题。使用注意力,顾名思义,模型在解码阶段选择最适合当前节点的上下文作为输入内容。注意力与传统的Seq2Seq模型有两个主要区别。第一,编码器向解码器提供更多数据,并且编码器会向解码器提供所有节点的隐藏状态,而不仅仅是编码器的最后节点的隐藏状态。第二,解码器不直接将所有编码器提供的隐藏状态作为输入,而是采用选择机制来选择与当前位置最匹配的隐藏状态。为此,它尝试通过计算每个隐藏状态的得分值并对得分进行softmax计算来确定哪个隐藏状态与当前节点相关性最高,这使得隐藏状态的更高相关性具有更大的分数值,不太相关的隐藏状态具有较小的分数值。然后它将每个隐藏状态与其softmax得分相乘,从而放大分数高的隐藏状态,淹没分数低的隐藏状态。该评分练习在解码器侧的每个迭代时间完成。现在,将注意机制用可视化予以表现,研究注意流程如何进行:1.注意解码器RNN接收END令牌的嵌入和初始解码器隐藏状态。2.RNN处理其输入,产生一个输出和一个新的隐藏状态向量(h4),并丢弃输入。3.注意步骤:使用编码器隐藏状态和h4向量来计算该迭代时间的语境向量(C4)。4.将h4和C4连成一个向量。5.将这个向量传递给前馈神经网络(一个与模型共同训练的网络)。6.前馈神经网络的输出即该迭代时间的输出字。7.重复下一个迭代时间的步骤回到变换器变换器模型使用编码器-解码器(encoder-decoder)架构。在谷歌发表的论文中,编码层和解码层都由6个编码器堆叠而成。每个编码器和解码器的内部结构如下:编码器由两层组成,一个自注意层和一个前馈神经网络。自我
转载请注明:http://www.0431gb208.com/sjslczl/6414.html