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

一种数据处理模型构建方法、装置、设备及存储介质与流程

2022-07-23 03:59:08 来源:中国专利 TAG:


1.本技术涉及模型构建技术领域,尤其涉及一种数据处理模型构建方法、装置、设备及存储介质。


背景技术:

2.数据处理服务通常是将预先构建的数据处理模型(例如神经网络模型)部署到运行主体上,以使该运行主体利用数据处理模型来实现数据处理服务。不同的运行主体,具有不同的硬件资源和处理性能,因此,同一种数据处理模型,可能不能同时部署到不同的运行主体上。
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.对所述第二数据处理模型进行训练。
32.可选的,对所述第二数据处理模型进行训练,包括:
33.获取所述第二数据处理模型对应的模型训练数据和数据处理基准模型;
34.利用所述模型训练数据,对所述第二数据处理模型和所述数据处理基准模型进行多任务联合训练;
35.其中,所述数据处理基准模型为性能高于所述第二数据处理模型性能的数据处理模型。
36.可选的,所述模型训练数据为语音识别训练数据;
37.所述利用所述模型训练数据,对所述第二数据处理模型和所述数据处理基准模型进行多任务联合训练,包括:
38.将所述语音识别训练数据分别输入到所述数据处理基准模型和所述第二数据处理模型,使所述数据处理基准模型对所述语音识别训练数据进行非流式识别,以及,使所述第二数据处理模型对所述语音识别训练数据进行流式识别;
39.计算所述第二数据处理模型对应的第一损失函数和所述数据处理基准模型对应的第二损失函数;
40.利用所述第一损失函数和所述第二损失函数,对所述第二数据处理模型进行参数调整,直至所述第一损失函数和所述第二损失函数处于预设损失范围内。
41.可选的,所述利用所述模型训练数据,对所述第二数据处理模型和所述数据处理基准模型进行多任务联合训练之前,还包括:
42.对所述语音识别训练数据进行说话人信息归一化处理。
43.一种数据处理模型构建装置,包括:
44.算子确定单元,用于从第一运行主体上运行的第一数据处理模型中确定出待优化算子;其中,所述待优化算子为第二运行主体不支持的算子;
45.算子构建单元,用于利用第二运行主体支持的算子构建得到与所述待优化算子对应的优化算子,所述优化算子能够实现与对应的待优化算子相同的功能;
46.算子替换单元,用于利用所述优化算子替换所述第一数据处理模型中的待优化算子,得到第二数据处理模型。
47.一种数据处理模型构建设备,包括:
48.存储器和处理器;
49.其中,所述存储器与所述处理器连接,用于存储程序;
50.所述处理器,用于通过运行所述存储器中的程序,实现上述的数据处理模型构建方法。
51.一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现上述的数据处理模型构建方法。
52.本技术提出的数据处理模型构建方法在对数据处理模型进行构建时,先从第一运行主体上运行的第一数据处理模型中确定出第二运行主体不支持的算子,作为待优化算子,再利用第二运行主体支持的算子构建得到与待优化算子对应的优化算子,以使优化算子能够实现与对应的待优化算子相同的功能,且能够被第二运行主体支持,最后利用优化算子替换第一数据处理模型中的待优化算子,得到第二数据处理模型,使得第二数据处理模型与第一数据处理模型具有相同的功能与框架,并且能够部署到第二运行主体,实现了相同功能和框架的数据处理模型可以部署到计算资源不同的运行主体上,提高了数据处理模型的实用性,缓解了对数据处理模型的开发压力。
附图说明
53.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
54.图1是本技术实施例提供的一种数据处理模型构建方法的流程示意图;
55.图2是本技术实施例提供的确定第一数据处理模型中待优化算子的处理流程示意图;
56.图3是本技术实施例提供的conformer结构中多头注意力机制模块的结构示意图;
57.图4是本技术实施例提供的构建待优化算子对应的优化算子的处理流程示意图;
58.图5是本技术实施例提供的多头序列记忆机制模块的结构示意图;
59.图6是本技术实施例提供的训练第二数据处理模型的处理流程示意图;
60.图7是本技术实施例提供的多任务联合训练的处理流程示意图;
61.图8是本技术实施例提供的多任务联合训练的框架示意图;
62.图9是本技术实施例提供的一种数据处理模型构建装置的结构示意图;
63.图10是本技术实施例提供的一种数据处理模型构建设备的结构示意图。
具体实施方式
64.本技术实施例技术方案适用于数据处理模型构建的应用场景。采用本技术实施例技术方案,能够实现将相同功能和框架的数据处理模型部署到计算资源不同的运行主体上,提高数据处理模型的实用性,缓解对数据处理模型的开发压力。
65.数据处理服务的应用,通常需要预先构建数据处理模型,例如神经网络模型等,然后将该数据处理模型部署到相应的运行主体上,以使该运行主体利用数据处理模型实现数据处理服务。
66.例如,在语音识别场景中,可以利用当前流行的conformer结构构建语音识别系统,将语音识别系统部署到云端,从而实现基于云端的语音识别服务。因为云端具有丰富的计算资源,以及没有硬件操作接口的限制,使其能够部署复杂的识别系统并提供高的识别准确率。但是云端的语音识别服务需要收集用户的语音数据并传输至云端解码,可能会出现带宽延迟或者网络不稳定的情况,影响语音识别效率,还可能会出现用户隐私泄露的情况,影响用户体验度。
67.因此,出于对用户隐私、带宽延迟、网络不稳定等因素的考虑,在设备端(即端侧)部署语音识别服务成了众望所归。但是设备端的硬件资源受到限制,导致设备端的计算资源相对于云端具有显著差异,设备端可能并不完全支持在云端运行的语音识别系统中的算子,以使云端部署的语音识别系统无法部署到设备端,只能针对设备端重新开发语音识别系统,导致语音识别系统的开发压力增大,并且设备端重新开发的语音识别系统与云端运行的语音识别系统虽然功能相同,但是具有不同的框架,在对两端的语音识别系统进行优化与更新时,需要针对两者的框架分别利用不同的更新优化策略进行处理,延缓了语音识别系统的产品迭代频率。
68.目前,由于不同的运行主体具有不同的硬件资源和处理性能,因此,同一种数据处理模型,可能不能同时部署到不同的运行主体上,导致数据处理模型的实用性较低。为了在不同的运行主体中部署数据处理模型,对不同的运行主体,重新开发数据处理模型,导致数据处理模型的开发压力增大。
69.鉴于上述的现有技术的不足以及现实存在的对功能和框架相同,且可以部署在计算资源不同的运行主体上的数据处理模型的构建需求,本技术发明人经过研究和试验,提出一种数据处理模型构建方法,该方法能够实现相同功能和框架的数据处理模型部署到计算资源不同的运行主体上,提高数据处理模型的实用性,缓解对数据处理模型的开发压力。
70.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
71.本技术实施例提出一种数据处理模型构建方法,该方法可示例性地应用于服务器、智能终端等数据处理设备,参见图1所示,该方法包括:
72.s101、从第一运行主体上运行的第一数据处理模型中确定出待优化算子。
73.具体的,运行主体是指能够运行数据处理模型从而提供数据处理服务的处理设备,其具体可以为性能或计算资源相同或不同的服务器、设备、装置等。第一运行主体上部署有第一数据处理模型,并且可以利用该第一数据处理模型实现第一运行主体的数据处理服务。其中,第一数据处理模型可以是各种实现数据处理功能的模型,例如,语音识别模型、语音翻译模型、语音合成模型等。
74.第一运行主体与第二运行主体的计算资源不同,在本技术实施例中,第一运行主体的计算资源优于第二运行主体的计算资源,基于第一运行主体的计算资源而搭建的数据处理模型,可能不适用于第二运行主体,即,第一运行主体中运行的第一数据处理模型中的算子可能并不能被第二运行主体所支持,那么第一数据处理模型便不能部署到第二运行主体。其中,算子不被第二运行主体支持,可能是第二运行主体的存储能力和/或算力等不足以支持算子的运行。为了能在第二运行主体中部署与第一数据处理模型功能和框架相同的模型,首先需要根据第二运行主体的计算资源,从第一数据处理模型中的所有算子中找出第二运行主体并不支持的算子,并将这些第二运行主体不支持的算子作为待优化算子。
75.例如,在语音识别场景中,第一运行主体可以为云端,第二运行主体可以为设备端,第一数据处理模型可以为利用conformer结构构建的语音识别系统。由于云端的部署的语音识别系统为conformer结构,设备端并不完全支持conformer结构中的所有算子,因此,需要根据设备端的计算资源,确定conformer结构中设备端不支持的算子。另外,第一运行主体和第二运行主体可以为两个硬件资源不同的设备端,由于两个设备端的硬件资源不相同,那么其中一个设备端的语音识别系统可能无法部署到另一个设备端,此时需要确定语音识别系统的所有算子中,另一个设备端不支持的算子。
76.s102、利用所述第二运行主体支持的算子构建得到与所述待优化算子对应的优化算子,所述优化算子能够实现与对应的待优化算子相同的功能。
77.具体的,由于不同的运行主体具有不同的计算资源,所以不同运行主体所支持的算子也不尽相同,为了保证为第二运行主体构建的数据处理模型与第一数据处理模型具有相同的功能和框架,可以将第一数据处理模型中第二运行主体不支持的算子,替换成第二运行主体支持的算子,同时保证替换后仍具有相同的功能即可。因此,需要根据第二运行主体的计算资源,确定第二运行主体支持的算子。然后利用第二运行主体支持的算子构建出与待优化算子功能相同的算子作为该待优化算子对应的优化算子。
78.不同的待优化算子,功能不同,构建对应的优化算子的方式也不相同,因此,在利用第二运行主体支持的算子构建待优化算子对应的优化算子时,需要确定每个待优化算子构建其对应的优化算子需要采用的构建方式,并且从第二运行主体支持的算子中选取与待优化算子匹配的算子,然后利用对应的构建方式,构建出待优化算子对应的优化算子。其中,从第二运行主体支持的算子中选取与待优化算子匹配的算子需要根据待优化算子的功能来选取,以保证构建的优化算子与其对应的待优化算子能够实现相同的功能。
79.例如,在语音识别场景中,第一运行主体(即云端)运行的语音识别模型利用的是conformer结构,需要利用第二运行主体(即设备端)支持的算子,对conformer结构中的、在第二运行主体不支持的待优化算子进行优化,从而得到各个待优化算子对应的优化算子,以便优化算子可以被第二运行主体(即设备端)支持。
80.s103、利用所述优化算子替换所述第一数据处理模型中的待优化算子,得到第二数据处理模型。
81.具体的,构建了每个待优化算子对应的优化算子后,需要利用各个优化算子替换掉第一数据处理模型中各个优化算子对应的待优化算子,将完成算子替换后的模型作为第二数据处理模型。由于第二数据处理模型仅仅是将第一数据处理模型中的某些算子利用其他可实现相同功能的算子替换掉,模型的框架并未改变,功能也并未改变,因此,第一数据处理模型与第二数据处理模型的框架与功能相同,并且第二数据处理模型中已经不存在第二运行主体不支持的算子,第二运行主体的计算资源可以支持第二数据处理模型的运行,能够在第二运行主体中部署第二数据处理模型,实现了相同功能和框架的数据处理模型可以部署到计算资源不同的运行主体上。
82.当第一运行主体为云端,第二运行主体为设备端时,由于云端的计算资源相比于设备端更加丰富,通常设备端支持的算子,云端也同样支持,因此,构建了可以部署在设备端的第二数据处理模型后,也可以将该第二数据处理模型部署在云端,从而实现云端与设备端之间的模型共享,这样,在对第二数据处理模型进行优化与更新时,可以采用相同的更新策略,降低了数据处理模型的开发与更新压力,并且能够提高模型的迭代频率。
83.例如,在语音识别场景中,将构建的各个优化算子替换掉conformer结构中的各优化算子对应的待优化算子,以使算子替换后的conformer结构中的所有算子均为第二运行主体(即设备端)所支持的算子,从而得到采用算子替换后的conformer结构的语音识别模型。由于算子替换后的语音识别模型与算子替换前的语音识别模型采用的均是conformer结构,仅仅只是改变了其中几个算子,所以语音识别模型的框架并未改变。
84.另外,在构建第二数据处理模型时,为了减少对设备端计算资源的依赖,将计算资源最基础、性能最差的运行主体作为第二运行主体,这样,构建的第二数据处理模型中的算子均为第二运行主体同类型的设备中较为基础的算子,计算资源受限较大的设备端可以部署第二数据处理模型,那么其他比该设备端受限小的设备端必然也可以部署该第二数据处理模型,无需再根据其他设备端的计算资源为其他设备端重新构建模型,实现了各种性能或各种计算资源优劣水平不一的设备之间的模型共享,缓解了数据处理模型的开发与更新压力。
85.通过上述介绍可见,本技术实施例提出的数据处理模型构建方法在对数据处理模型进行构建时,先从第一运行主体上运行的第一数据处理模型中确定出第二运行主体不支
持的算子,作为待优化算子,再利用第二运行主体支持的算子构建得到与待优化算子对应的优化算子,以使优化算子能够实现与对应的待优化算子相同的功能,且能够被第二运行主体支持,最后利用优化算子替换第一数据处理模型中的待优化算子,得到第二数据处理模型,使得第二数据处理模型与第一数据处理模型具有相同的功能与框架,并且能够部署到第二运行主体,实现了相同功能和框架的数据处理模型可以部署到计算资源不同的运行主体上,提高了数据处理模型的实用性,缓解了对数据处理模型的开发压力。
86.作为一种优选的实现方式,参见图2所示,本技术另一实施例公开了,上述的从第一运行主体上运行的第一数据处理模型中确定出待优化算子,包括:
87.s201、对所述第一数据处理模型进行算子结构拆解,确定所述第一数据处理模型中的所有算子。
88.具体的,为了确定第一数据处理模型中的所有算子,需要对该第一数据处理模型进行算子结构拆解,由于不同的模型结构中包含有不同的模块,因此,需要先拆解出第一数据处理模型中的所有模块,然后拆解每个模块中包含的算子,从而便能确定出第一数据处理模型中的所有算子。
89.例如,在语音识别场景中,基于云端的语音识别系统通常采用的是识别准确率较高的conformer结构,conformer的结构是一个类似三明治的形状,由三个模块组成:前馈神经网络模块、多头注意力机制模块和卷积模块,这三个模块分别使用残差连接。为了确定conformer结构中的所有算子,需要对前馈神经网络模块、多头注意力机制模块和卷积模块分别拆解,确定每个模块中所包含的算子。其中,前馈神经网络模块包括:线性层算子(linear)和激活函数(swish)。多头注意力机制模块包括:线性层算子(linear)和注意力机制算子(self-attention)。卷积模块包括:层归一化算子(layearnorm)、一维卷积算子(conv1d)、门控线性单元算子(glu)、深度一维卷积(depthwise conv1d)和激活函数(swish)。
90.多头注意力机制模块的结构如图3所示,其中,feature为输入的语音特征(长度为t的语音x),多头注意力机制模块中的线性层算子包括三个,分别为query线性层算子、key线性层算子和value线性层算子。语音x经过query线性层得到q,经过key线性层得到k,经过value线性层得到v,q指查询,k指键,v指键值。多头注意力机制模块中的注意力机制算子对应的注意力机制计算公式为:
[0091][0092]
根据该公式可知,注意力机制算子能够获取输入语音的整个视野。
[0093]
s202、根据所述第二运行主体的计算资源,对所述第一数据处理模型中的所有算子进行分析,确定所述第一数据处理模型中的、所述第二运行主体不支持的算子,作为待优化算子。
[0094]
具体的,对第一数据处理模型中的所有算子进行分析,从这些算子中找出第二运行主体的计算资源无法支持的算子作为待优化算子。
[0095]
第二运行主体的计算资源可以通过算子操作接口的实现情况确定,如果第二运行主体中具有支持某算子的算子操作接口,那么则说明第二运行主体具有该算子对应的计算
资源。第二运行主体中具有多个算子操作接口,例如卷积、池化、全连接等简单的算子操作接口,在对第一数据处理模型中的所有算子进行分析时,可以将第一数据处理模型中的所有算子与第二运行主体中的算子操作接口进行匹配操作,从第二运行主体中查询是否具有支持第一数据处理模型中各个算子的算子操作接口,如果具有支持第一数据处理模型中某个算子的算子操作接口,则说明该算子与第二运行主体中的算子操作接口匹配成功,该算子为第二运行主体支持的算子,如果并没有支持第一数据处理模型中某个算子的算子操作接口,则说明该算子与第二运行主体中的算子操作接口匹配未成功,该算子为第二运行主体不支持的算子。将第一数据处理模型中无法与第二运行主体中的算子操作接口匹配成功的算子作为待优化算子。
[0096]
例如,在语音识别场景中,云端部署的语音识别系统采用的conformer结构中每个模块包含的算子进行支持分析后的分析结果表如下所示,其中,表1为前馈神经网络模块中算子的分析结果表,表2为多头注意力机制模块中算子的分析结果表,表3为卷积模块中算子的分析结果表。
[0097]
表1
[0098][0099]
表2
[0100][0101]
表3
[0102][0103]
通过以上三个表格的信息可以看出,conformer结构的前馈神经网络模块中swish
是一种激活函数,由输入和sigmoid激活函数乘积得到。而语音识别场景中的第二运行主体(设备端)是支持sigmoid激活函数的,所以swish激活函数语音识别场景中的第二运行主体(设备端)同样支持。因此,conformer结构的前馈神经网络模块中不包括待优化算子,不需要对conformer结构的前馈神经网络模块进行优化算子的构建。
[0104]
conformer结构的多头注意力机制模块中self-attention算子,需要矩阵之间的乘积和softmax激活函数操作,而语音识别场景中的第二运行主体(设备端)不支持softmax激活函数,并且由于矩阵之间的乘积不能固定数据参数,所以不能通过矩阵或全连接实现,而语音识别场景中的第二运行主体(设备端)仅支持卷积、池化、全连接等简单的算子操作接口,所以语音识别场景中的第二运行主体(设备端)不支持self-attention算子,self-attention算子为待优化算子。conformer结构的卷积模块中layearnorm算子不被语音识别场景中的第二运行主体(设备端)支持,并且conv1d算子和depthwise conv1d算子均为非对称卷积算子,而语音识别场景中的第二运行主体(设备端)仅支持对称卷积运算,因此语音识别场景中的第二运行主体(设备端)也不支持conv1d算子和depthwise conv1d算子,因此,layearnorm算子、conv1d算子和depthwise conv1d算子均为待优化算子。
[0105]
作为一种优选的实现方式,本技术另一实施例公开了,上述的利用所述第二运行主体支持的算子构建得到与所述待优化算子对应的优化算子,包括:
[0106]
通过对所述第二运行主体支持的算子进行组合或优化,构建得到与所述待优化算子对应的优化算子。
[0107]
具体的,不同的待优化算子,具有不同的功能,因此对应的优化算子的构建方式也不相同。其中,优化算子的构建方式包括组合方式和优化方式。当待优化算子为第二运行主体完全不支持的算子时,需要采用组合的方式,从第二运行主体支持的算子中选取与待优化算子相匹配的若干算子来构建待优化算子对应的优化算子。当待优化算子是与第二运行主体支持的算子类型相同,但是由于数据处理方式不同,而无法被第二运行主体支持的算子时,需要采用优化方式来构建待优化算子对应的优化算子。
[0108]
作为一种优选的实现方式,参见图4所示,本技术另一实施例公开了,上述的通过对所述第二运行主体支持的算子进行组合或优化,构建得到与所述待优化算子对应的优化算子,包括:
[0109]
s401、从各个待优化算子中,确定出第一类型待优化算子和第二类型待优化算子。
[0110]
具体的,所有待优化算子中有多种不同类型的算子,不同类型的算子,构建优化算子的方式不同,因此,需要先根据可以采用的构建方式将待优化算子分为两种,可以将所有待优化算子中第二运行主体完全不支持的算子(即待优化算子中与第二运行主体支持的算子类型不同,以使第二运行主体不支持的算子)作为第一类型优化算子,将所有待优化算子中与第二运行主体所支持的算子具有相同类型,但是因数据处理方式不同而不被第二运行主体支持的算子。
[0111]
例如,在语音识别场景中,conformer结构中的待优化算子包括:self-attention算子、layearnorm算子、cony1d算子和depthwise conv1d算子。其中的self-attention算子和layearnorm算子与第二运行主体支持的算子类型不同,以使第二运行主体无法支持,所以,self-attention算子和layearnorm算子均为第一类型待优化算子。conv1d算子和depthwise conv1d算子均为卷积算子,与第二运行主体支持的算子类型相同,但是第二运
行主体仅仅只能支持对称卷积运算,而conv1d算子和depthwise conv1d算子均为一维卷积算子,数据处理方式为非对称卷积运算,与第二运行主体支持的卷积算子的数据处理方式不同。所有,conv1d算子和depthwise conv1d算子均为第二类型待优化算子。
[0112]
s402、通过对所述第二运行主体支持的算子进行组合,构建与所述第一类型待优化算子相同功能的算子,得到与所述第一类型待优化算子对应的优化算子。
[0113]
具体的,对于待优化算子中与第二运行主体支持的算子类型不同,以使第二运行主体不支持的算子,需要采用组合的方式构建对应的优化算子,即,构建第一类型待优化算子对应的优化算子需要采用组合方式。首先需要从第二运行主体支持的算子中选取若干个可以组合后实现第一类型待优化算子相同功能的算子,然后将选取的若干算子按照相应的算子组合方式组合成优化算子,以使该优化算子能够实现与其对应的第一类型待优化算子相同的功能。
[0114]
其中,在从第二运行主体支持的算子中选取若干个可以组合后实现第一类型待优化算子相同功能的算子时,需要选取可以实现第一类型待优化算子功能的第一算子,还需要选取相应的对第一算子进行相应数据调整的适配算子,以使经过适配算子适配调整后的第一算子的输入输出类型与第一类型待优化算子的输入输出类型相同。
[0115]
s403、通过对所述第二运行主体支持的与所述第二类型待优化算子相同类型的算子进行优化,得到与所述第二类型待优化算子对应的优化算子。
[0116]
具体的,对于与第二运行主体所支持的算子类型相同,但数据处理方式不同的算子,需要采用优化的方式构建对应的优化算子,即,构建第二类型待优化算子对应的优化算子需要采用优化方式。首先,需要从第二运行主体所支持的算子中选取与第二类型待优化算子类型相同的第二算子,第二算子与第二类型待优化算子虽然类型相同,但是数据处理方式不同,因此选取到第二算子后还需要对该第二算子进行优化,以使经过优化的第二算子输出的数据类型与第二类型待优化算子输出的数据类型相同。
[0117]
例如,在语音识别场景中,conformer结构中的conv1d算子和depthwise conv1d算子为卷积算子,但是采用的数据处理方式为非对称卷积运算,因此,从第二运行主体中选取的第二算子也为卷积算子,但是第二运行主体支持的卷积算子均采用对称卷积运算的数据处理方式,那么conv1d算子和depthwise conv1d算子非对称卷积运算输出的数据维度便与第二算子对称卷积运算输出的数据维度不同,因此,需要对从第二运行主体中选取的卷积算子进行优化操作,以使第二算子对称卷积运算输出的数据维度与conv1d算子和depthwise conv1d算子非对称卷积运算输出的数据维度相同。
[0118]
本实施例中并不限制步骤s402与步骤s403的执行顺序,可以先执行步骤s402,再执行步骤s403,也可以先执行步骤s403,再执行步骤s402,还可以同时执行步骤s402和步骤s403。
[0119]
下面,以对基于conformer的语音识别系统进行结构优化,使其能够部署到受限端侧为例,对具体的算子优化过程进行介绍。
[0120]
作为一种优选的实现方式,本技术另一实施例公开了,上述的第一类型待优化算子为注意力机制算子或层归一化算子。例如,在基于conformer的语音识别场景中,上述的self-attention算子即为注意力机制算子,layearnorm算子即为层归一化算子。
[0121]
上述的通过对所述第二运行主体支持的算子进行组合,构建与所述第一类型待优
化算子相同功能的算子,得到与所述第一类型待优化算子对应的优化算子,包括:
[0122]
若所述第一类型待优化算子为注意力机制算子,则,第一,利用与所述注意力机制算子的功能相匹配的神经网络、批归一化算子和激活函数构建得到所述注意力机制算子对应的半优化算子。
[0123]
具体的,如果第一类型待优化算子为注意力机制算子,那么可以从第二运行主体支持的算子中选取与该注意力机制算子的功能相匹配的神经网络,这样可以实现该注意力机制算子所实现的功能,还需要从第二运行主体支持的算子中选取批归一化算子和激活函数来对神经网络进行输出数据的调整操作,以使最终输出的数据类型与注意力机制算子输出的数据类型相同。神经网络、批归一化算子与激活函数之间需要根据各个算子的功能与特性进行相应的组合,从而构建得到注意力机制算子对应的半优化算子。
[0124]
例如,在语音识别场景中,神经网络可以采用前馈序列记忆网络(fsmn),前馈序列记忆网络与self-attention算子一样都能够学习语音的语境信息,激活函数可以采用relu激活函数。利用前馈序列记忆网络、批归一化算子以及relu激活函数构建self-attention算子对应的半优化算子。图5为多头序列记忆机制模块,其是由多头注意力机制模块中的qurey线性层算子以及半优化算子中的前馈序列记忆网络、批归一化算子、relu激活函数组成。半优化算子中的前馈序列记忆网络、批归一化算子、relu激活函数的组合方式如图5所示。其中,norm表示批归一层算子,relu表示relu激活函数,fsmnk和fsmnv均为前馈序列记忆网络,fsmnk用于确定多头注意力机制模块中经过key线性层得到k,fsmnv用于确定多头注意力机制模块中经过value线性层得到v。
[0125]
另外,前馈序列记忆网络的实现方式如下式所示:
[0126][0127]
根据该公式可以发现,前馈序列记忆网络可以使用卷积网络实现其功能,但是该卷积网络采用的为非对称卷积运算,由于第二运行主体只支持对称卷积运算,并不支持非对称卷积运算,如果前馈序列记忆网络部署到第二运行主体,那么采用对称卷积运算的方式对前馈序列记忆网络进行实现,便会导致输出数据维度的变化,因此,需要在输入数据输入到前馈序列记忆网络之前,增加数据维度处理模块,利用数据维度处理模块对输入数据进行补零操作,以使前馈序列记忆网络在对已补零的输入数据进行对称卷积运算输出的数据维度与前馈序列记忆网络对未补零的输入数据进行非对称卷积运算输出的数据维度相同。
[0128]
批归一化算子可以用来对前馈序列记忆网络的输出进行归一化,加快模型的收敛,再通过relu激活函数得到非线性表示。
[0129]
第二,将所述半优化算子中的批归一化算子融入卷积算子中,得到所述注意力机制算子对应的优化算子。
[0130]
具体的,构建的注意力机制算子对应的半优化算子中采用的是批归一化算子,但是第二运行主体并不支持批归一化算子,因此,需要将该批归一化算子融入到第二运行主体所支持的卷积算子中,以使该批归一化算子以卷积算子的运算方式实现,得到第二运行主体的支持,并将半优化算子中的批归一化算子融入到卷积算子后得到的算子作为注意力
机制算子对应的优化算子。
[0131]
其中,批归一化算子融入卷积算子的实现方式如下:
[0132]
(1)卷积算子的运算可以简单的写成:
[0133]yconv
=w*x b
[0134]
(2)批归一化算子的运算可以写成:
[0135][0136][0137][0138]ybn
(xi)=γx
′i β
[0139]
(3)卷积算子与批归一化算子融合:
[0140][0141]
假设:
[0142][0143]
则:
[0144]yconv
=w

*x b

[0145]
至此,批归一化算子就融合到卷积算子中,并且同时还能实现批归一化算子的功能。
[0146]
进一步的,上述的通过对所述第二运行主体支持的算子进行组合,构建与所述第一类型待优化算子相同功能的算子,得到与所述第一类型待优化算子对应的优化算子,还包括:
[0147]
若所述第一类型待优化算子为层归一化算子,则将与所述层归一化算子相匹配的批归一化算子融入到卷积算子中,得到与所述层归一化算子的功能相同的优化算子。
[0148]
具体的,如果第一类型待优化算子为层归一化算子,那么可以获取与该层归一算子的归一化功能相同的批归一化算子,由于第二运行主体也不支持批归一化算子,所以还需要将该批归一化算子融入到卷积算子中,得到了该层归一化算子对应的优化算子。这样既能使得该优化算子具有与卷积算子相同的结构,可以被第二运行主体支持,还能同时实现层归一化算子的功能。批归一化融入到卷积算子的实现方式在上述实施例中已经具体阐述,此处不再赘述。
[0149]
作为一种优选的实现方式,本技术另一实施例公开了,上述的第二类型待优化算子为非对称卷积算子。例如,在基于conformer的语音识别场景中,上述的cony1d算子和depthwise conv1d算子均为非对称卷积算子。
[0150]
上述的通过对所述第二运行主体支持的与所述第二类型待优化算子相同类型的算子进行优化,得到与所述第二类型待优化算子对应的优化算子,包括:
[0151]
对所述第二运行主体支持的对称卷积算子增加数据维度处理模块,得到与所述非对称卷积算子对应的优化算子。
[0152]
具体的,由于第二运行主体仅支持对称卷积运算,不支持非对称卷积运算,因此,针对非对称卷积算子,需要选取一个与该非对称卷积算子类型相同,且被第二运行主体支持的算子,即对称卷积算子。但是对称卷积算子对输入数据进行对称卷积运算后的输出数据的数据维度,与非对称卷积算子对输入数据进行非对称卷积运算后的输出数据的数据维度不同,因此,可以在对称卷积算子前增加数据维度处理模块,利用该数据维度处理模块对输入数据的数据维度进行调整,例如,进行补零操作,以使数据维度调整的输入数据符合对称卷积算子的要求,然后再将数据维度调整后的输入数据输入到对称卷积算子中进行对称卷积运算,得到的输出数据的数据维度,可以与非对称卷积算子对数据维度未调整的输入数据进行非对称卷积运算后输出数据的数据维度相同。因此,可以将与非对称卷积算子类型相同的对称卷积算子增加数据维度处理模块后,作为与非对称卷积算子对应的优化算子,以使优化算子被第二运行主体支持。
[0153]
作为一种优选的实现方式,本技术另一实施例公开了,上述数据处理模型构建方法,还包括:
[0154]
对所述第二数据处理模型进行训练。
[0155]
具体的,由于第二数据处理模型为第一数据处理模型经过算子替换得到的模型,算子替换可能会使得第二数据处理模型的性能在一定程度上下降,导致数据处理准确度受到影响,因此,还需要对第二数据处理模型进行训练,以提升第二数据处理模型的数据处理准确度。其中,对第二数据处理模型进行训练可以利用预先收集的模型训练数据对第二数据处理模型训练,将模型训练数据输入到第二数据处理模型中,经过第二数据处理模型对模型训练数据的处理,确定第二数据处理模型的损失函数,并根据损失函数对第二数据处理模型中的参数进行调整,直至损失函数处于预先设置的阈值范围后,则说明第二数据处理模型训练完成,此时该模型便具有较高的数据处理准确度。
[0156]
作为一种优选的实现方式,参见图6所示,本技术另一实施例公开了,上述的对所述第二数据处理模型进行训练,包括:
[0157]
s601、获取所述第二数据处理模型对应的模型训练数据和数据处理基准模型。
[0158]
具体的,由于模型训练需要利用训练数据进行训练,因此,需要预先获取针对第二数据处理模型训练的模型训练数据。第二数据处理模型的作用就是将输入的待处理信息进行数据处理,从而得到处理后的结果。所以,有监督的训练方式,需要获取的模型训练数据应包括待处理信息以及待处理信息对应的数据处理结果。例如,在语音识别场景中,语音识别系统的作用是将输入的语音信号识别出对应的文字结果,因此有监督的训练数据不仅需要包括音频,还需要收集每条音频所对应的标注文本。
[0159]
另外,本实施例为了在模型训练过程中将损失最小化,可以利用多任务联合训练准则。为了能够进行多任务联合训练,还需要获取数据处理基准模型,并且该数据处理基准模型的性能需高于第二数据处理模型的性能,这样,在数据处理基准模型与第二数据处理模型进行多任务联合训练时,可以通过数据处理基准模型来约束第二数据处理模型,从而
提高第二数据处理模型的训练效率。
[0160]
例如,在语音识别场景中,语音识别基准模型的识别准确度需要高于待训练的语音识别系统。语音识别基准模型可以采用当前云端采用的conformer结构的语音识别系统,因为conformer结构的语音识别系统已在云端成熟的应用,并将具有良好的语音识别效果,所以其可以作为语音识别基准模型。
[0161]
s602、利用所述模型训练数据,对所述第二数据处理模型和所述数据处理基准模型进行多任务联合训练。
[0162]
具体的,第二数据处理模型和数据处理基准模型的多任务联合训练是将模型训练数据同时输入到第二数据处理模型和数据处理基准模型中,数据处理基准模型的数据处理结果对第二数据处理模型的数据处理结果进行约束,确定两个模型的损失函数,并根据两者的损失函数进行第二数据处理模型的参数调整,实现第二数据处理模型的性能提升,并且多任务联合训练可以提高第二数据处理模型的训练效率以及第二数据处理模型的鲁棒性。
[0163]
在进行模型训练时,可以先利用模型训练数据对数据处理基准模型进行训练,当数据处理基准模型被训练的更加优秀时,再将第二数据处理模型加入训练,此时利用模型训练数据,对第二数据处理模型和数据处理基准模型进行多任务联合训练,数据处理基准模型的性能高于第二数据处理模型,可以约束第二数据处理模型,实现两个模型之间的共同进步。还可以不对数据处理基准模型进行提前训练,直接利用模型训练数据,对这两个模型进行多任务联合训练,通过训练不断调整两个模型的参数,两个模型的性能同时得到提升,从而可以得到两个高性能的模型。如果数据处理基准模型本身便是一个性能很高的模型,那么可以利用模型训练数据对两个模型进行多任务联合训练,但数据处理基准模型仅仅是对第二数据处理模型进行约束,以使第二数据处理模型在训练中不断调整自身参数,实现第二数据处理模型的性能提升,数据处理基准模型并不在训练过程中调整自身参数。
[0164]
作为一种优选的实现方式,参见图7所示,本技术另一实施例公开了,上述的模型训练数据为语音识别训练数据。上述的利用所述模型训练数据,对所述第二数据处理模型和所述数据处理基准模型进行多任务联合训练,包括:
[0165]
s701、将所述语音识别训练数据分别输入到所述数据处理基准模型和所述第二数据处理模型。
[0166]
具体的,如图8所示的多任务联合训练的框架示意图,数据处理基准模型和第二数据处理模型进行多任务连接训练时可以分别采用两个独立的编码器,共享一个解码器,其中,encoder(san)为第二数据处理模型采用的编码器,encoder(fan)为数据处理基准模型采用的编码器,decoder(share)为数据处理基准模型和第二数据处理模型共享的解码器。
[0167]
在语音识别场景中,将语音识别训练数据分别输入到数据处理基准模型和第二数据处理模型中,由于非流式识别语音识别的准确率更高,将语音识别的流式和非流式模型统一训练,将数据处理基准模型作为非流式模型对语音识别训练数据进行非流式识别,第二数据处理模型作为流式模型对语音识别数据进行流式识别。因为流式语音识别系统在性能上对比非流式语音识别系统存在差距。为了实现第二数据处理模型的流式识别,需要严格限制视野的范围,不能全部看到语音的未来信息。因此使用流式和非流式联合训练,这样不仅提升了非流式的语音识别的性能,同时通过非流式模型准确率更高的识别结果对流式
模型的识别进行约束,也能提升流式语音识别系统的性能,从而能够提高第二数据处理模型的识别准确率。
[0168]
s702、计算所述第二数据处理模型对应的第一损失函数和所述数据处理基准模型对应的第二损失函数。
[0169]
具体的,数据处理基准模型和第二数据处理模型分别对语音识别训练数据进行语音识别后,需要计算出每个模型的损失函数,其中第二数据处理模型对应的损失函数为第一损失函数,数据处理基准模型对应的损失函数为第二损失函数。图8中los
san
为第一损失函数,loss
fan
为第二损失函数。
[0170]
s703、利用所述第一损失函数和所述第二损失函数,对所述第二数据处理模型进行参数调整,直至所述第一损失函数和所述第二损失函数处于预设损失范围内。
[0171]
具体的,本实施例可以采用两个损失函数的联合梯度反向传播进行模型的训练,即根据第一损失函数与第二损失函数之和,对第二数据处理模型的参数进行调整,以使第二数据处理模型的性能提升。当第一损失函数和第二损失函数均处于预先设置的预设损失范围时,说明此时两个模型的误差已经处于可接受范围,可以停止模型训练,将最终完成参数调整的第二数据处理模型作为可部署到第二运行主体上的模型。另外,在进行模型训练时,不仅可以根据第一损失函数与第二损失函数之和,对第二数据处理模型的参数进行调整,还可以根据第一损失函数与第二损失函数之和,对数据处理基准模型的参数进行调整,以使数据处理基准模型的性能也得以提升,从而也可以得到一个性能更高的数据处理基准模型。
[0172]
作为一种优选的实现方式,本技术另一实施例公开了,在利用所述模型训练数据,对所述第二数据处理模型和所述数据处理基准模型进行多任务联合训练之前,还包括:
[0173]
对所述语音识别训练数据进行说话人信息归一化处理。
[0174]
具体的,在语音识别场景中,不同的说话人,具有不同的音色、音调等声音特性,每个说话人声音特性的不同均会对语音识别的准确率造成一定影响,因此,为了降低声音特性对语音识别的影响,首先需要在获取语音识别训练数据时,需要在每条音频上打上说话人的标签,即标注上每个说话人对应的标识。然后,在将语音识别训练数据输入的第二数据处理模型和数据处理基准模型之前,需要根据每个语音识别训练数据中预先标注的说话人标识确定每个语音识别训练数据对应的说话人信息,然后对每个语音识别训练数据中的说话人信息进行归一化处理。在模型训练时,进行说话人信息归一化处理,那么训练完成的第二数据处理模型在部署到第二运行主体上应用时,也会对待识别语音进行说话人信息归一化处理后,在对待识别语音进行识别,从而提高了语音识别的准确度。
[0175]
进一步的,在语音识别场景中,需要选择模型的输入声学特征,通常在语音识别中,常用的声学特征有plp、mfcc和fbank等等。其中,fbank保留了很多的声学特征,能够很好的满足端到端大数据的建模方式。因此在端到端框架的语音识别系统中一般使用fbank特征作为模型的输入声学特征。
[0176]
与上述的数据处理模型构建方法相对应的,本技术实施例还提出一种数据处理模型构建装置,参见图9所示,该装置包括:
[0177]
算子确定单元100,用于从第一运行主体上运行的第一数据处理模型中确定出待优化算子;其中,所述待优化算子为第二运行主体不支持的算子;
[0178]
算子构建单元110,用于利用第二运行主体支持的算子构建得到与所述待优化算子对应的优化算子,所述优化算子能够实现与对应的待优化算子相同的功能;
[0179]
算子替换单元120,用于利用所述优化算子替换所述第一数据处理模型中的待优化算子,得到第二数据处理模型。
[0180]
本技术实施例提出的数据处理模型构建装置,算子确定单元100从第一运行主体上运行的第一数据处理模型中确定出第二运行主体不支持的算子,作为待优化算子,算子构建单元110利用第二运行主体支持的算子构建得到与待优化算子对应的优化算子,以使优化算子能够实现与对应的待优化算子相同的功能,且能够被第二运行主体支持,算子替换单元120利用优化算子替换第一数据处理模型中的待优化算子,得到第二数据处理模型,使得第二数据处理模型与第一数据处理模型具有相同的功能与框架,并且能够部署到第二运行主体,实现了相同功能和框架的数据处理模型可以部署到计算资源不同的运行主体上,提高了数据处理模型的实用性,缓解了对数据处理模型的开发压力。
[0181]
作为一种可选的实现方式,本技术另一实施例还公开了,所述算子确定单元100从第一运行主体上运行的第一数据处理模型中确定出待优化算子时,具体用于:
[0182]
对所述第一数据处理模型进行算子结构拆解,确定所述第一数据处理模型中的所有算子;
[0183]
根据所述第二运行主体的计算资源,对所述第一数据处理模型中的所有算子进行分析,确定所述第一数据处理模型中的、所述第二运行主体不支持的算子,作为待优化算子。
[0184]
作为一种可选的实现方式,本技术另一实施例还公开了,所述算子构建单元110具体用于:
[0185]
通过对所述第二运行主体支持的算子进行组合或优化,构建得到与所述待优化算子对应的优化算子。
[0186]
作为一种可选的实现方式,本技术另一实施例还公开了,所述算子构建单元110包括:
[0187]
算子类型确定单元,用于从各个待优化算子中,确定出第一类型待优化算子和第二类型待优化算子;所述第一类型待优化算子为所述第二运行主体不支持的算子,所述第二类型待优化算子为与所述第二运行主体所支持的相同类型算子的数据处理方式不同的算子;
[0188]
算子组合单元,用于通过对所述第二运行主体支持的算子进行组合,构建与所述第一类型待优化算子相同功能的算子,得到与所述第一类型待优化算子对应的优化算子;
[0189]
以及,算子优化单元,用于通过对所述第二运行主体支持的与所述第二类型待优化算子相同类型的算子进行优化,得到与所述第二类型待优化算子对应的优化算子。
[0190]
作为一种可选的实现方式,本技术另一实施例还公开了,所述第一类型待优化算子为注意力机制算子或层归一化算子;
[0191]
所述算子组合单元通过对所述第二运行主体支持的算子进行组合,构建与所述第一类型待优化算子相同功能的算子,得到与所述第一类型待优化算子对应的优化算子时,具体用于:
[0192]
若所述第一类型待优化算子为注意力机制算子,则利用与所述注意力机制算子的
功能相匹配的神经网络、批归一化算子和激活函数构建得到所述注意力机制算子对应的半优化算子;
[0193]
将所述半优化算子中的批归一化算子融入卷积算子中,得到所述注意力机制算子对应的优化算子;
[0194]
或者,若所述第一类型待优化算子为层归一化算子,则将与所述层归一化算子相匹配的批归一化算子融入到卷积算子中,得到与所述层归一化算子的功能相同的优化算子;
[0195]
其中,所述神经网络、所述卷积算子和所述激活函数均为所述第二运行主体支持的算子。
[0196]
作为一种可选的实现方式,本技术另一实施例还公开了,所述第二类型待优化算子为非对称卷积算子;
[0197]
所述算子优化单元通过对所述第二运行主体支持的与所述第二类型待优化算子相同类型的算子进行优化,得到与所述第二类型待优化算子对应的优化算子时,具体用于:
[0198]
对所述第二运行主体支持的对称卷积算子增加数据维度处理模块,得到与所述非对称卷积算子对应的优化算子;
[0199]
其中,所述数据维度处理模块,用于对所述对称卷积算子的输入数据维度进行调整,以使所述输入数据维度符合所述对称卷积算子的要求。
[0200]
作为一种可选的实现方式,本技术另一实施例还公开了,所述数据处理模型构建装置还包括:模型训练单元,用于对所述第二数据处理模型进行训练。
[0201]
作为一种可选的实现方式,本技术另一实施例还公开了,所述模型训练单元,包括:
[0202]
数据获取单元,用于获取所述第二数据处理模型对应的模型训练数据和数据处理基准模型;
[0203]
联合训练单元,用于利用所述模型训练数据,对所述第二数据处理模型和所述数据处理基准模型进行多任务联合训练;
[0204]
其中,所述数据处理基准模型为性能高于所述第二数据处理模型性能的数据处理模型。
[0205]
作为一种可选的实现方式,本技术另一实施例还公开了,所述联合训练单元利用所述模型训练数据,对所述第二数据处理模型和所述数据处理基准模型进行多任务联合训练时,具体用于:
[0206]
将所述语音识别训练数据分别输入到所述数据处理基准模型和所述第二数据处理模型,使所述数据处理基准模型对所述语音识别训练数据进行非流式识别,以及,使所述第二数据处理模型对所述语音识别训练数据进行流式识别;
[0207]
计算所述第二数据处理模型对应的第一损失函数和所述数据处理基准模型对应的第二损失函数;
[0208]
利用所述第一损失函数和所述第二损失函数,对所述第二数据处理模型进行参数调整,直至所述第一损失函数和所述第二损失函数处于预设损失范围内。
[0209]
作为一种可选的实现方式,本技术另一实施例还公开了,所述数据处理模型构建装置还包括:
[0210]
归一化单元,用于对所述语音识别训练数据进行说话人信息归一化处理。
[0211]
具体的,上述的数据处理模型构建装置的各个单元的具体工作内容,请参见上述方法实施例的介绍,此处不再重复。
[0212]
本技术另一实施例还公开了一种数据处理模型构建设备,参见图10所示,该设备包括:
[0213]
存储器200和处理器210;
[0214]
其中,所述存储器200与所述处理器210连接,用于存储程序;
[0215]
所述处理器210,用于通过运行所述存储器200中存储的程序,实现上述任一实施例公开的数据处理模型构建方法。
[0216]
具体的,上述数据处理模型构建设备还可以包括:总线、通信接口220、输入设备230和输出设备240。
[0217]
处理器210、存储器200、通信接口220、输入设备230和输出设备240通过总线相互连接。其中:
[0218]
总线可包括一通路,在计算机系统各个部件之间传送信息。
[0219]
处理器210可以是通用处理器,例如通用中央处理器(cpu)、微处理器等,也可以是特定应用集成电路(application-specific integrated circuit,asic),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0220]
处理器210可包括主处理器,还可包括基带芯片、调制解调器等。
[0221]
存储器200中保存有执行本发明技术方案的程序,还可以保存有操作系统和其他关键业务。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器200可以包括只读存储器(read-only memory,rom)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,ram)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器、flash等等。
[0222]
输入设备230可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫描仪、光笔、语音输入装置、触摸屏、计步器或重力感应器等。
[0223]
输出设备240可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。
[0224]
通信接口220可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(ran),无线局域网(wlan)等。
[0225]
处理器2102执行存储器200中所存放的程序,以及调用其他设备,可用于实现本技术实施例所提供的数据处理模型构建方法的各个步骤。
[0226]
本技术另一实施例还提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现上述任一实施例提供的数据处理模型构建方法的各个步骤。
[0227]
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
[0228]
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0229]
本技术各实施例方法中的步骤可根据实际需要进行顺序调整、合并和删减。
[0230]
本技术各实施例种装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。
[0231]
本技术所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0232]
作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。
[0233]
另外,在本技术各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。
[0234]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0235]
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件单元,或者二者的结合来实施。软件单元可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
[0236]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0237]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。
对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

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

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

相关文献