基于模型压缩的语音识别方法、装置、设备及存储介质与流程

文档序号:29128150发布日期:2022-03-05 00:43阅读:92来源:国知局
基于模型压缩的语音识别方法、装置、设备及存储介质与流程

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.图1为本技术实施例提供的一种基于模型压缩的语音识别方法的流程示意图;
46.图2为本技术实施例提供的一种基于模型压缩的语音识别的装置的模块示意图;
47.图3为本技术实施例提供的一种基于模型压缩的语音识别的电子设备的结构示意图。
具体实施方式
48.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
49.图1为本技术实施例提供的一种基于模型压缩的语音识别方法的流程示意图。在本实施例中,所述基于模型压缩的语音识别方法包括:
50.s1、获取训练语音数据,将所述训练语音数据输入至由编码器、预测网络和联合网络构建的语音识别模型中,得到初始识别结果。
51.本发明实施例中,所述训练语音数据为预设的大量语音数据,包括对应的标准语音识别结果,以进行模型训练。
52.具体地,所述获取训练语音数据之后,所述方法还包括:
53.将所述编码器和所述预测网络分别连接在所述联合网络的左端和右端,得到初始模块;
54.在所述初始模块后添加全连接层,得到语音识别模型。
55.详细地,所述编码器的作用类似于传统语音识别系统中的声学模型,将输入的声学特征序列转化为发音基元序列。所述预测网络可以输出编码器的输出数据对应的语言学信息。联合网络的作用是结合语言学信息和发音基元序列产生对应的转录文本。
56.进一步地,所述将所述训练语音数据输入至由编码器、预测网络和联合网络构建的语音识别模型中,得到初始识别结果,包括:
57.将所述训练语音数据输入至所述语音识别模型中的编码器中,得到训练声学表示;
58.获取预设的非空白标签,将所述非空白标签输入所述语音识别模型中的预测网络中,得到上下文向量;
59.将所述训练声学表示和所述上下文向量作为所述语音识别模型中的联合网络的输入,得到联合逻辑向量;
60.利用所述全连接层中的激活函数对所述联合逻辑向量进行激活处理,得到初始识别结果。
61.详细地,所述编码器一般使用长短期记忆网络,将所述训练语音数据转换为训练声学表示,其中,所述编码器类似于基于ctc的标准语音识别器中的声学模型,因此,所述编码器的输出取决于输入的训练语音数据。所述预测网络一般采用rnn模型,rnn模型可以同时考虑输入和输出序列的时序关系。所述联合网络是一个前馈网络,能将所述预测网络和所述编码器的输出组合起来以产生联合逻辑向量。所述全连接层中的激活函数可以为softmax函数。
62.具体地,所述将所述训练语音数据输入至所述语音识别模型中的编码器中,得到训练声学表示,包括:
63.通过所述编码器中的输入门计算所述训练语音数据的状态值;
64.通过所述编码器中的遗忘门计算所述训练语音数据的激活值;
65.根据所述编码器中的状态值和所述激活值计算所述训练语音数据的状态更新值;
66.利用所述编码器中的输出门计算所述状态更新值对应的训练声学表示。
67.一可选实施例中,所述状态值的计算方法包括:
[0068][0069]
其中,i
t
表示状态值,表示输入门中细胞单元的偏置,wi表示输入门的激活因子,h
t-1
表示训练语音数据在输入门t-1时刻的峰值,x
t
表示在t时刻的训练语音数据,bi表示输入门中细胞单元的权重。
[0070]
一可选实施例中,所述激活值的计算方法包括:
[0071][0072]
其中,f
t
表示激活值,表示遗忘门中细胞单元的偏置,wf表示遗忘门的激活因子,表示训练语音数据在所述遗忘门t-1时刻的峰值,x
t
表示在t时刻输入的训练语音数
据,bf表示遗忘门中细胞单元的权重。
[0073]
一可选实施例中,所述状态更新值的计算方法包括:
[0074][0075]
其中,c
t
表示状态更新值,h
t-1
表示训练语音数据在输入门t-1时刻的峰值,表示训练语音数据在遗忘门t-1时刻的峰值。
[0076]
一可选实施例中,所述利用输出门计算状态更新值对应的训练声学表示包括:
[0077]
利用如下公式计算训练声学表示:
[0078]ot
=tanh(c
t
)
[0079]
其中,o
t
表示训练声学表示,tanh表示输出门的激活函数,c
t
表示状态更新值。
[0080]
s2、将所述初始识别结果与预设的标准结果进行比对,并根据得到的比对结果对所述语音识别模型进行优化,得到标准语音识别模型。
[0081]
本发明实施例中,该标准结果为预设的与训练语音数据对应的标准语音识别结果。所述将所述初始识别结果与预设的标准结果进行比对,并根据得到的比对结果对所述语音识别模型进行优化,包括:
[0082]
将所述初始识别结果与预设的标准结果进行比对;
[0083]
当所述初始识别结果与所述标准结果一致时,将所述语音识别模型作为所述标准语音识别模型;
[0084]
当所述初始识别结果与所述标准结果不一致时,对所述语音识别模型进行模型参数调整,并返回上述步骤s1。
[0085]
详细地,所述模型参数可以为模型权重或者模型梯度。
[0086]
s3、对所述标准语音识别模型进行模型压缩处理,得到标准压缩模型。
[0087]
本发明实施例中,对所述标准语音识别模型进行模型压缩处理可以便于后续在芯片上进行运行操作。所述模型压缩处理主要是通过对参数进行共享及更新实现。
[0088]
具体地,所述对所述标准语音识别模型进行模型压缩处理,得到标准压缩模型,包括:
[0089]
对所述标准语音识别模型中结构相同的层进行参数共享,得到初始压缩模型;
[0090]
基于所述训练语音数据及所述训练语音数据对应的训练识别结果更新所述初始压缩模型中共享的参数,得到标准压缩模型。
[0091]
详细地,为了使得所述标准语音识别模型得以在高算力、低内存的运行环境中正常运行,需要对所述标准语音识别模型中结构相同的层进行参数共享。其中,共享参数的层可以为相邻层,也可以不为相邻层,两个层之间仅需满足结构相同,即权重矩阵的维度一致,则可以共享参数。例如,若初始压缩模型中第1、2层网络结构完全一致,第3、4层网络结构完全一致,则在模型训练过程中,第2层直接共享第1层的参数,第4层直接共享第3层的参数。
[0092]
进一步地,所述对所述标准语音识别模型中结构相同的层进行参数共享,得到初始压缩模型,包括:
[0093]
将所述标准语音识别模型中结构相同的多个层中的任意一个层确定为参照层,将多个层中除去所述参照层后的其它层确定为共享层;
[0094]
将所述参考层的参数作为初始参数赋值给所述共享层,得到初始压缩模型。
[0095]
例如,假设标准语音识别模型中第1、2和3层为结构相同的层,则可以将第1层作为参照层,第2层和第3层作为共享层,将第1层的参数作为初始参数赋值给第2层和第3层。基于所述训练语音数据及所述训练语音数据对应的训练识别结果对第2层和第3层的参数进行更新,得到标准压缩模型。
[0096]
具体地,基于所述训练语音数据及所述训练语音数据对应的训练识别结果更新所述初始压缩模型中共享的参数,通过迭代更新初始压缩模型中共享的参数,得到标准压缩模型。
[0097]
s4、获取待识别语音,将所述待识别语音输入至所述标准压缩模型中,得到语音识别结果。
[0098]
本发明实施例中,所述待识别语音是指需要进行语音识别的数据,将所述待识别语音数据输入至所述标准压缩模型中,得到语音识别结果。其中,所述标准压缩模型不仅保证了语音识别的准确度,同时在压缩方面保证了实际部署不受限制以及节约资源。
[0099]
本发明实施例通过利用由编码器、预测网络和联合网络构建的语音识别模型对训练语音数据进行语音识别,得到初始识别结果,所述语音识别模型中的联合网络可以结合所述编码器和所述预测网络的输出进行联合运算,保证语音识别的准确度。将所述初始识别结果与预设的标准结果进行比对,根据得到的比对结果对所述语音识别模型进行优化,得到标准语音识别模型,进一步保证了标准语音识别模型的准确度。对所述标准语音识别模型进行模型压缩处理,得到标准压缩模型,所述模型压缩处理可以使得模型可以在保证内存和算力的同时进行压缩,避免因为压缩造成语音识别模型的语音识别能力下降,即使运行在芯片上,仍能保持语音识别的准确性。因此标准压缩模型对待识别语音的语音识别的准确度较高。因此本发明提出的基于模型压缩的语音识别方法可以解决语音识别的准确度不高的问题。
[0100]
如图2所示,本技术实施例提供了一种基于模型压缩的语音识别装置10的模块示意图,所述基于模型压缩的语音识别装置10,包括:所述初始识别模块11、所述模型优化模块12、所述模型压缩模块13和所述语音识别模块14。
[0101]
所述初始识别模块11,用于获取训练语音数据,将所述训练语音数据输入至由编码器、预测网络和联合网络构建的语音识别模型中,得到初始识别结果;
[0102]
所述模型优化模块12,用于将所述初始识别结果与预设的标准结果进行比对,并根据得到的比对结果对所述语音识别模型进行优化,得到标准语音识别模型;
[0103]
所述模型压缩模块13,用于对所述标准语音识别模型进行模型压缩处理,得到标准压缩模型;
[0104]
所述语音识别模块14,用于获取待识别语音,将所述待识别语音输入至所述标准压缩模型中,得到语音识别结果。
[0105]
详细地,本技术实施例中所述基于模型压缩的语音识别装置10中的各模块在使用时采用与上述的图1中所述的基于模型压缩的语音识别方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
[0106]
如图3所示,本技术实施例提供了一种电子设备,包括处理器111、通信接口112、存储器113和通信总线114,其中,处理器111、通信接口112、存储器113通过通信总线114完成
相互间的通信;
[0107]
存储器113,用于存放计算机程序;
[0108]
在本技术一个实施例中,处理器111,用于执行存储器113上所存放的程序时,实现前述任意一个方法实施例提供的基于模型压缩的语音识别方法,包括:
[0109]
获取训练语音数据,将所述训练语音数据输入至由编码器、预测网络和联合网络构建的语音识别模型中,得到初始识别结果;
[0110]
将所述初始识别结果与预设的标准结果进行比对,并根据得到的比对结果对所述语音识别模型进行优化,得到标准语音识别模型;
[0111]
对所述标准语音识别模型进行模型压缩处理,得到标准压缩模型;
[0112]
获取待识别语音,将所述待识别语音输入至所述标准压缩模型中,得到语音识别结果。
[0113]
上述通信总线114可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线114可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0114]
通信接口112用于上述电子设备与其他设备之间的通信。
[0115]
存储器113可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器113还可以是至少一个位于远离前述处理器111的存储装置。
[0116]
上述的处理器111可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0117]
本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任意一个方法实施例提供的基于模型压缩的语音识别方法的步骤。
[0118]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。
[0119]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0120]
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1