预训练语言模型中上下文感知的语言表征学习讲解(图文解释)

一、预训练方法

传统的纯监督(或全监督)深度学习自然语言处理模型可能准确率很高(模型准确率是机器学习中最常用指标,详细定义见3.14.2节),但其鲁棒性差,经不起干扰,性键高低主要取决于标注训练数据的质量,或者在监督数据量很小的情况下,模型非常容身过拟合。

深度神经网络训练过程中往往存在以下几个问题。

(1)网络层数越深,需要的训练样本数越多。

(2) 多层神经网络参数优化是个高阶非凸优化问题,采用梯度下降法经常会得到收敛较差的局部解。

(3)梯度扩散问题。解决该问题的方法是逐层贪婪训练,无监督预训练网络的第一个隐藏层,再训练第二个隐藏层,直至最后一个隐藏层,用训练好的网络参数值作为整体网络参数的初始值,这就是预训练;经过预训练最终能得到比较好的局部最优解。预训练方法可以较好地解决以上深度神经网络存在的问题。预训练模型包含预训练和微调两个过程,预训练提供了优秀的网络结构和模型参数的初始化,微调只需稍微修改网络中的部分层。按照预训练的数据类型不同,预训练模型可以分为预训练语言模型、预训练视觉模型、预训练语言文本图像模型、预训练语言文本视频模型、预训练语言文本图像音频模型等。预训练是迁移学习的解决方案之一,已经形成较为完整的方法论体系,在计算机视觉和自然语言处理的很多任务上取得了重大进展。

基于深度学习的预训练语言模型应用的一般过程是先将词向量化,然后经过一个上下文语境敏感的编码器,学习得到每个词的上下文语境相关的表征,最后输人到特定任务的模型中进行预测。预训练模型学习过程中使用了端到端学习、迁移学习、多任务学习等学习方式。端到端(end-to-end)学习是建立一个端到端的方法,让机器自动从数据中学习到特征,所以深度学习也常被称为表征学习。迁移学习是两个不同领域的知识迁移过程,利用源领域中学到的知识来帮助目标领域上的学习任务,源领域的训练样本数量一般远大于目标领域,这样就可以解决不满足“训练数据和测试数据的分布是相同的”这一前 提假设的实际场景。多任务学习同时在多个相关任务的数据集上进行训练,相当于一种隐式的数据增强,让这些任务在学习过程中共享知识,利用多个任务之间的相关性来改进模型在每个任务上的性能和泛化能力

预训练语言模型的关键技术有四个:上下文语境感知的语言表征学习、高效的征提取器自监督学习和迁移学习技巧方法。自从把神经网络引人到自然语言处理来,语言表征学习由原先的监督学习进人到自监督学习,自然语言特征处理带由医牛花专家手工调参进人到自动化阶段语言表征学习类型由无监督学习进人到自监督学习

二、上下文感知的语言表征学习


自然语言处理中的语表征是语言的形式化成者数学表述,以便在计算机中表征的参数,采用何种形式、何种方式来表征模型的输人观测样本。

语言表征学习(languagerepresentation learning)是基于神经网络将不同粒度文本的造道法成语义特征分布式地存储在组神经 无中,用制书,连续低维的向成进行表征,是自然语言处理的核心问题。按空间形式的不同,语言表征可以分为陶限表任和连续表征两类。离散表征是将语言看成离散的符号,也就是局部表征(loalrepresentation),例如独热表示(one-hotrepresentation);而连续表征将语言表征为连续空间中的一个点,也就是全局表征(global representation), 例如分布式表征(distributed representation)。 词是构成英语语言的最基本单位,因此词表征学习是语言表征学习的基础。词表征学习也称为词嵌人,是从词语的符号空间映射到向量空间的数值形式的过程;嵌人是指把用维向量表征所有词的高维空间(即独热编码向量,一一维为1、其余维为0的向量)映射到用低维数的连续向量空间中,每个词被映射为实数域上的向量。而词向量是指将高维向量投射到低维稠密向量空间的过程。短语、句子和序列表征学习的方法是类似的,都和结构预测紧密相关。

语言模型(LanguageModel,LM)是根据一个语料库按照某个算法训练出来的模型。语言模型经历了文法规则语音模型统计语言模型神经网络语言模型三个发展阶段。按语育结构单位的不同,语言模型可以分为字符语言模型词语言模型、句语言模型、序列语言模型等,大多数自然语言:处理任务都是以给同分模型、掩码语言模型

该模型下出现的概率:②在前面若干个词给定的情况下判断下不同,语言模型可以分为自

而刻画出细粒度的语义和句法规律。按照序列处理方法的adler. AE)语言模型。

自回归(AutoregRessive. AR)语言模型和自编码器(AutoEncoder,的概率分布,,给定-一个文本序自回归语言模型是利用自回归模型估计文本语料库的乘积或后向乘积,用一个神或列x=(x... .xr),将某语言单位出现的概率分解为前向

经网络被训练来对每个条件分布建模。自回归语言i模型只能利用上文或者下文的信息,不能同时利用上文和下文的信息,仅能得到单向上下文(向前或向后)计算下一个某语言单位出现的概率:即便是采用双向都计算的融合模式,对双向上下文的预测效果并不是太好;适用于自然语言生成任务,例如,文本摘要、机器翻译等。

自编码器语言模型使用编码器解码器架构对数据进行降维,即用自适应的多层编码器网络来把高维数据编码为低维数据,同时用类似的解码器网络来把这个低维数据重构为原高维数据。在自然语言处理中,编码器将输人的样本映射到隐藏层向量,解码器将这个隐藏层向量映射回样本空间,不执行显式密度估计;从输人重构原始数据,再对损坏(如遮掩某个词或者打乱词序)的输入句子进行学习,从而让模型学习到更丰富的语义表征,帮助下游任务。自编码器语言模型通过这样的自监督学习方法来学习单词的上下文相关表征,适用于自然语言理解任务,例如,文本分类、文本抽取等。

深度双向语言模型通过对左右两边分词同时推理具备上下文感知的能力,这就要求自编码器输人的词向量包含左右两边的位置向量,而不仅是单边位置向量,即融合语义和位置信息的词向量,这样输出的词表征也就含有了语义和位置信息

 

 三、高效的特征提取器

1:神经注意力机制

注意力是指向机集中于某种事物的能力在限座神经网络的架构设计中,神彩作意力机制( neural attention mechanism.简称注意力机制)根据注意力对象的重要程度分配神经网络中的权正值、重要的就多分点不重要或者不好的就少分一点,实质上是一种自动加权机制.其本质是计算资源分配。这与人在获取信息时的视觉注意力焦点类似,有效地分配视觉资源可以极大提高从大量信息中筛选出高价值信息。人工神经网络中,神经元运算是同层或两层之间神经元的连接,权重值代表不同神经元之间连接的强度,神经网络训练的目标是更新权重值(参数)以降低损失(误差)。神经注意力机制可以带来两个好处:第一,减小处理高维输人数据的计算负担,通过结构化的选取输人的子集,降低数据维度;第二,“去伪存真”,让任务处理系统更专注于找到输入数据中显著的与当前输出相关的有用信息,从而提高输出的质量。注意力模型计算上下文向量作为每一步产生隐藏层状态(hiddenstate)序列的加权平均值。单一序列表征型的地法力的物计过称的人际河中的每个词都有各自的(l向量。目标河作为查询(query)向量,目标词的上下文各个词可作为键(key)向量,并将查询和各个键的相似性作为权重,将上下文各个词的值融人目标词的值,根据该查询向量计算值的加权求

次注意力、分层注意力)、注意力再注意力(Attention over Attention,AoA)和多粒度(mut: granularity)注意力;多层注意力模型可以按权重是自顶向下学习还是自底向上学习的方式、或者多特征表示(multi- representation)还是多维度(multi dimension)进行划分。按多层注意力的解码过程中权重是否更新变化的不同,注意力分为静态(statio注意力和动态(dyamio)注意力。注意力计算过程中包含查询流(queystream)和上下文流(context strem)或内容流Ccotet strem)或者时间(empor1)和空间(spatial)网络称为双向注意力i(idretional atention flow)或双向注意力

注意力。注意力计算过程中包含逐字流(word-by

(bi-attention)或双流(two-stream)flow)和上下文流(contextual flow)或者时间、空间word flow)、逐片流(span-by span

和门控融合(eald fsio称为oniRo nul)8为

按骨干网络架构的不同,注主意力模型分为循环(神经网络)注意力模型(eureattention model orRNN attentionmodel)、前馈网络注意力模型(eed-forwatnetwork attention model)、端到端记忆网络注意力模型(Cend to0 end memory netwarattention model)用变换器注意力模型(rasomerr rrt nd

2:序列到序列的注意力模型

 目前深度神经网络语言模型都是基于编码器-解码器架构

变种:循环神经网络编码器解码器< RN emoder deoder)模型和序列到序列的宝222020,它们化单独的LSTM模型效果更好。序列到件列根中的核心思想是通过深度神经网络将一个作为输人的序列映射为一个作为输出的序列,这一过程由编码输人与解码输出两个环节构成,一个典型实现是编码器和解码器各由两个循环神经网络构成,编码器对用A语言输人的句子x编码后.作为解码器跑藏层的初始输人,解码成B语言表达的目标句子y.作为输出。这种模型是条件性语言模型conditioned language mode)的例子,因为对序列x编码后作为第二个循环神经网络的隐含层输入的条件。

序列到序列模型在编码时输人序列的全部信息压缩到了一个向量表征中,随着序列增长,句子越前面的词的信息丢失就越严重;同时,当前词及对应的源语言词的上下文信息和位置信息在编解码过程中丢失了。引人神经注意力机制可以帮助编码器解码器架构更好地学习到数据之间的很隐蔽也很复杂的相互关系,从而更好地表征这些信息,克服编码器解码器架构无法解释从而很难设计的缺陷。神经注意力机制非常适合于推理不同数据之间的相互映射关系,尤其是对无监督数据、认知先验极少的问题,显得极为有效。

序列到序列的注意力(seq2seqwithattention)模型的核心思想是在解码的每一-个时步,专注于输人序列的某几个单词;在解码时,重点对第一个单词做关注,并把它和上一个RNN的输出结合预测y1。这样意味着编码器不传递编码阶段的最后一个隐藏层状态,而是将所有的隐藏层状态传递给解码器;解码器查看接收到的组编码器隐藏层状态、给每个隐藏层状态一个 分数、将每个隐藏层状态乘以softmax的分数,从而放大得分高的隐藏层状态,淹没得分低的隐藏层状态。注意力模型在极大地提升了性能的同时解决了语言瓶颈、梯度消失问题,并且可以自动学得单词间的对齐关系。

创作不易 觉得有帮助请点赞关注收藏~~~

猜你喜欢

转载自blog.csdn.net/jiebaoshayebuhui/article/details/130395712
今日推荐