一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据处理方法和相关装置与流程

2022-04-07 03:50:00 来源:中国专利 TAG:


1.本技术涉及数据处理领域,特别是涉及一种数据处理方法和相关装置。


背景技术:

2.通过语言模型可以使机器实现自然语言处理(natural language processing, nlp)的能力,从而为用户提供各类语言相关的服务,例如机器翻译、舆情监测、自动摘要、观点提取、文本分类、问题回答、文本语义对比、语音识别、中文ocr等方面。
3.为了提高服务效果,需要采用高质量的语言模型,相关技术中多采用提升模型的参数量,比如增加模型的层数等方式。
4.但是,增加模型的参数量会不仅会导致模型复杂度提升,而且对提升模型质量的程度有限。


技术实现要素:

5.为了解决上述技术问题,本技术提供了一种数据处理方法和相关装置,语言模型通过综合不同的注意力分布,能够关注到更多需要注意的数据,增加了处理多样性,显著提高了语言模型的语言处理精度。
6.本技术实施例公开了如下技术方案:
7.一方面,本技术实施例提供了一种数据处理方法,所述方法包括:
8.确定语言模型的解码器包括的多层注意力层,顺序连接的所述多层注意力层包括第一注意力层和第二注意力层,第一注意力层为解码顺序下第二注意力层的前一层;
9.在所述多层注意力层中设置至少两种注意力机制,所述至少两种注意力机制包括第一注意力机制和第二注意力机制,所述第一注意力层采用所述第一注意力机制,所述第二注意力层采用所述第二注意力机制;
10.根据待处理语料确定所述语言模型的输入数据;
11.基于所述输入数据,通过所述语言模型确定所述待处理语料的语言处理结果;
12.在得到所述语言处理结果的过程中,针对所述第一注意力层和所述第二注意力层,包括:
13.基于所述输入数据确定所述第一注意力层的第一子输入数据;
14.通过所述第一注意力层对所述第一子输入数据进行基于所述第一注意力机制的解码处理,将得到的第一子处理结果作为所述第二注意力层的第二子输入数据,所述第一子处理结果体现所述第一注意力机制的第一注意力分布;
15.通过所述第二注意力层对所述第二子输入数据进行基于所述第二注意力机制的解码处理,得到第二子处理结果,所述第二子处理结果在所述第一注意力分布下体现所述第二注意力机制的第二注意力分布。
16.另一方面,本技术实施例提供了一种数据处理装置,所述装置包括第一确定单元、设置单元、第二确定单元和第三确定单元:
17.所述第一确定单元,用于确定语言模型的解码器包括的多层注意力层,顺序连接的所述多层注意力层包括第一注意力层和第二注意力层,第一注意力层为解码顺序下第二注意力层的前一层;
18.所述设置单元,用于在所述多层注意力层中设置至少两种注意力机制,所述至少两种注意力机制包括第一注意力机制和第二注意力机制,所述第一注意力层采用所述第一注意力机制,所述第二注意力层采用所述第二注意力机制;
19.所述第二确定单元,用于根据待处理语料确定所述语言模型的输入数据;
20.所述第三确定单元,用于基于所述输入数据,通过所述语言模型确定所述待处理语料的语言处理结果;
21.在得到所述语言处理结果的过程中,针对所述第一注意力层和所述第二注意力层,所述第三确定单元还用于:
22.基于所述输入数据确定所述第一注意力层的第一子输入数据;
23.通过所述第一注意力层对所述第一子输入数据进行基于所述第一注意力机制的解码处理,将得到的第一子处理结果作为所述第二注意力层的第二子输入数据,所述第一子处理结果体现所述第一注意力机制的第一注意力分布;
24.通过所述第二注意力层对所述第二子输入数据进行基于所述第二注意力机制的解码处理,得到第二子处理结果,所述第二子处理结果在所述第一注意力分布下体现所述第二注意力机制的第二注意力分布。
25.另一方面,本技术实施例公开了一种计算机设备,所述计算机设备包括处理器以及存储器:
26.所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
27.所述处理器用于根据所述程序代码中的指令执行上述方面中所述的数据处理方法。
28.另一方面,本技术实施例公开了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述方面中所述的数据处理方法。
29.由上述技术方案可以看出,确定语言模型的解码器包括的多层注意力层,其中包括了在解码顺序下前后相邻的第一注意力层和第二注意力层。在该多层注意力层中设置至少两种注意力机制,第一注意力层采用了其中的第一注意力机制,第二注意力层采用了其中的第二注意力机制,从而构建出了能够采用至少两种注意力机制进行解码处理的语言模型。针对待处理语料,通过该语言模型可以基于待处理语料确定的输入数据,得到对应该待处理语料的语言处理结果。在处理过程中,语言模型的解码器的第一注意力层会获取根据输入数据确定的第一子输入数据,通过第一注意力层可以基于第一注意力机制对其进行解码处理,得到的第一子处理结果体现所述第一注意力机制的第一注意力分布。在该第一子处理结果的基础上,通过第二注意力层继续进行基于第二注意力机制的解码处理,得到的第二子处理结果在所述第一注意力分布下体现所述第二注意力机制的第二注意力分布。由此,语言模型在处理待处理语料时,由于能够采用至少两种不同的注意力机制,不同的注意力机制针对同一个语料的注意力分布或者说所关注的侧重点是有所区别的,语言模型通过综合不同的注意力分布,能够关注到更多需要注意的数据,增加了处理多样性,显著提高了语言模型的语言处理精度。
附图说明
30.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
31.图1为本技术实施例提供的一种处于翻译场景中的语言模型结构示意图;
32.图2为本技术实施例提供的一种数据处理方法的方法流程图;
33.图3为一种采用多头自注意力机制的模型结构示意图;
34.图4为本技术实施例提供的一种使用语言模型的翻译场景流程示意图;
35.图5为本技术实施例提供的一种翻译场景交互示意图;
36.图6为本技术实施例提供的一种多头自注意力机制的模型结构图;
37.图7为本技术实施例提供的一种平均注意力机制的模型结构图;
38.图8为本技术实施例提供的一种多头自注意力机制优先的模型结构图;
39.图9为本技术实施例提供的一种双注意力机制的模型结构图;
40.图10为本技术实施例提供的一种平均注意力机制优先的模型结构图;
41.图11为本技术实施例提供的一种数据处理装置的装置结构图;
42.图12为本技术实施例提供的一种终端设备的结构图;
43.图13为本技术实施例提供的一种服务器的结构图。
具体实施方式
44.下面结合附图,对本技术的实施例进行描述。
45.相关技术中,对于语言模型的质量提升手段主要采用增加模型规模来提升模型参数,这种方式不仅会显著降低模型效率,且对模型质量的提升有限,不利于语言模型的发展。
46.为此,本技术实施例提供了一种数据处理方法,能够关注到更多需要注意的数据,显著提高了语言模型的语言处理精度。
47.本技术实施例所提供的数据处理方法可以通过计算机设备实施,该计算机设备可以是终端设备或服务器,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
48.本技术实施例提供的数据处理方法是基于人工智能实现的,人工智能 (artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
49.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层
面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
50.在本技术实施例中,主要涉及的人工智能技术包括上述自然语言处理技术等方向。
51.前述计算机处理设备可以具备自然语言处理能力。自然语言处理(naturelanguage processing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
52.在本技术实施例中,计算机设备通过部署的语言模型实现对待处理语料进行语言处理,基于语言模型的功能类型的不同,可以实现不同语言处理功能,例如机器翻译、舆情监测、自动摘要、观点提取、文本分类、问题回答、文本语义对比、语音识别、中文ocr等功能。
53.通过图1进行说明,在图1示出的场景中,前述计算机设备以服务器100 作为示例,语言模型以实现语言翻译功能的翻译模型200(transformer model) 作为示例。
54.翻译模型200中具有编码器和解码器,解码器中设置了n层注意力层,在解码顺序下依次是注意力层1-注意力层n,为例便于说明,将n层注意力层的第一层,注意力层1作为本技术中的第一注意力层,该层采用第一注意力机制。将注意力层2作为本技术中的第二注意力层,该层采用第二注意力机制。这n层注意力层除了注意力层1和注意力层2之外的注意力层采用何种注意力机制这里不做限定。
55.基于上述配置方式得到的翻译模型200配置在服务器100中,服务器100 基于翻译模型200为用户提供不同语种翻译的服务,而且,该翻译模型的解码器能够采用至少两种注意力机制进行解码处理,具有较高的准确性。
56.当服务器100收到待处理语料后,以及翻译模型提供的翻译功能对待处理语料进行语言处理,得到对应的翻译文本,例如翻译模型200为中英翻译模型时,待处理语料可以为“今天天气真好”,通过翻译模型200能够得到对应的翻译文本为“the weather is so nice today”。
57.在翻译处理过程中,翻译模型200的解码器的注意力层1会获取根据输入数据确定的第一子输入数据,通过注意力层1可以基于第一注意力机制对其进行解码处理,得到的第一子处理结果体现所述第一注意力机制的第一注意力分布。在该第一子处理结果的基础上,通过注意力层2继续进行基于第二注意力机制的解码处理,得到的第二子处理结果在所述第一注意力分布下体现所述第二注意力机制的第二注意力分布。
58.由此,语言模型在处理待处理语料时,能够采用至少两种不同的注意力机制,由于不同的注意力机制针对同一个语料的注意力分布或者说所关注的侧重点是有所区别的,语言模型通过综合不同的注意力分布,能够关注到更多需要注意的数据,增加了处理多样性,显著提高了语言模型的语言处理精度。
59.图2为本技术实施例提供的一种数据处理方法的方法流程图,在本实施例中,主要
以服务器作为前述计算机设备进行说明。所述方法包括:
60.s201:确定语言模型的解码器包括的多层注意力层。
61.本技术并不限定所涉及语言模型可以实现的语言处理功能,例如该语言模型可以实现不同语种间的翻译功能、文本生成功能、语言理解功能、信息抽取功能、语义表示功能中的任意一种。基于语言模型所能实现语言处理功能的不同,对应的语言处理结果也可以相应变化。
62.解码器中该多个注意力层在解码顺序下顺序连接,第一注意力层和第二注意力层为该多个注意力层中的相邻两层,在解码顺序下,第一注意力层为第二注意力层的前一层,即第一注意力层得到的输出将作为第二注意力层的输入,第二注意力层将基于该输入确定出本层的输出。
63.可选的,该多层注意力层可以为6层。
64.s202:在所述多层注意力层中设置至少两种注意力机制。
65.相较于相关技术中的语言模型仅设置一种注意力机制的方式,本技术实施例会在同一个语言模型的解码器中设置至少两种注意力机制,例如第一注意力机制和第二注意力机制。需要注意的是,本技术不限定所设置注意力机制的数量。
66.采用一种注意力机制的语言模型在进行语言处理时注意力分布较为单一,比较擅长所采用注意力机制
67.可以参见图3,在图3示出的场景中所采用的注意力机制为多头自注意力 (multi-head self-attention)机制,语言模型具体为翻译模型。该翻译模型包括一个编码器和一个解码器,其中编码器和解码器分别具有n层(通常为6 层)复杂的结构。每一层的结构一致,编码器的每一层包括一个多头自注意力模块(multi-head self-attention module)和一个前馈全连接(ffn,feedforward network)模块,每一个模块的输出都需要经过相加归一化(add& norm)处理。
68.而解码器的n层注意力层的每一层注意力层通常包括一个掩码多头自注意力模块(mask multi-head self-attention module),一个交叉编码器和解码器的多头自注意力模块,也称为交叉自注意力模块(cross self-attentionmodule)以及一个前馈全连接模块。在图3示出的场景中,解码器的每一层称为多头自注意力层,在模型结构中类似于图1中的一个注意力层。
69.通过n层多头自注意力层的依次解码处理,在通过线性化(linear)和 softmax函数的处理后,得到针对对待翻译文本的预测结果,即基于模型得到的翻译文本。
70.由于注意力机制上的区别,导致不同注意力机制针对同一个待处理语料,会确定出不同的注意力分布,即会指导模型关注的重要特征上有所区别。由此,当在一个语言模型的解码器中设置至少两种注意力机制时,在解码过程中会使得解码器在不同的注意力机制的指导下分别关注到不同注意力机制所标识的重要特征,这种方式不仅带来了多样性,而且会提高语言模型最终得到的语言处理结果的质量。
71.以语言模型为用于不同语种间翻译的翻译模型为例进行说明。基于不同的注意力机制所确定出的注意力分布会有重叠的部分和不重叠的部分,重叠的部分可以体现出比较不容易翻译错的语料特征(容易的部分),不重叠的部分可以体现出不同注意力机制分别在自身注意力机制下认为容易翻译错的语料特征,或者是需要特别注意的生僻语料特征等
(困难的部分)。
72.由此翻译模型通过采用了不同注意力机制的注意力层的解码结果,可以识别出不同注意力机制分别基于注意力分布确定出的对翻译较为重要的语料特征。使得翻译模型对容易翻译的语料特征的翻译准确性更高,对于容易翻译错误的语料特征会关注的更广泛、全面,降低了易出错语料的翻译错误出现概率,从整体上提高了翻译质量。
73.同理,针对其他类型的语言模型也是一样,同样会起到提高语言处理结果的质量的效果。
74.在设置注意力机制时,可以将作为相邻注意力层的第一注意力层和第二注意力层分别设置不同的注意力机制,例如所述第一注意力层采用所述第一注意力机制,所述第二注意力层采用所述第二注意力机制。需要强调的时,对于本技术实施例提供的解码器中的多层注意力层的注意力混合方案,本技术并不限定必须所有的相邻注意力层所采用的注意力机制均不相同,只要至少有一对相邻注意力层所采用的注意力机制不同即可,例如注意力混合方案中可以包括有些相邻的注意力层采用了相同的注意力机制的情况。
75.s203:根据待处理语料确定所述语言模型的输入数据。
76.s204:基于所述输入数据,通过所述语言模型确定所述待处理语料的语言处理结果。
77.在语言模型对基于待处理语料确定的输入数据进行模型所对应语言处理功能的处理过程中,由于语言模型的解码器中设置了至少两种注意力机制,使得服务器在通过语言模型的处理过程中,不同的注意力机制针对同一个语料的注意力分布或者说所关注的侧重点是有所区别的,语言模型通过综合不同的注意力分布,能够关注到更多需要注意的数据,增加了处理多样性,显著提高了语言模型的语言处理精度。
78.接下来基于翻译场景为例进行说明,在一种可能的实现方式中,所述语言模型为语言翻译模型,s203包括:
79.对第一语种的所述待处理语料进行文本分词处理,并根据得到的多个语料片段确定所述输入数据;
80.相应的,s204包括:
81.基于所述输入数据,通过所述语言模型采用的所述至少两种注意力机制确定所述待处理语料在第二语种的翻译文本。
82.翻译的整体流程是先确定待处理语料的文本信息,将文本信息切分成一个个单句,然后对于每一个单句先做分词处理,如我爱中国,被切分为我/爱/ 中国。然后将切分后的单词作为输入数据送入翻译模型,翻译模型输出在其他语种下的翻译文本,之后还可以再对翻译文本的标点符号,空格等进行简单的后处理,返回给用户。
83.还是以翻译场景为例,说明本技术实施例的应用场景,如图4所示,用户可以通过终端设备触发对待处理语料的翻译请求,例如在社交软件的会话界面中长按待处理语料,或者通过小程序等确定待处理语料,如在图5示出的场景中,用户a通过社交软件的会话界面长按“今天天气真好”,生成了针对“今天天气真好”的翻译请求,希望翻译成英文。
84.服务器的语言检测和翻译请求分发模块获取到翻译请求后,调用本技术实施例提供的翻译模型对待处理语料进行翻译,并获取翻译模型返回的翻译结果,例如待处理语料为“今天天气真好”,返回的翻译结果为“the weatheris so nice today”。语言检测和翻
译请求分发模块向用户的终端设备返回该翻译结果,终端设备通过展示该翻译结果实现为用户提供了翻译服务,如图5示出的,在“今天天气真好”所在会话界面的下放展示“the weather is so nicetoday”。
85.为了清楚说明不同注意力分布对语言处理带来的技术效果,尤其是相对于单一注意力机制下的语言模型的优势,接下来通过在得到所述语言处理结果的过程中,针对所述第一注意力层和所述第二注意力层在s204中的作用进行说明:
86.s2041:基于所述输入数据确定所述第一注意力层的第一子输入数据。
87.输入数据输入语言模型后,可以通过编码器的编码后到达解码器。若第一注意力层为解码器的多个注意力层中的第一层,则可以根据编码器的输出确定第一注意力层的第一子输入数据,若第一注意力层不是解码器的多个注意力层中的第一层,则可以根据编码器的输出和第一注意力层的前一层注意力层的输出来确定第一注意力层的第一子输入数据。
88.s2042:通过所述第一注意力层对所述第一子输入数据进行基于所述第一注意力机制的解码处理,将得到的第一子处理结果作为所述第二注意力层的第二子输入数据。
89.由于第一注意力层采用的是至少两个注意力机制中的第一注意力机制,故通过第一注意力层的解码处理后,得到的第一子处理结果体现所述第一注意力机制的第一注意力分布,该第一注意力分布相当于在指示后续的注意力层在进行解码处理时应该注意输入数据中的哪些部分等。
90.s2043:通过所述第二注意力层对所述第二子输入数据进行基于所述第二注意力机制的解码处理,得到第二子处理结果。
91.由于第二注意力层采用第二注意力机制,其与第一注意力机制属于不同种类的注意力机制,由此导致了在通过注意力机制进行解码处理时,可以在第一注意力机制所标识的注意力分布下做出基于第二注意力机制的第二注意力分布。从而在第二子处理结果中结合至少两种注意力分布,语言模型在做出最终的语言处理结果前,会参考这两种注意力分布,使得可参考的注意力分布具有多样性,
92.语言模型在多种注意力分布的指导下,对容易处理的语料特征的处理准确性更高,对于容易出现处理错误的语料特征会关注的更广泛、全面,降低了易出错语料的处理错误出现概率,从整体上提高了语言处理质量。
93.由此可见,确定语言模型的解码器包括的多层注意力层,其中包括了在解码顺序下前后相邻的第一注意力层和第二注意力层。在该多层注意力层中设置至少两种注意力机制,第一注意力层采用了其中的第一注意力机制,第二注意力层采用了其中的第二注意力机制,从而构建出了能够采用至少两种注意力机制进行解码处理的语言模型。针对待处理语料,通过该语言模型可以基于待处理语料确定的输入数据,得到对应该待处理语料的语言处理结果。在处理过程中,语言模型的解码器的第一注意力层会获取根据输入数据确定的第一子输入数据,通过第一注意力层可以基于第一注意力机制对其进行解码处理,得到的第一子处理结果体现所述第一注意力机制的第一注意力分布。在该第一子处理结果的基础上,通过第二注意力层继续进行基于第二注意力机制的解码处理,得到的第二子处理结果在所述第一注意力分布下体现所述第二注意力机制的第二注意力分布。由此,语言模型在处理待处理语料时,由于能够采用至少两种不同的注意力机制,不同的注意力机制针对
同一个语料的注意力分布或者说所关注的侧重点是有所区别的,语言模型通过综合不同的注意力分布,能够关注到更多需要注意的数据,增加了处理多样性,显著提高了语言模型的语言处理精度。
94.接下来基于具体的注意力机制对本技术进行说明。
95.在一种可能的实现方式中,所述至少两种注意力机制可以包括多头自注意力机制和平均注意力机制(average attention)。
96.多头自注意力机制可以通过将维度为m的高维向量切分成n个向量,维度为m/n,分别对应n个head。再对每一个head下的向量进行自注意力计算。
97.平均注意力机制是一种将解码器端的多头自注意力机制替换成由历史的状态向量做平均来作为注意力输出的计算机制。
98.多头自注意力机制的计算复杂度和句子的长度的平方(o(n2))成正比,也就是随着待处理语料中句子长度的增大,多头自注意力机制的计算量会增加的非常快。相关技术中是通过模型量化和对自注意力的算子进行细节上的计算优化来加速这个过程,但这并不能解决自注意力理论上的计算复杂度的限制。
99.实现多头注意力机制的模型结构可以参见图6,多头自注意力机制将一个输入向量切分成多个小的子向量(例如v、k和q),每一个子向量分别送入不同的头(head),来计算注意力得分,最后再将各个头的注意力分数通过拼接(concat)加和。在图6中头的数量为h=3,每个头通过缩放点积注意力(scaleddot-product attention)表示。
100.其计算公式如下:
[0101][0102]
multihead(q,k,v)=concat(head1,...,headh)wo[0103][0104]
其中,dk为输入向量的维数,wo为输出矩阵,wi为第i个头的输出向量。
[0105]
平均注意力机制和多头自注意力机制的理论计算复杂度一致,都是o(n2),但是在实际翻译的时候,可以通过将过往的注意力结果进行保存,减少重复的计算量,每次计算都可以使用前一时间步(time step)的注意力结果作为计算输入,在实际解码过程中可以有效减少理论计算量来对解码进行加速。但是平均注意力机制在多数场景下,语言处理结果的质量会略差于多头自注意力机制。
[0106]
实现多头注意力机制的模型结构可以参见图7,其包括输入层(inputlayer)、平均层(average layer)和门控层(gating layer)。每个层包括四个处理节点。
[0107]
其计算公式如下:
[0108][0109]
ij,fj=σ(w[yj;gj])
[0110]
[0111][0112]
其中,j∈4,yj是输入层的输出,gj是平均层的输出,hj是门控层的输出,是门控层的输入,ij和fj是输入层和平均层的权重。
[0113]
也就是说,针对相关技术中采用单一注意力机制的语言模型来说,不论是采用前述的多头自注意力机制,还是平均注意力机制,在模型质量优化上很难在时间和质量间达到平衡,要不就是语言模型的处理速度变慢,影响线上服务的质量,要不就是处理速度快了,但是模型质量难以达到预期。
[0114]
在一种可能的实现方式中,所述第一注意力机制为多头自注意力机制,所述第二注意力机制为平均注意力机制;或者,所述第一注意力机制为平均注意力机制,所述第二注意力机制为多头自注意力机制。
[0115]
本技术利用这两种注意力机制各自的特点,通过对这两种注意力机制的混合,能够取长补短,有效的达到处理效率和处理质量间的平衡。在混合时,可以通过控制分别采用多头自注意力机制和平均注意力机制的注意力层的数量比例,对混合效果进行控制,也可以通过特定的混合方式对混合效果进行控制,实现构建的语言模型的处理效率和处理结果均能符合预期。
[0116]
针对混合比例,在一种可能的实现方式中,所述多层注意力层中采用所述第一注意力机制的注意力层数量与采用所述第二注意力机制的注意力层数量之比为一比一。例如语言模型的解码器包括6层注意力层,可以使其中3 层注意力层采用多头自注意力机制,另外3层注意力层采用平均注意力机制。
[0117]
针对混合方式,接下来主要介绍两种具体的混合方式。
[0118]
第一种混合方式,多头自注意力机制优先:
[0119]
在一种可能的实现方式中,所述第一注意力层为所述多层注意力层中在所述解码顺序下的第一层注意力层,所述第一注意力层为采用了多头自注意力机制的多头自注意力层;
[0120]
在所述多层注意力层中,所述第一注意力层在所述解码顺序下的后n层注意力层为采用了平均注意力机制的平均注意力层。
[0121]
这种混合方式下,将第一层注意力层中采用准确性相对较高的多头自注意力机制,能够得到较高质量的输出,为后续的注意力层的处理精度打下基础,该混合方式的一种模型结构可以参见图8。可选的,n可以取值为3,n 1 的值小于或等于解码器中多层注意力层的数量。
[0122]
在翻译场景下,在英中、英德、英日三个大语料语种下都是效果比较出众的,相较于使用单一多头自注意力机制的翻译模型能够稳定提升0.3~0.4 bleu。
[0123]
第二种混合方式,双注意力机制:
[0124]
本技术实施例还提供了在一层注意力层中同时使用两种注意力机制进行计算的方法。在一种可能的实现方式中,所述第一注意力层为采用了所述第一注意力机制和所述第二注意力机制的混合注意力层。
[0125]
通过将两种注意力机制(多头自注意力机制和平均注意力机制)计算出的注意力
分数进行加权求和,作为最终的注意力分数。
[0126]
因为两者的注意力计算方式不同,使得注意力的分数的分布有所不同,这种多样性使得两者进行互补,弥补某一种注意力机制计算出现偏差的问题,进一步提升了语言模型的效果。
[0127]
在一种可能的实现方式中,所述第一注意力层包括多个组成模块,其中在所述解码顺序下的第一个模块包括对应所述第一注意力机制的第一子模块和对应所述第二注意力机制的第二子模块,所述第一子模块和所述第二子模块为并行结构。
[0128]
也就是说,两个注意力模块的计算是可以并行计算的,在计算资源足够的情况下,计算时间取决于较慢的那个注意力模块,所以整体的计算速度没有明显降低,同时也区别其他每层只使用一个注意力计算的模型,具有很好的多样性,可用于模型集成。
[0129]
需要注意的是,在服务器所部署的语言模型的解码器中,多层注意力层可以至少有一层以第二种混合方式进行部署,可选的,可以在多层注意力层均采用第二种混合方式机械能部署。
[0130]
该混合方式的一种模型结构可以参见图9,可以看出,在一层注意力层中,并行设置了多头自注意力机制模块和平均注意力模块。
[0131]
除了上述两种主要介绍的混合方式外,本技术实施例还提供了其他混合方式,例如平均注意力机制优先的方式,该混合方式的一种模型结构可以参见图10。还例如多头注意力机制和平均注意力机制交替部署在注意力层中等。
[0132]
本技术实施例提供的注意力混合的模型构建方式,所构建的语言模型并不会额外增加硬件成本,使用过程的硬件环境支持较为简单,提供普通的服务器环境即可训练以及部署上线。具体可以参照表1。
[0133]
表1软硬件环境简单说明
[0134][0135][0136]
在至少两个注意力机制中包括平均注意力机制时,为了提高平均注意力机制在语言模型中的贡献,本技术实施例提供了一种调整平均注意力机制中计算权重的方式,以此提高平均注意力机制的精度。
[0137]
若所述第一注意力机制为平均注意力机制,针对s2041,在一种可能的实现方式中,包括:
[0138]
在对所述待处理语料中第j个分词进行解码处理时,获取所述第一注意力层对所述待处理语料中前j-1个分词的子处理结果。
[0139]
根据所述前j-1个分词的子处理结果和与所述前j-1个分词分别对应的影响力权重,确定针对所述第j个分词的子处理结果。
[0140]
其中,所述影响力权重的大小与所对应分词和第j分词在所述待处理语料中的距离反相关。
[0141]
具体计算公式如下:
[0142][0143]
gx=ffn(cj)
[0144]
其中,α为系数,y0为输入数据的第一个标识符。
[0145]
由此在每次使用前一时间步(time step)的注意力结果作为计算输入时,对于第j个时间步,前j-1个分词的注意力结果对当前分词的注意力计算的影响会和分词距离呈反相关,即前j-1个分词中的一个分词距离当前分词越远,对当前分词的注意力计算的影响就越小。使得对当前分词的注意力计算更为合理,所参考信息的多寡更能够符合语义表达的规律。
[0146]
图11为本技术实施例提供的一种数据处理装置的装置结构图,所述数据处理装置1100包括第一确定单元1101、设置单元1102、第二确定单元1103 和第三确定单元1104:
[0147]
所述第一确定单元1101,用于确定语言模型的解码器包括的多层注意力层,顺序连接的所述多层注意力层包括第一注意力层和第二注意力层,第一注意力层为解码顺序下第二注意力层的前一层;
[0148]
所述设置单元1102,用于在所述多层注意力层中设置至少两种注意力机制,所述至少两种注意力机制包括第一注意力机制和第二注意力机制,所述第一注意力层采用所述第一注意力机制,所述第二注意力层采用所述第二注意力机制;
[0149]
所述第二确定单元1103,用于根据待处理语料确定所述语言模型的输入数据;
[0150]
所述第三确定单元1104,用于基于所述输入数据,通过所述语言模型确定所述待处理语料的语言处理结果;
[0151]
在得到所述语言处理结果的过程中,针对所述第一注意力层和所述第二注意力层,所述第三确定单元1104还用于:
[0152]
基于所述输入数据确定所述第一注意力层的第一子输入数据;
[0153]
通过所述第一注意力层对所述第一子输入数据进行基于所述第一注意力机制的解码处理,将得到的第一子处理结果作为所述第二注意力层的第二子输入数据,所述第一子处理结果体现所述第一注意力机制的第一注意力分布;
[0154]
通过所述第二注意力层对所述第二子输入数据进行基于所述第二注意力机制的解码处理,得到第二子处理结果,所述第二子处理结果在所述第一注意力分布下体现所述第二注意力机制的第二注意力分布。
[0155]
在一种可能的实现方式中,所述第一注意力机制为多头自注意力机制,所述第二注意力机制为平均注意力机制;或者,
[0156]
所述第一注意力机制为平均注意力机制,所述第二注意力机制为多头自注意力机制。
[0157]
在一种可能的实现方式中,所述第一注意力层为所述多层注意力层中在所述解码顺序下的第一层注意力层,所述第一注意力层为采用了多头自注意力机制的多头自注意力层;
[0158]
在所述多层注意力层中,所述第一注意力层在所述解码顺序下的后n层注意力层为采用了平均注意力机制的平均注意力层。
[0159]
在一种可能的实现方式中,所述第一注意力层为采用了所述第一注意力机制和所述第二注意力机制的混合注意力层。
[0160]
在一种可能的实现方式中,所述第一注意力层包括多个组成模块,其中在所述解码顺序下的第一个模块包括对应所述第一注意力机制的第一子模块和对应所述第二注意力机制的第二子模块,所述第一子模块和所述第二子模块为并行结构。
[0161]
在一种可能的实现方式中,所述多层注意力层中采用所述第一注意力机制的注意力层数量与采用所述第二注意力机制的注意力层数量之比为一比一。
[0162]
在一种可能的实现方式中,所述语言模型为语言翻译模型,所述第二确定单元还用于:
[0163]
对第一语种的所述待处理语料进行文本分词处理,并根据得到的多个语料片段确定所述输入数据;
[0164]
所述基于所述输入数据,通过所述语言模型确定所述待处理语料的语言处理结果,包括:
[0165]
基于所述输入数据,通过所述语言模型采用的所述至少两种注意力机制确定所述待处理语料在第二语种的翻译文本。
[0166]
在一种可能的实现方式中,若所述第一注意力机制为平均注意力机制,所述第三确定单元还用于:
[0167]
在对所述待处理语料中第j个分词进行解码处理时,获取所述第一注意力层对所述待处理语料中前j-1个分词的子处理结果;
[0168]
根据所述前j-1个分词的子处理结果和与所述前j-1个分词分别对应的影响力权重,确定针对所述第j个分词的子处理结果,所述影响力权重的大小与所对应分词和第j分词在所述待处理语料中的距离反相关。
[0169]
可见,确定语言模型的解码器包括的多层注意力层,其中包括了在解码顺序下前后相邻的第一注意力层和第二注意力层。在该多层注意力层中设置至少两种注意力机制,第一注意力层采用了其中的第一注意力机制,第二注意力层采用了其中的第二注意力机制,从而构建出了能够采用至少两种注意力机制进行解码处理的语言模型。针对待处理语料,通过该语言模型可以基于待处理语料确定的输入数据,得到对应该待处理语料的语言处理结果。在处理过程中,语言模型的解码器的第一注意力层会获取根据输入数据确定的第一子输入数据,通过第一注意力层可以基于第一注意力机制对其进行解码处理,得到的第一子处理结果体现所述第一注意力机制的第一注意力分布。在该第一子处理结果的基础上,通过第二注意力层继续进行基于第二注意力机制的解码处理,得到的第二子处理结果在所述第一注意力分布下体现所述第二注意力机制的第二注意力分布。由此,语言模型在处理待处理语料时,由于能够采用至少两种不同的注意力机制,不同的注意力机制针对同一个语料的注意力分布或者说所关注的侧重点是有所区别的,语言模型通过综合不同的注意力分布,能够关注到更多需要注意的数据,增加了处理多样性,显著提高了语言模型的语言处理精度。
[0170]
本技术实施例还提供了一种计算机设备,该计算机设备为前述介绍的计算机设备,可以包括终端设备或服务器,前述的数据处理装置可以配置在该计算机设备中。下面结合附图对该计算机设备进行介绍。
[0171]
若该计算机设备为终端设备,请参见图12所示,本技术实施例提供了一种终端设备,以终端设备为手机为例:
[0172]
图12示出的是与本技术实施例提供的终端设备相关的手机的部分结构的框图。参考图12,手机包括:射频(radio frequency,简称rf)电路1410、存储器1420、输入单元1430、显示单元1440、传感器1450、音频电路1460、无线保真(wireless fidelity,简称wifi)模块1470、处理器1480、以及电源 1490等部件。本领域技术人员可以理解,图12中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0173]
下面结合图12对手机的各个构成部件进行具体的介绍:
[0174]
rf电路1410可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1480处理;另外,将设计上行的数据发送给基站。通常,rf电路1410包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noise amplifier,简称lna)、双工器等。此外,rf电路1410还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统 (global system of mobile communication,简称gsm)、通用分组无线服务 (general packet radio service,简称gprs)、码分多址(code division multipleaccess,简称cdma)、宽带码分多址(wideband code division multiple access,简称wcdma)、长期演进(long term evolution,简称lte)、电子邮件、短消息服务(short messaging service,简称sms)等。
[0175]
存储器1420可用于存储软件程序以及模块,处理器1480通过运行存储在存储器1420的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0176]
输入单元1430可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1430可包括触控面板1431以及其他输入设备1432。触控面板1431,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1431上或在触控面板1431附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1431可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1480,并能接收处理器1480发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1431。除了触控面板1431,输入单元 1430还可以包括其他输入设备1432。具体地,其他输入设备1432可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0177]
显示单元1440可用于显示由用户输入的信息或提供给用户的信息以及手机的各
种菜单。显示单元1440可包括显示面板1441,可选的,可以采用液晶显示器(liquid crystal display,简称lcd)、有机发光二极管(organiclight-emitting diode,简称oled)等形式来配置显示面板1441。进一步的,触控面板1431可覆盖显示面板1441,当触控面板1431检测到在其上或附近的触摸操作后,传送给处理器1480以确定触摸事件的类型,随后处理器1480 根据触摸事件的类型在显示面板1441上提供相应的视觉输出。虽然在图12 中,触控面板1431与显示面板1441是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1431与显示面板1441 集成而实现手机的输入和输出功能。
[0178]
手机还可包括至少一种传感器1450,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1441的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1441和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0179]
音频电路1460、扬声器1461,传声器1462可提供用户与手机之间的音频接口。音频电路1460可将接收到的音频数据转换后的电信号,传输到扬声器1461,由扬声器1461转换为声音信号输出;另一方面,传声器1462将收集的声音信号转换为电信号,由音频电路1460接收后转换为音频数据,再将音频数据输出处理器1480处理后,经rf电路1410以发送给比如另一手机,或者将音频数据输出至存储器1420以便进一步处理。
[0180]
wifi属于短距离无线传输技术,手机通过wifi模块1470可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图12示出了wifi模块1470,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
[0181]
处理器1480是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1420内的软件程序和/或模块,以及调用存储在存储器1420内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1480可包括一个或多个处理单元;优选的,处理器1480可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1480中。
[0182]
手机还包括给各个部件供电的电源1490(比如电池),优选的,电源可以通过电源管理系统与处理器1480逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0183]
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
[0184]
在本实施例中,该终端设备所包括的处理器1480还具有以下功能:
[0185]
确定语言模型的解码器包括的多层注意力层,顺序连接的所述多层注意力层包括第一注意力层和第二注意力层,第一注意力层为解码顺序下第二注意力层的前一层;
[0186]
在所述多层注意力层中设置至少两种注意力机制,所述至少两种注意力机制包括第一注意力机制和第二注意力机制,所述第一注意力层采用所述第一注意力机制,所述第
二注意力层采用所述第二注意力机制;
[0187]
根据待处理语料确定所述语言模型的输入数据;
[0188]
基于所述输入数据,通过所述语言模型确定所述待处理语料的语言处理结果;
[0189]
在得到所述语言处理结果的过程中,针对所述第一注意力层和所述第二注意力层,包括:
[0190]
基于所述输入数据确定所述第一注意力层的第一子输入数据;
[0191]
通过所述第一注意力层对所述第一子输入数据进行基于所述第一注意力机制的解码处理,将得到的第一子处理结果作为所述第二注意力层的第二子输入数据,所述第一子处理结果体现所述第一注意力机制的第一注意力分布;
[0192]
通过所述第二注意力层对所述第二子输入数据进行基于所述第二注意力机制的解码处理,得到第二子处理结果,所述第二子处理结果在所述第一注意力分布下体现所述第二注意力机制的第二注意力分布。
[0193]
若计算机设备为服务器,本技术实施例还提供一种服务器,请参见图13 所示,图13为本技术实施例提供的服务器1500的结构图,服务器1500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,简称cpu)1522(例如,一个或一个以上处理器) 和存储器1532,一个或一个以上存储应用程序1542或数据1544的存储介质 1530(例如一个或一个以上海量存储设备)。其中,存储器1532和存储介质 1530可以是短暂存储或持久存储。存储在存储介质1530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1522可以设置为与存储介质1530通信,在服务器1500上执行存储介质1530中的一系列指令操作。
[0194]
服务器1500还可以包括一个或一个以上电源1526,一个或一个以上有线或无线网络接口1550,一个或一个以上输入输出接口1558,和/或,一个或一个以上操作系统1541,例如windows server
tm
,mac os x
tm
,unix
tm
,linux
tm
, freebsd
tm
等等。
[0195]
上述实施例中由服务器所执行的步骤可以基于图13所示的服务器结构。
[0196]
另外,本技术实施例还提供了一种存储介质,所述存储介质用于存储计算机程序,所述计算机程序用于执行上述实施例提供的方法。
[0197]
本技术实施例还提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的方法。
[0198]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:rom)、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0199]
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的
部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0200]
以上所述,仅为本技术的一种具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献