一种序列模型的处理方法和装置与流程

文档序号:17239145发布日期:2019-03-30 08:29阅读:190来源:国知局
一种序列模型的处理方法和装置与流程

本发明涉及计算机技术领域,尤其涉及一种序列模型的处理方法和装置。



背景技术:

序列模型可以用于根据输入的序列数据实现多种任务,序列模型可以基于自关注神经网络(self-attentionnetwork,san)来实现。序列模型可以是神经机器翻译模型,例如现有技术中存在一种transformer模型,transformer模型基于前述的自关注神经网络,由多层的自关注神经网络堆叠而成。

transformer模型和现有技术中基于循环神经网络(recurrentneuralnetwork,rnn)的神经机器翻译模型相比,transformer模型用自关注神经网络代替循环神经网络来建模序列的依存关系。而rnn利用循环(即每一步的输出作为下一步的输入)顺序地操作,但是基于rnn的神经机器翻译模型存网络训练速度慢的问题,并且其循环结构也加大了训练难度。而自关注神经网络可以并行地处理当前序列所有的词或者符号,transformer模型在多个语言对任务上取得最佳表现,是现在神经机器翻译新的基准模型。

由于现有技术中序列模型仅依赖于san来计算序列元素的依存关系,使用该序列模型在执行任务时存在任务实现效果差的问题。例如现有技术中transformer模型仅依赖于san来计算序列元素的依存关系,这会对翻译质量造成影响,通常会影响翻译质量,包括翻译错误,翻译漏掉等等。



技术实现要素:

本发明实施例提供了一种序列模型的处理方法和装置,用于提高序列模型的任务执行效果。

本发明实施例提供以下技术方案:

本发明实施例提供一种序列模型的处理方法,包括:

从源端数据库中获取到源端序列,并将所述源端序列输入到序列模型的编码端,所述编码端包括:自关注编码器和时序编码器;

通过所述时序编码器对所述源端序列进行编码处理从而得到第一编码结果,所述第一编码结果包括:使用所述源端序列进行时序建模得到的时序信息;以及通过所述自关注编码器对所述源端序列进行编码处理从而得到第二编码结果;

从目标端数据库中获取到目标端序列,并将所述目标端序列、所述第一编码结果和所述第二编码结果输入到所述序列模型的解码端;

通过所述解码端对所述目标端序列、所述第一编码结果和所述第二编码结果进行解码处理,并输出解码处理后得到的解码结果。

本发明实施例还提供一种序列模型的处理装置,包括:

第一输入模块,用于从源端数据库中获取到源端序列,并将所述源端序列输入到序列模型的编码端,所述编码端包括:自关注编码器和时序编码器;

编码模块,用于通过所述时序编码器对所述源端序列进行编码处理从而得到第一编码结果,所述第一编码结果包括:使用所述源端序列进行时序建模得到的时序信息;以及通过所述自关注编码器对所述源端序列进行编码处理从而得到第二编码结果;

第二输入模块,用于从目标端数据库中获取到目标端序列,并将所述目标端序列、所述第一编码结果和所述第二编码结果输入到所述序列模型的解码端;

解码模块,用于通过所述解码端对所述目标端序列、所述第一编码结果和所述第二编码结果进行解码处理,并输出解码处理后得到的解码结果。

本发明实施例提供一种序列模型的处理装置,该序列模型的处理装置包括:处理器、存储器;存储器用于存储指令;处理器用于执行存储器中的指令,使得序列模型的处理装置执行如前述任一项的方法。

本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

在本发明实施例中,序列模型具有编码端和解码端,其中该编码端包括:自关注编码器和时序编码器,从源端数据库中获取到源端序列之后,通过时序编码器、自关注编码器可以分别对源端序列进行编码处理,时序编码器输出的第一编码结果中包括有使用源端序列进行时序建模得到的时序信息,自关注编码器输出第二编码结果。在序列模型的解码端,可以对目标端序列、第一编码结果和第二编码结果进行解码处理,并输出解码处理后得到的解码结果。由于本申请实施例中在序列模型的编码端不仅使用了自关注编码器,还同时使用了时序编码器,该时序信息也输入到序列模型的解码端进行了解码。本申请实施例提供的序列模型采用上述两种编码器同时对源端序列进行编码,从而通过时序建模完成了时序信息的生成,使得序列模型在执行任务时,能够准确的计算序列元素的依存关系,提高序列模型的任务执行效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的技术人员来讲,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种序列模型的处理方法的流程方框示意图;

图2为本发明实施例提供的一种序列模型的组成结构示意图;

图3为本发明实施例提供的另一种序列模型的组成结构示意图;

图4为本发明实施例提供的时序编码器的组成结构示意图;

图5为本发明实施例提供的注意力网络的组成结构示意图;

图6为本发明实施例提供的transformer模型的基本架构示意图;

图7为本发明实施例提供的transformer模型的自关注编码器和时序编码器的示意图;

图8为本发明实施例提供的循环神经网络的示意图;

图9为本发明实施例提供的基于注意力的循环网络的示意图;

图10为本发明实施例提供的采用门控加和方式进行解码的示意图;

图11为本发明实施例提供的采用瀑布流方式进行解码的示意图;

图12-a为本发明实施例提供的一种序列模型的处理装置的组成结构示意图;

图12-b为本发明实施例提供的一种编码模块的组成结构示意图;

图12-c为本发明实施例提供的一种时序建模子模块的组成结构示意图;

图12-d为本发明实施例提供的另一种时序建模子模块的组成结构示意图;

图12-e为本发明实施例提供的一种解码模块的组成结构示意图;

图12-f为本发明实施例提供的一种注意力处理子模块的组成结构示意图;

图12-g为本发明实施例提供的另一种注意力处理子模块的组成结构示意图;

图13为本发明实施例提供的序列模型的处理方法应用于终端的组成结构示意图;

图14为本发明实施例提供的序列模型的处理方法应用于服务器的组成结构示意图。

具体实施方式

本发明实施例提供了一种序列模型的处理方法和装置,用于提高序列模型的任务执行效果。

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域的技术人员所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。

以下分别进行详细说明。

本发明序列模型的处理方法的一个实施例,具体可以应用于对序列模型的建模场景下,使得该序列模型可以快速高效的执行任务,从而提高序列模型的任务执行效果。例如该任务可以是神经机器翻译任务,地图中位置数据定位任务,网络中元素关系的识别任务等。请参阅图1所示,本发明一个实施例提供的序列模型的处理方法,可以包括如下步骤:

101、从源端数据库中获取到源端序列,并将源端序列输入到序列模型的编码端,编码端包括:自关注编码器和时序编码器。

在本发明实施例中,序列模型是指以序列元素作为输入对象,使用机器学习算法进行执行的模型实体。该序列模型可以具有多种应用场景,例如该序列模型可以是神经机器翻译模型,或者该序列模型也可以是地图中位置数据定位模型,或者该序列模型还可以是网络中元素关系识别模型等。本发明实施例中序列模型具有编码端和解码端,其中编码端和解码端可以分别基于各自的网络模型来实现,对于序列模型中编码端和解码端所采用的算法不做限定。其中该编码端中包括至少两种不同类型的编码器,如图2所示,为本发明实施例提供的一种序列模型的组成结构示意图。例如序列模型的编码端可以包括自关注编码器和时序编码器,其中,自关注编码器可以是基于自关注网络实现的编码器,例如该自关注网络可以是自关注神经网络(self-attentionnetwork,san),自关注神经网络是基于自关注机制的神经网络结构模型。在序列模型的编码端除了使用自关注编码器,该编码端还可以包括时序编码器,该时序编码器是序列模型中除自关注编码器以外的额外编码器,例如该时序编码器可以是用于时序建模的编码器,时序编码器可以是基于神经网络实现编码器,例如时序编码器可以采用循环神经网络(recurrentneuralnetwork,rnn),或者时序编码器可以采用卷积神经网络(convolutionalneuralnetwork,cnn)。

举例说明如下,本申请实施例提供的序列模型可以是神经机器翻译模型,例如transformer模型,在transformer模型的编码端可以采用自关注编码器和时序编码器,因此在transformer模型中通过该时序编码器可以进行时序信息的建模,该时序编码器可以引入额外的网络结构建模时序信息,以提升神经机器翻译系统的性能。后续实施例中将以transformer模型执行翻译任务为例进行详细举例说明。

在本发明实施例中,首先获取到源端数据库,该源端数据库中存储有需要用于输入序列模型的多个源端序列,从源端数据库中获取到一个源端序列之后,可以将该源端序列输入到序列模型的编码端,由该编码端中所包括的至少两个编码器进行编码处理。举例说明如下,以序列模型为transformer模型为例,在transformer模型中可以输入中文的词序列,该transformer模型的编码端可以对该中文的词序列进行编码处理。

102、通过时序编码器对源端序列进行编码处理从而得到第一编码结果,第一编码结果包括:使用源端序列进行时序建模得到的时序信息;以及通过自关注编码器对源端序列进行编码处理从而得到第二编码结果。

在本申请实施例中,源端序列输入到编码端之后,可以由该编码端中包括的两种不同类型的编码器分别进行编码处理,例如序列模型的编码端可以包括自关注编码器和时序编码器,通过时序编码器对源端序列进行编码处理从而得到第一编码结果,以及通过自关注编码器对源端序列进行编码处理从而得到第二编码结果。需要说明的是,时序编码器和自关注编码器分别对源端序列的编码处理可以并行的执行,另外时序编码器和自关注编码器分别对源端序列的编码方式可由各自编码器采用的机器学习网络模型来确定。

在本申请实施例中,为区别说明不同编码器对源端序列的编码处理,将时序编码器的输出定义为第一编码结果,将自关注编码器的输出定义为第二编码结果。通过前述对时序编码器的功能描述可知,该时序编码器可以对源端序列进行时序建模,从而第一编码结果包括:使用源端序列进行时序建模得到的时序信息,本发明实施例通过在编码端集成时序编码器,可以对序列模型提供额外的时序信息,从而使得序列模型在执行任务时,能够准确的计算序列元素的依存关系,提高序列模型的任务执行效果。

在本申请实施例中,通过前述对自关注编码器的功能描述可知,该自关注编码器可以对源端序列进行基于自关注机制的编码信息提取,从而第二编码结果包括:使用源端序列提取基于自关注机制的编码信息。本发明实施例通过在编码端集成自关注编码器,可以对序列模型提供基于自关注机制的编码信息,第二编码结果与该第一编码结果相结合,从而使得序列模型在执行任务时,能够准确的计算序列元素的依存关系,提高序列模型的任务执行效果。

在本申请的一些实施例中,如图3所示,为本发明实施例提供的另一种序列模型的组成结构示意图。时序编码器包括:n个的编码层,n为正整数,例如时序编码器可以有1个编码层,或者时序编码器可以有2个编码层。在每个编码层中包括:时序信息网络和第一前馈网络,其中时序信息网络用于使用源端序列进行时序建模以提取出时序信息,例如时序信息网络可以是神经网络。第一前馈网络可以是参数由输入层向输出层单向传播的基础神经网络,例如第一前馈网络具体可以是前馈神经网络(feed-forwardnetwork,ffn)。

在本申请的一些实施例中,基于上述图3所示的序列模型,步骤102中的通过时序编码器对源端序列进行编码处理从而得到第一编码结果,包括:

a1、使用时序信息网络对源端序列进行时序建模从而得到时序信息;

a2、使用第一前馈网络对时序信息进行单向传播,输出第一编码结果。

其中,源端序列首先输入到编码端的时序编码器,例如源端序列输入到时序编码器的编码层中的时序信息网络,该源端序列可以是经过位置编码之后输入到时序信息网络,然后使用时序信息网络对源端序列进行时序建模从而得到时序信息,对于时序信息的建模方式,后续实施例中给出详细的计算说明,在时序信息网络输出时序信息之后,可以使用第一前馈网络对时序信息进行单向传播,输出第一编码结果,第一前馈网络的计算方式后续实施例中给出详细的说明。

在本申请的一些实施例中,如图4所示,为本发明实施例提供的一种时序编码器的组成结构示意图。时序编码器包括:n个的编码层,n为正整数,例如时序编码器可以有1个编码层,或者时序编码器可以有2个编码层。时序编码器中的第一编码层,包括:第一时序信息网络和第一前馈网络。该第一时序信息网络可以包括:第一神经网络和第一标准化网络,其中,神经网络(neuralnetwork,nn)是在机器学习和认知科学领域的一种模仿生物神经网络结构和功能的深度学习模型。进一步的,该第一神经网络为双向神经网络;或者,第一神经网络为循环神经网络,或者基于注意力的循环网络。举例说明如下,循环神经网络(recurrentneuralnetwork,rnn)是一种将序列建模转变为时序建模的网络模型,它将状态在自身网络中循环传递。基于注意力的循环网络(attentiverecurrentnetwork,arn)可以用于对于一个输入序列学习到一个紧凑的,全局的特征表示,arn是san和rnn的结合,arn主体结构是rnn,但是每一步的输入是san的输出,后续实施例中将对rnn和arn做出详细的举例说明。第一标准化网络是采用标准化技术的网络模型,例如,第一标准化网络采用层标准化(layernorm)表示,将矩阵里的数值转化为均值为0,方差为1的数值,该操作用ln()表示。

在本申请的一些实施例中,基于上述图4所示的时序编码器,步骤a1使用时序信息网络对源端序列进行时序建模从而得到时序信息,包括:

a11、使用第一神经网络对源端序列进行时序建模;

a12、使用第一标准化网络对通过时序建模得到的结果进行标准变换,得到时序信息。

其中,第一编码层是时序编码器中的第1个编码层,该第一编码层包括:第一时序信息网络和第一前馈网络,因此首先使用第一神经网络对源端序列进行时序建模让,然后再使用第一标准化网络对通过时序建模得到的结果进行标准变换,得到时序信息。通过对第一编码层的编码过程说明可知,在第一编码层中没有使用残差网络,即在第一神经网络进行时序建模之后直接使用第一标准化网络进行处理,因此不使用残差网络,这样做的目的是消除隐向量表示须和输入序列长度一致的限制,使得时序编码器更加灵活。

在本申请的一些实施例中,如图4所示,为本发明实施例提供的一种时序编码器的组成结构示意图。时序编码器包括:n个的编码层,n为正整数,例如时序编码器可以有1个编码层,或者时序编码器可以有2个编码层。时序编码器中的第一编码层,包括:第一时序信息网络和第一前馈网络。时序编码器中的第二编码层,包括:第二时序信息网络和第一前馈网络。其中,第二时序信息网络,包括:第二神经网络、第一残差网络和第二标准化网络,可见第二时序信息网络相对于第一时序信息网络,在神经网络和标准化网络之间增加了残差网络,对于时序编码器中的第三编码层、第四编码层中都可以采用第二编码层的网络结构,即在第三编码层、第四编码层包括有神经网络、残差网络和标准化网络。

进一步的,该第二神经网络为双向神经网络;或者,第二神经网络为循环神经网络,或者基于注意力的循环网络。举例说明如下,循环神经网络是一种将序列建模转变为时序建模的网络模型,它将状态在自身网络中循环传递。基于注意力的循环网络可以用于对于一个输入序列学习到一个紧凑的,全局的特征表示,后续实施例中将对循环神经网络或者基于注意力的循环网络做出详细的举例说明。残差网络可以如下模型描述:y=f(x)+x,f(x)表示一层神经网络,x是这层网络的输入,残差网络没有引入额外参数和计算复杂度。在编码端和解码端都用到了该残差网络,残差网络作用是避免梯度消失,可以训练更深层的网络。

在本申请的一些实施例中,步骤a1使用时序信息网络对源端序列进行时序建模中除了包括上述步骤a11至步骤a12之外,还包括:

a13、在第一编码层中的第一前馈网络输出第一子层编码结果之后,使用第二神经网络对第一子层编码结果进行时序建模;

a14、使用第一残差网络对通过时序建模得到的结果进行残差计算;

a15、使用第二标准化网络对通过残差计算得到的结果进行标准变换,得到时序信息。

其中,第一编码层中的第一前馈网络输出第一子层编码结果,然后第二神经网络对第一子层编码结果进行时序建模,接下来使用第一残差网络对通过时序建模得到的结果进行残差计算,最后使用第二标准化网络对通过残差计算得到的结果进行标准变换,得到时序信息。通过对第一编码层和第二编码层的编码过程说明可知,在第一编码层中没有使用残差网络,而在第二编码层中使用了残差网络,即在第一神经网络进行时序建模之后直接使用第一标准化网络进行处理,因此不使用残差网络,这样做的目的是消除隐向量表示须和输入序列长度一致的限制,使得时序编码器更加灵活。

103、从目标端数据库中获取到目标端序列,并将目标端序列、第一编码结果和第二编码结果输入到序列模型的解码端。

在本发明实施例中,获取到目的端数据库,该目的端数据库中存储有需要用于输入序列模型的多个目的端序列,目的端序列可以用于训练序列模型,从目的端数据库中获取到一个目的端序列之后,可以将该目的端序列输入到序列模型的解码端,如图2所示,为本发明实施例提供的一种序列模型的组成结构示意图。由该解码端中所包括的解码层进行编码处理。举例说明如下,以序列模型为transformer模型为例,在transformer模型中可以输入中文的词序列,该transformer模型的编码端可以对该中文的词序列进行编码处理,在transformer模型的解码端中可以输入该中文的词序列相对应的英文的词序列,从而通过transformer模型的解码端来训练transformer模型,使得该transformer模型可以用于中英文词序列的翻译。

在本申请的一些实施例中,如图3所示,为本发明实施例提供的另一种序列模型的组成结构示意图。解码端包括:解码层,解码层包括:自关注网络、注意力网络和第二前馈网络。其中,自关注网络可以是自关注神经网络,自关注神经网络是基于自关注机制的神经网络结构模型。第二前馈网络可以是参数由输入层向输出层单向传播的基础神经网络,例如第二前馈网络具体可以是前馈神经网络。注意力网络是指采用注意力机制(attentionmechanism),注意力网络是一种神经网络模型中将输入信号表示成一些隐藏状态,注意力机制是用来建模这些隐藏状态之间的关系。

在本申请的一些实施例中,步骤103将目标端序列、第一编码结果和第二编码结果输入到序列模型的解码端,包括:

b1、将目标端序列输入到自关注网络中;

b2、将第一编码结果和第二编码结果输入到注意力网络中。

其中,序列模型的解码端可以包括:自关注网络、注意力网络和第二前馈网络,从目标端数据库中获取到目标端序列之后,该目标端序列输入到自关注网络中,由自关注网络进行解码处理,序列模型的编码端输出第一编码结果和第二编码结果,第一编码结果和第二编码结果输入到注意力网络中,由注意力网络进行解码处理,对于自关注网络和注意力网络的计算方式后续实施例中给出详细的说明。

104、通过解码端对目标端序列、第一编码结果和第二编码结果进行解码处理,并输出解码处理后得到的解码结果。

在本申请实施例中,目的端序列输入到解码端之后,再将编码端所输出的第一编码结果和第二编码结果也输入到解码端,然后可以由该解码端中包括的解码器进行解码处理,例如序列模型的解码端可以包括多个解码层,通过多个解码层依次对目的端序列、第一编码结果和第二编码结果进行解码处理从而得到解码结果。需要说明的是,多个解码层分别对目的端序列、第一编码结果和第二编码结果的解码处理可以并行的执行,另外多个解码层分别对目的端序列、第一编码结果和第二编码结果的解码方式可由各个解码层采用的机器学习网络模型来确定。

举例说明如下,以序列模型为transformer模型为例,在transformer模型的编码端中可以输入中文的词序列,在transformer模型的解码端中可以输入该中文的词序列相对应的英文的词序列,从而通过transformer模型的解码端来训练transformer模型,使得该transformer模型可以用于中英文词序列的翻译,该transformer模型的输出可以是对应的英文词序列。

在本申请的一些实施例中,在前述执行步骤b1至b2的实现场景下,步骤104通过解码端对目标端序列、第一编码结果和第二编码结果进行解码处理,包括:

c1、使用自关注网络对目标端序列进行序列变换,得到第一请求键值序列;

c2、将第一请求键值对序列输入到注意力网络中,以及使用注意力网络对第一请求键值序列、第一编码结果和第二编码结果进行关系建模,得到关系信息;

c3、使用第二前馈网络对关系信息进行单向传播,从而得到解码结果。

其中,使用自关注网络对目标端序列进行序列变换,自关注网络中设置有可学习参数矩阵,可学习参数矩阵就是指在模型训练阶段自关注内部的参数会不断更新,自关注网络可以包括n层网络,将第n-1层的输出作为第n层的输入,被三个不同的可学习参数矩阵线性变换为请求(query)、键(key)、值(value)向量序列,线性变换所得到的向量序列可以称为第一请求键值序列。接下来将第一请求键值对序列输入到注意力网络中,由前述实施例中步骤b2的说明可知,第一编码结果和第二编码结果输入到注意力网络中,因此在注意力网络中可以输入有如下三种数据:第一请求键值序列、第一编码结果和第二编码结果,接下来使用注意力网络对第一请求键值序列、第一编码结果和第二编码结果进行关系建模,得到关系信息,对于关系信息的建模方式,后续实施例中给出详细的计算说明,在注意力网络输出关系信息之后,可以使用第二前馈网络对关系信息进行单向传播,输出解码结果,第二前馈网络的计算方式后续实施例中给出详细的说明。

在本申请的一些实施例中,如图5所示,为本申请实施例提供的注意力网络的组成结构示意图。注意力网络,包括:第一注意力子层和第二注意力子层,第一编码结果输入到第一注意力子层中,第二编码结果输入到第二注意力子层中。对于解码层中的注意力网络可以包括两个注意力子层,序列模型的编码端输出第一编码结果和第二编码结果,若这两个编码结果同时输入到两个注意力子层,那么可以通过两个注意力子层分别进行解码,在每个注意力子层输出结果时再进入最终结果的融合,从而可以通过两个注意力子层的同时解码处理可以生成关系信息,由于两个注意力子层的同时解码处理再进行输出结果的融合,因此在后续实施例中这种方式也可以称为:门控加和(gatedsum)的方式。

具体的,在图5所示的注意力网络中,第一注意力子层包括:第一多头注意力网络、第二残差网络和第三标准化网络;第二注意力子层包括:第二多头注意力网络、第三残差网络和第四标准化网络。

在本申请的一些实施例中,基于上述图5所示的注意力网络,步骤c2中的使用注意力网络对第一请求键值序列、第一编码结果和第二编码结果进行关系建模,包括:

c21、将第一请求键值对序列分别输入到第一注意力子层和第二注意力子层;

c22、使用第一多头注意力网络对第一请求键值对序列、第一编码结果进行关系建模从而得到第一关系子信息,使用第二残差网络对第一关系子信息进行残差计算,使用第三标准化网络对通过残差计算得到的结果进行标准变换,得到第一注意力子层输出结果;

c23、使用第二多头注意力网络对第一请求键值对序列、第二编码结果进行关系建模从而得到第二关系子信息,使用第三残差网络对第二关系子信息进行残差计算,使用第四标准化网络对通过残差计算得到的结果进行标准变换,得到第二注意力子层输出结果;

c24、对第一注意力子层输出结果和第二注意力子层输出结果进行融合计算,得到关系信息。

其中,在每个注意力子层中都设置有多头(multi-head)注意力网络、残差网络和标准化网络,对于残差网络和标准化网络的功能说明可以参阅前述实施例中的介绍,在每个注意力子层中都可以使用多头注意力网络对第一请求键值对序列、编码结果进行关系建模,然后再使用残差网络和标准化网络进行处理,在每个注意力子层输出结果时再进入最终结果的融合,从而可以通过两个注意力子层的同时解码处理可以生成关系信息。

举例说明如下,在时序编码器输出第一编码结果之后,在解码器的第n层中,以第一编码结果作为记忆向量,自关注网络的输出第一请求键值对序列作为请求,构建注意力网络,表示对时序编码器输出表示的注意力网络的输出。为了把第一注意力子层输出结果和第二注意力子层输出结果结合起来,利用逻辑回归的sigmoid非线性函数计算权重,之后可以利用这个权重将两个注意力子层的输出结合起来。

在本申请的一些实施例中,如图5所示,为本申请实施例提供的注意力网络的组成结构示意图。注意力网络,包括:第一注意力子层和第二注意力子层,第一编码结果输入到第一注意力子层中,第二编码结果输入到第二注意力子层中。对于解码层中的注意力网络可以包括两个注意力子层,序列模型的编码端输出第一编码结果和第二编码结果,若第二编码结果首先输入到第二注意力子层中进行解码处理,并将第二注意力子层的输出结果输入到第一注意力子层,此时第一注意力子层再对第一编码结果进行解码处理,那么可以通过两个注意力子层依次进行解码,在第二注意力子层输出结果之后再由第一注意力子层输出结果,从而可以通过两个注意力子层的依次解码处理可以生成关系信息,由于两个注意力子层的依次解码处理,因此在后续实施例中这种方式也可以称为:瀑布流(cascade)的方式。

具体的,在图5所示的注意力网络中,第一注意力子层包括:第一多头注意力网络、第二残差网络和第三标准化网络,第二注意力子层包括:第二多头注意力网络、第三残差网络和第四标准化网络。

在本申请的一些实施例中,基于上述图5所示的注意力网络,步骤c2中的使用注意力网络对第一请求键值序列、第一编码结果和第二编码结果进行关系建模,包括:

c25、将第一请求键值对序列输入到第二注意力子层;

c26、使用第二多头注意力网络对第一请求键值对序列、第二编码结果进行关系建模从而得到第三关系子信息,使用第三残差网络对第三关系子信息进行残差计算,使用第四标准化网络对通过残差计算得到的结果进行标准变换,得到第三注意力子层输出结果;

c27、将第三注意力子层输出结果输入到第一注意力子层,使用第一多头注意力网络对第三注意力子层输出结果、第一编码结果进行关系建模从而得到第四关系子信息,使用第二残差网络对第四关系子信息进行残差计算,使用第三标准化网络对通过残差计算得到的结果进行标准变换,得到关系信息。

其中,在每个注意力子层中都设置有多头注意力网络、残差网络和标准化网络,对于残差网络和标准化网络的功能说明可以参阅前述实施例中的介绍,在第二注意力子层中都可以使用多头注意力网络对第一请求键值对序列、第二编码结果进行关系建模,然后再使用残差网络和标准化网络进行处理。若第二编码结果首先输入到第二注意力子层中进行解码处理,并将第二注意力子层的输出结果输入到第一注意力子层,此时第一注意力子层再对第一编码结果进行解码处理,那么可以通过两个注意力子层依次进行解码,在第二注意力子层输出结果之后再由第一注意力子层输出结果,从而可以通过两个注意力子层的依次解码处理可以生成关系信息,由于两个注意力子层的依次解码处理。

举例说明如下,在时序编码器输出第一编码结果之后,在解码器的第n层中,以第一编码结果作为记忆向量,注意力网络中第二注意力子层输出的第三注意力子层输出结果作为请求,构建注意力网络,接下来将其继续地送入前馈神经网络中,就得到了解码器第n层的输出。

在本申请的一些实施例中,解码端包括m个解码层,m为正整数;解码端的第1个至第m-1个解码层中只输入有第二编码结果,且不输入第一编码结果;解码端的第m个解码层中输入有第一编码结果和第二编码结果。

其中,时序编码器输出的第一编码结果并不是输入到每个解码层,而自关注编码器输出的第二编码结果可以输入到每个解码层,因此对于时序编码器输出的第一编码结果是一种短路径效用,在时序编码器中,使用一层的网络建模,并且仅在序列模型的解码端的最后一个解码层中集成时序编码器的第一编码结果,使得源端的输入序列更直接地影响目的端的输出序列,这种短路径的方法在机器翻译的任务上表现出色。

通过以上实施例对本发明实施例的描述可知,序列模型具有编码端和解码端,其中该编码端包括:自关注编码器和时序编码器,从源端数据库中获取到源端序列之后,通过时序编码器、自关注编码器可以分别对源端序列进行编码处理,时序编码器输出的第一编码结果中包括有使用源端序列进行时序建模得到的时序信息,自关注编码器输出第二编码结果。在序列模型的解码端,可以对目标端序列、第一编码结果和第二编码结果进行解码处理,并输出解码处理后得到的解码结果。由于本申请实施例中在序列模型的编码端不仅使用了自关注编码器,还同时使用了时序编码器,该时序信息也输入到序列模型的解码端进行了解码。本申请实施例提供的序列模型采用上述两种编码器同时对源端序列进行编码,从而通过时序建模完成了时序信息的生成,使得序列模型在执行任务时,能够准确的计算序列元素的依存关系,提高序列模型的任务执行效果。

为便于更好的理解和实施本发明实施例的上述方案,下面举例相应的应用场景来进行具体说明。

图6所示的是本发明实施例提供的transformer模型的基本结构,左边表示模型的编码器,由n1层网络组成,例如n1取值为6层,每一层网络里有4个子层。每层包含一层自关注网络和一层前馈网络。首先将源端词输入到源端词嵌入模块,然后将位置编码模块的输出和源端词嵌入模块的输出进行相加,然后再输入到编码器中。右边是解码器,由n2层网络组成,例如n2取值为6层,每层包含一层自关注网络,一层以编码器的隐向量作为记忆的注意力网络,以及一层前馈网络。将目标词输入到目标词嵌入模块,然后将位置编码模块的输出和目标词嵌入模块的输出进行相加,然后再输入到解码器中。并且transformer模型中每一层网络都应用了残差网络以及标准化技术。

接下来对transformer模型中各个网络层的功能进行简单说明。

首先生成源端向量表示序列,给定一个输入序列x={x1,...,xi},网络的第一层将离散的元素转换成连续的空间表示(embedding)。

对于自关注神经网络,第n-1层的输出作为第n层的输入hn-1,首先被三个不同的可学习参数矩阵线性变换为请求(query)、键(key)、值(value)向量序列:q,k,v,可学习参数矩阵就是指在模型训练阶段该矩阵内部的参数会不断更新:

其中,{wq,wk,wv}都是d×d的可训练的参数矩阵,这三个是这个网络的可学习参数矩阵,n-1层的输出是hn-1。d表示输入隐藏状态的维度。san使用点积建模请求与每个键-值对之间的逻辑相似度e,点积建模就是将两个矩阵做点积乘法,进而计算矩阵内部元素间的相似度。

其中,kt表示键key矩阵的转置,d为模型隐藏状态向量的维度。随后san应用softmax非线性变换,将逻辑相似度转换为请求与每个键-值对之间的权重关系α:

α=softmax(e),

根据所得权重,当前元素的输出向量由每个值的加权求和获得,实际计算中对权重与值进行点积计算:

san(hn-1)=α*v,

san表示自关注网络,可以看作一个函数,输入是hn-1,等号右边是函数输出。

对于关注神经网络,第n-1层的输出作为第n层的输入hn-1,以及给定一个记忆向量h,hn-1被一个可学习的参数矩阵变换为请求,h被两个不同的矩阵变换为键和值。接下来的操作和自关注神经网络一样,用att()表示。自关注网络中q,k,v是由同一个hn-1向量变换而来,但是关注网络中的k,v是由记忆向量h变换而来的,自关注网络是关注网络的特殊形式。

对于前馈神经网络,第一个子层的输出cn,首先被一个可学习的参数矩阵w1(维度为dmodel)进行线性变换,再加上可学习的偏差b1,再用max做非线性变换,max(,)就代表取两者间的最大值。非线性变换的结果再次被可学习的参数矩阵w2(维度为dff)线性变换,再加上可学习的偏差b2。用公式表示如下:

ffn(cn)=max(0,cnw1+b1)w2+b2。

接下来对标准化技术进行说明,layernorm表示将矩阵里的数值转化为均值为0,方差为1的数值,该操作用ln()表示。

对于残差网络,可以采用如下计算公式:y=f(x)+x,f(x)表示一层神经网络,x是这层网络的输入,残差网络没有引入额外参数和计算复杂度。残差网络作用是避免梯度消失,可以训练更深层的网络。

transformer模型架构如下:

编码端(encoder):

hen=ln(ffn(cen)+cen)。

每一层编码端包含两个子层,第一个子层是自关注网络,第二个是前馈网络。

解码端(decoder):

ddn=ln(att(cdn,hen)+cdn),

hdn=ln(ffn(ddn)+ddn)。

每一层解码端包含三个子层,第一个子层是自关注网络,第二个是以编码端输出作为记忆,自关注网络输出作为请求的关注神经网络,第三个是前馈网络,ddn代表关注网络层的输出。

由于transformer模型仅依赖于san来计算序列元素的依存关系,对于时序信息的建模是缺乏的,这会对翻译质量造成影响。本发明实施例可以对transformer模型进行时序信息的建模,引入额外的循环网络结构建模序列的时序信息,以提升翻译系统的性能。

综上所述,研究开发一个对transformer模型进行时序信息建模的系统变得十分重要,既保持transformer模型的简单性,可并行性,又可以引入额外的网络对时序信息建模,可以是其他网络,比如cnn等。但是在本发明实施例中主要运用循环网络,将时序编码器和transformer模型中原有的自关注编码器集成在一起,可以弥补transformer模型的不足。特别地,随着transformer模型在越来越多的任务上的广泛应用,这将是transformer模型必然面临的问题。

本发明实施例提供了一种简单灵活的神经机器翻译的框架,利用额外的一个建模时序信息的编码器(即时序编码器,后续也成为额外编码器)来对transformer模型进行补充。对于建模时序信息的编码器,采用了两种神经网络,1)rnn的网络2)注意力的循环网络arn。另外,本发明实施例提出了两种方式,将额外时序编码器的信息送入解码器端,在transformer模型的编码器的最后一层,使用如下两种方式:1)门控加和的方式(gatedsum),2)瀑布流的方式(cascade),将额外的时序编码器编码的信息引入transformer模型。本发明实施例采用的方法简单灵活,可以适配多种额外编码器,并且参数增加较少。就是额外编码器的具体模型,可以很灵活,比如可以是arn或者rnn等等。

由于本发明提出的模型框架简单灵活,可以在时序编码器中接入多种网络,本发明实施例提供的序列模型有两个编码器,一个是transformer自带的基于san的自关注编码器,另一个是时序编码器(即额外编码器)。增强或修正原来的编码器。例如在机器翻译任务上,本发明中提出的注意力循环网络,能够显著提升翻译质量,并且可以捕捉更多的句法以及时序的信息。

首先,基于transformer模型,构建对时序信息建模的编码器,本发明实施例使用了两种模型,第一种是的rnn网络,第二种是基于注意力的循环神经网络。本发明实施例提出两种将时序编码器的输出信息传入transformer模型解码器的方式,第一种是门控加和的方式,第二种是瀑布流的方式。并且提出了“短路径”的方法,即只在解码端的最后一层网络中将额外编码器的输出信息引入。短路径方式首先可以大量减少参数,训练速度更快。另外可以更直接地影响输出端,翻译效果更好。

本发明实施例接下来对时序编码器和自关注编码器分别进行说明,请参阅图7所示,为本发明实施例提供的transformer模型的自关注编码器和时序编码器的示意图。transformer模型的编码端具有两种编码器,如图7左侧所示的自关注编码器,图7右侧所示的时序编码器。首先将源端词输入到源端词嵌入模块,然后将位置编码模块的输出和源端词嵌入模块的输出进行相加,然后再输入到自关注编码器中,该源端词嵌入模块的输出也输入到时序编码器中。在自关注编码器中包括如下四层:多头注意力网络、残差网络和标准化网络、前馈神经网络、残差网络和标准化网络。在时序编码器中包括如下四层:循环模型(recurrencemodeling)、标准化网络、前馈神经网络、残差网络和标准化网络。

如图7所示,本发明实施例提出的编码器包含两部分,左侧是transformer编码器,transformer编码器是基于san的,右侧是本发明实施例提出的建模时序信息的编码器(即时序编码器)。对于建模时序信息的编码器,和原来transformer模型编码器层数一致,每一层有两个子层,分别是时序信息网络以及前馈网络,时序信息网络的核心组件是recurrencemodeling。

时序信息网络可以用公式表示如下:

hrn=ln(ffn(crn)+crn)。

其中,rec(·)表示时序模型的函数。在第一层网络中(即n=1),本发明实施例没有使用残差网络,这样做的目的是消除隐向量表示须和输入序列长度一致的限制,使得本发明实施例提出的建模时序信息的编码器更加灵活。

如图8所示,为本发明实施例提供的循环神经网络的示意图。其中,h0代表一个节点的隐向量,e1代表这个节点的输入。h连起来表示隐向量是不断向后传递的。对于源端向量表示序列,给出一个输入序列是输入序列的向量表示,表示第0层,第j个隐向量。

对于双向rnn网络:双向rnn通过如下方式建模时序信息:

其中,分别代表正向和反向rnn网络的激活函数。重复以上三个步骤,可以得到堆叠多层的rnn输出表示:

对于前馈神经网络,将双向rnn的输出表示送入前馈神经网络ffn中,得到最终的基于rnn的编码器的输出表示hrn

如图9所示,为本发明实施例提供的基于注意力的循环网络的示意图。其中,h0代表一个节点的隐向量,e1代表这个节点的输入,c1和c2表示注意力模型的输出。对于源端向量表示序列,给出一个输入序列是输入序列的向量表示。

本发明实施例提出基于注意力的循环网络(arn),对于一个输入序列,可以学习到一个紧凑的,全局的特征表示。具体地,在循环网络的每一步,经过如下的公式计算:

经过t步循环后,可以得到arn网络的输出

进一步的,本发明实施例中采用的arn网络可以是双向arn网络。

对于前馈神经网络,将arn的输出表示送入前馈神经网络ffn中,得到最终的基于arn的编码器的输出表示hrn

在自关注编码器和时序编码器各自编码完成之后,可以将自关注编码器的输出结果和时序编码器的输出结果进行集成。如图10所示,为本发明实施例提供的采用门控加和方式进行解码的示意图。将目标词输入到目标词嵌入模块,然后将位置编码模块的输出和目标词嵌入模块的输出进行相加,然后再输入到多头注意力网络、残差网络和标准化网络进行解码处理,得到的解码结果分别和自关注编码器的输出结果、时序编码器的输出结果进行解码,再将各自解码结果进行门控加和,得到的结果输入到前馈神经网络、残差网络和标准化网络进行处理,最后经过softmax函数之后输出可能性结果。

接下来对门控加和的方式进行详细说明,得到额外的建模时序信息的编码器的表示hrn之后,在解码器第n层中,以hrn作为记忆,自关注网络的输出作为请求,构建注意力网络:

rdn=ln(att(cdn,hrn)+cdn),

rdn表示对额外的建模时序信息的编码器输出表示的注意力网络的输出。为了把这个输出和原来网络中的输出ddn结合起来,利用逻辑回归的sigmoid非线性函数计算权重λn:

λn=sigmoid(ddn,rdn),

之后可以利用这个权重将两个注意力网络的输出结合起来:

继续地送入前馈神经网络中:就得到了解码器第n层的输出hdn

如图11所示,为本发明实施例提供的采用瀑布流方式进行解码的示意图。将目标词输入到目标词嵌入模块,然后将位置编码模块的输出和目标词嵌入模块的输出进行相加,然后再输入到多头注意力网络、残差网络和标准化网络进行解码处理,得到的解码结果和自关注编码器的输出结果进行解码,再将得到的解码结果和时序编码器的输出结果共同输入到多头注意力网络、残差网络和标准化网络,进行解码处理得到的结果输入到前馈神经网络、残差网络和标准化网络进行处理,最后经过softmax函数之后输出可能性结果。

接下来对瀑布流方式的方式进行详细说明,得到额外的建模时序信息的编码器的表示hrn之后,在解码器第n层中,以hrn作为记忆,注意力网络的输出作为请求,构建注意力网络,这里构建的注意力网络是以解码器自注意力网络的输出作为请求,时序编码器的输出作为键,构建注意力网络,目的是要将时序编码器和解码器联系起来。具体可通过方式:

rdn=ln(att(ddn,hrn)+ddn),

其中,rdn表示对额外的建模时序信息的编码器输出表示的注意力网络的输出。接下来将其继续地送入前馈神经网络中:

hdn=ln(ffn(rdn)+rdn)。

就得到了解码器第n层的输出hdn

本发明实施例中提出了一种短路径效用,在额外建模时序信息的编码器中,使用一层的网络建模,并且仅在transformer模型解码器的最后一层集成额外编码器的信息,使得源端的输入序列更直接地影响目标端的输出序列。这种短路径的方法在机器翻译的任务上表现出色。

接下来举例说明本发明实施例中采用的多种模型组合方式。

方法1:在额外的时序信息建模的编码器中使用6层双向rnn网络,在transformer模型解码端使用短路径,直接在解码端最后一层使用瀑布流方式融合短路径方式。6层指的是建模时序信息的编码器。

方法2:在额外的时序信息建模的编码器中使用1层双向arn网络,在transformer模型解码端使用短路径,直接在解码端最后一层使用门控加和方式融合短路径方式。其中,双向arn网络就是将输入序列反转,然后再用arn建模一次,将正向和反向的输出拼接起来。

方法3:在额外的时序信息建模的编码器中使用1层双向arn网络,在transformer模型解码端使用短路径,直接在解码端最后一层使用瀑布流方式融合短路径方式。

由于本发明实施例提供的方法简单灵活,可以在时序编码器中加入各种改进的网络结构,从而改善transformer模型的翻译效果,以及在其他语言理解及生成任务上,本发明实施例提供了一个简单有效的方法对序列模型提供额外的编码信息。

以机器翻译为例,在wmt2014英德机器翻译任务的测试中,所提出方法显著提升翻译质量,如下表1所示,双语互译质量评估(bilingualevaluationunderstudy,bleu)是机器翻译评测的标准方法,值越高表示效果越好。bleu一般提高超过0.5个点即是显著提高,该栏的δ是指提高的绝对数值,参数数量的单位为百万(m),训练速度单位为每秒迭代次数。本申请实施例提供的方法在较长句子的翻译上表现出色。

表1为本发明实施例提供的transformer模型与现有技术的网络模型在机器翻译系统上的效果对比表。

需要说明的是,本发明不限定对时序信息编码的方式,在时序信息编码端可以使用多层单向rnn或arn以及其他网络机构,例如有向的自关注神经网络等。本发明中使用sigmoid非线性方法计算时序信息编码端的系数,使其成为值域为(0,1)的标量,该项可由其他可将任意实数映射到(0,1)之间方法代替。

本发明实施例中,对transformer模型进行时序信息建模,增强源端序列的时序信息表示。本发明实施例采用短路径方式,其特点是将建模时序信息的编码器输出直接在解码端的最后一层集成。使用双向基于注意力的循环网络建模序列的时序信息,在建模时序信息的编码器端,采用双向的arn网络对源端序列进行建模。使用门控加和或者瀑布流的方式将编码端的信息在解码端集成,在解码端单层或多层的使用门控加和或者瀑布流的方式,将建模时序信息的编码端输出在解码端集成。本发明的方法可以应用于多种序列模型中,不局限于机器翻译系,以提升对序列的时序建模能力。其中在机器翻译系统transformer中,已验证可显著改善翻译任务的翻译质量,提升用户体验。

本发明的主要创新之处是提出了一种对神经机器翻译transformer模型的时序信息建模方法,利用一个额外的编码器对源端序列进行时序信息的建模,然后提出了两种集成方式(第一种是门控加和的方式,第二种是瀑布流的方式),将该编码器学习到的信息与原来transformer模型进行集成。进一步地,本发明提出了短路径效应,将源端序列信息高效传递到目标端序列。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方案的相关装置。

请参阅图12-a所示,本发明实施例提供的一种序列模型的处理装置1200,可以包括:第一输入模块1201、编码模块1202、第二输入模块1203、解码模块1204,其中,

第一输入模块1201,用于从源端数据库中获取到源端序列,并将所述源端序列输入到序列模型的编码端,所述编码端包括:自关注编码器和时序编码器;

编码模块1202,用于通过所述时序编码器对所述源端序列进行编码处理从而得到第一编码结果,所述第一编码结果包括:使用所述源端序列进行时序建模得到的时序信息;以及通过所述自关注编码器对所述源端序列进行编码处理从而得到第二编码结果;

第二输入模块1203,用于从目标端数据库中获取到目标端序列,并将所述目标端序列、所述第一编码结果和所述第二编码结果输入到所述序列模型的解码端;

解码模块1204,用于通过所述解码端对所述目标端序列、所述第一编码结果和所述第二编码结果进行解码处理,并输出解码处理后得到的解码结果。

在本申请的一些实施例中,所述时序编码器包括:编码层,所述编码层包括:时序信息网络和第一前馈网络;

如图12-b所示,所述编码模块1202,包括:

时序建模子模块12021,用于使用所述时序信息网络对所述源端序列进行时序建模从而得到所述时序信息;

第一传播子模块12022,用于使用所述第一前馈网络对所述时序信息进行单向传播,输出所述第一编码结果。

在本申请的一些实施例中,所述时序编码器包括n个的编码层,所述n为正整数;

所述时序编码器中的第一编码层,包括:第一时序信息网络和所述第一前馈网络;

所述第一时序信息网络,包括:第一神经网络和第一标准化网络;

如图12-c所示,所述时序建模子模块12021,包括:

第一时序建模单元120211,用于使用所述第一神经网络对所述源端序列进行时序建模;

第一标准化处理单元120212,用于使用所述第一标准化网络对通过时序建模得到的结果进行标准变换,得到所述时序信息。

在本申请的一些实施例中,所述时序编码器中的第二编码层,包括:第二时序信息网络和所述第一前馈网络;

所述第二时序信息网络,包括:第二神经网络、第一残差网络和第二标准化网络;

如图12-d所示,相对于图12-c所示,所述时序建模子模块12021,还包括:

第二时序建模单元120213,用于在所述第一编码层中的第一前馈网络输出第一子层编码结果之后,使用所述第二神经网络对所述第一子层编码结果进行时序建模;

残差计算单元120214,用于使用所述第一残差网络对通过时序建模得到的结果进行残差计算;

第二标准化处理单元120215,用于使用所述第二标准化网络对通过残差计算得到的结果进行标准变换,得到所述时序信息。

在本申请的一些实施例中,所述第一神经网络为双向神经网络;或者,所述第一神经网络为循环神经网络,或者基于注意力的循环网络。

在本申请的一些实施例中,所述第二神经网络为双向神经网络;或者,所述第二神经网络为循环神经网络,或者基于注意力的循环网络。

在本申请的一些实施例中,所述解码端,包括:解码层,所述解码层包括:自关注网络、注意力网络和第二前馈网络;

所述第二输入模块1203,用于将所述目标端序列输入到所述自关注网络中;将所述第一编码结果和所述第二编码结果输入到所述注意力网络中。

在本申请的一些实施例中,如图12-e所示,所述解码模块1204,包括:

自关注处理子模块12041,用于使用所述自关注网络对所述目标端序列进行序列变换,得到第一请求键值序列;

注意力处理子模块12042,用于将所述第一请求键值对序列输入到所述注意力网络中,以及使用所述注意力网络对所述第一请求键值序列、所述第一编码结果和所述第二编码结果进行关系建模,得到关系信息;

第二传播子模块12043,用于使用所述第二前馈网络对所述关系信息进行单向传播,从而得到所述解码结果。

在本申请的一些实施例中,所述注意力网络,包括:第一注意力子层和第二注意力子层,所述第一编码结果输入到所述第一注意力子层中,所述第二编码结果输入到所述第二注意力子层中;

所述第一注意力子层包括:第一多头注意力网络、第二残差网络和第三标准化网络;

所述第二注意力子层包括:第二多头注意力网络、第三残差网络和第四标准化网络;

如图12-f所示,注意力处理子模块12042,包括:

第一输入单元120421,用于将所述第一请求键值对序列分别输入到所述第一注意力子层和所述第二注意力子层;

第一注意力处理单元120422,用于使用所述第一多头注意力网络对所述第一请求键值对序列、所述第一编码结果进行关系建模从而得到第一关系子信息,使用所述第二残差网络对所述第一关系子信息进行残差计算,使用所述第三标准化网络对通过残差计算得到的结果进行标准变换,得到第一注意力子层输出结果;

第二注意力处理单元120423,用于使用所述第二多头注意力网络对所述第一请求键值对序列、所述第二编码结果进行关系建模从而得到第二关系子信息,使用所述第三残差网络对所述第二关系子信息进行残差计算,使用所述第四标准化网络对通过残差计算得到的结果进行标准变换,得到第二注意力子层输出结果;

融合计算单元120424,用于对所述第一注意力子层输出结果和所述第二注意力子层输出结果进行融合计算,得到所述关系信息。

在本申请的一些实施例中,所述注意力网络,包括:第一注意力子层和第二注意力子层,所述第一编码结果输入到所述第一注意力子层中,所述第二编码结果输入到所述第二注意力子层中;

所述第一注意力子层包括:第一多头注意力网络、第二残差网络和第三标准化网络;

所述第二注意力子层包括:第二多头注意力网络、第三残差网络和第四标准化网络;

如图12-g所示,注意力处理子模块12042,包括:

第二输入单元120425,用于将所述第一请求键值对序列输入到所述第二注意力子层;

第三注意力处理单元120426,用于使用所述第二多头注意力网络对所述第一请求键值对序列、所述第二编码结果进行关系建模从而得到第三关系子信息,使用所述第三残差网络对所述第三关系子信息进行残差计算,使用所述第四标准化网络对通过残差计算得到的结果进行标准变换,得到第三注意力子层输出结果;

第四注意力处理单元120427,用于将所述第三注意力子层输出结果输入到所述第一注意力子层,使用所述第一多头注意力网络对所述第三注意力子层输出结果、所述第一编码结果进行关系建模从而得到第四关系子信息,使用所述第二残差网络对所述第四关系子信息进行残差计算,使用所述第三标准化网络对通过残差计算得到的结果进行标准变换,得到所述关系信息。

在本申请的一些实施例中,所述解码端包括m个解码层,所述m为正整数;

所述解码端的第1个至第m-1个解码层中只输入有所述第二编码结果,且不输入所述第一编码结果;

所述解码端的第m个解码层中输入有所述第一编码结果和所述第二编码结果。

通过以上对本发明实施例的描述可知,序列模型具有编码端和解码端,其中该编码端包括:自关注编码器和时序编码器,从源端数据库中获取到源端序列之后,通过时序编码器、自关注编码器可以分别对源端序列进行编码处理,时序编码器输出的第一编码结果中包括有使用源端序列进行时序建模得到的时序信息,自关注编码器输出第二编码结果。在序列模型的解码端,可以对目标端序列、第一编码结果和第二编码结果进行解码处理,并输出解码处理后得到的解码结果。由于本申请实施例中在序列模型的编码端不仅使用了自关注编码器,还同时使用了时序编码器,该时序信息也输入到序列模型的解码端进行了解码。本申请实施例提供的序列模型采用上述两种编码器同时对源端序列进行编码,从而通过时序建模完成了时序信息的生成,使得序列模型在执行任务时,能够准确的计算序列元素的依存关系,提高序列模型的任务执行效果。

本发明实施例还提供了另一种终端,如图13所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括手机、平板电脑、pda(personaldigitalassistant,个人数字助理)、pos(pointofsales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:

图13示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图13,手机包括:射频(radiofrequency,rf)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(wirelessfidelity,wifi)模块1070、处理器1080、以及电源1090等部件。本领域技术人员可以理解,图13中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图13对手机的各个构成部件进行具体的介绍:

rf电路1010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1080处理;另外,将设计上行的数据发送给基站。通常,rf电路1010包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(lownoiseamplifier,lna)、双工器等。此外,rf电路1010还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystemofmobilecommunication,gsm)、通用分组无线服务(generalpacketradioservice,gprs)、码分多址(codedivisionmultipleaccess,cdma)、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)、长期演进(longtermevolution,lte)、电子邮件、短消息服务(shortmessagingservice,sms)等。

存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元1030可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括触控面板1031以及其他输入设备1032。触控面板1031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1031上或在触控面板1031附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1031。除了触控面板1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1040可包括显示面板1041,可选的,可以采用液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板1041。进一步的,触控面板1031可覆盖显示面板1041,当触控面板1031检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图13中,触控面板1031与显示面板1041是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1031与显示面板1041集成而实现手机的输入和输出功能。

手机还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1041和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路1060、扬声器1061,传声器1062可提供用户与手机之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经rf电路1010以发送给比如另一手机,或者将音频数据输出至存储器1020以便进一步处理。

wifi属于短距离无线传输技术,手机通过wifi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图13示出了wifi模块1070,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器1080是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1080可包括一个或多个处理单元;优选的,处理器1080可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1080中。

手机还包括给各个部件供电的电源1090(比如电池),优选的,电源可以通过电源管理系统与处理器1080逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。

在本发明实施例中,该终端所包括的处理器1080还具有控制执行以上由终端执行的序列模型的处理方法流程。

图14是本发明实施例提供的一种服务器结构示意图,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储介质1130通信,在服务器1100上执行存储介质1130中的一系列指令操作。

服务器1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作系统1141,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述实施例中由服务器所执行的序列模型的处理方法步骤可以基于该图14所示的服务器结构。

另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用cpu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

综上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照上述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对上述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1