CN116665656B - 语音识别模型的生成方法、语音识别方法、装置及芯片 - Google Patents
语音识别模型的生成方法、语音识别方法、装置及芯片 Download PDFInfo
- Publication number
- CN116665656B CN116665656B CN202310905175.6A CN202310905175A CN116665656B CN 116665656 B CN116665656 B CN 116665656B CN 202310905175 A CN202310905175 A CN 202310905175A CN 116665656 B CN116665656 B CN 116665656B
- Authority
- CN
- China
- Prior art keywords
- recognition model
- voice recognition
- streaming
- input information
- audio frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000013139 quantization Methods 0.000 claims abstract description 170
- 238000012549 training Methods 0.000 claims abstract description 75
- 238000012545 processing Methods 0.000 claims description 62
- 238000004891 communication Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 description 28
- 238000007667 floating Methods 0.000 description 20
- 238000006243 chemical reaction Methods 0.000 description 11
- 230000001360 synchronised effect Effects 0.000 description 9
- 230000001133 acceleration Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000002708 enhancing effect Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000010408 sweeping Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2816—Controlling appliance services of a home automation network by calling their functionalities
- H04L12/282—Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Image Analysis (AREA)
- Telephone Function (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供了一种语音识别模型的生成方法、语音识别方法、装置及芯片,涉及语音识别技术领域。其中,语音识别模型的生成方法包括:获取第一语音识别模型,其中,第一语音识别模型为非流式语音识别模型,且第一语音识别模型为通过量化训练得到的;对第一语音识别模型进行转化处理,得到目标语音识别模型,目标语音识别模型为流式语音识别模型。
Description
技术领域
本发明涉及语音识别技术领域,具体而言,涉及一种语音识别模型的生成方法、语音识别方法、装置及芯片。
背景技术
在相关技术中,智能家电设备的语音识别技术通过语音识别模型来实现。传统的语音识别模型的体积大,资源占用也大,因此会导致语音识别效率降低。
量化感知训练能够缩小语音识别模型的体积,并减少语音识别模型的资源占用。但是通过量化感知训练得到的模型属于非流式模型,无法满足部署实时性的需要。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的第一方面提出一种语音识别模型的生成方法。
本发明的第二方面提出一种语音识别方法。
本发明的第三方面提出一种语音识别模型的生成装置。
本发明的第四方面提出一种语音识别装置。
本发明的第五方面提出一种可读存储介质。
本发明的第六方面提出一种计算机程序产品。
本发明的第七方面提出一种芯片。
有鉴于此,本发明的第一方面提供了语音识别模型的生成方法,包括:获取第一语音识别模型,其中,第一语音识别模型为非流式语音识别模型,且第一语音识别模型为通过量化训练得到的;对第一语音识别模型进行转化处理,得到目标语音识别模型,目标语音识别模型为流式语音识别模型。
在该技术方案中,语音识别模型用于对包含用户语音指令的音频数据进行识别处理,从中识别出用户的语音唤醒指令或语音控制指令。
具体地,智能家电设备或电子设备通过麦克风采集待识别音频,并对采集到的待识别音频进行语音识别,从而获取其中的语音控制指令或语音唤醒指令。举例来说,智能家电设备或电子设备通过将待识别音频输入至语音识别模型,通过语音识别模型推理其中包含的语音控制指令或语音唤醒指令。
由于语音识别模型的体积较大,对设备的内存占用也较大,因此需要较多的设备资源,同时推理时间也较长。
为了解决语音识别模型的体积大、资源消耗大、推理速度慢等问题,可以采用对原始的语音识别模型进行量化训练处理,量化训练能够将原始的语音识别模型进行推理时的浮点计算转化为定点计算,由此能够有效减小模型的体积,降低访存占用并且提高推理速度。
但是量化训练处理后得到的第一语音识别模型是非流式语音识别模型,非流式语音识别模型在处理完完整的音频流后才返回预测结果,不具有实时性,当用户一句话中包含多个指令时,或者用户说出长语音时,设备将无法及时响应用户的语音指令。
针对上述问题,本申请技术方案对原始的语音识别模型进行量化训练处理,得到模型体积更小、访存占用更小以及推理速度更快的非流式语音识别模型,也即第一语音识别模型。
在得到第一语音识别模型后,通过对非流式语音识别模型进行转化处理,得到转化后的流式语音识别模型,能够使目标语音识别模型具有根据实时输入的音频数据,进行实时推理并输出推理结果的能力。
本发明技术方案可应用于linux/rtos/android/ios等不同边端系统,面向armv7/v8及dsp等不同边端平台提供指令级加速。本发明技术方案具备轻量级部署、通用性强、易用性强、高性能推理等特点,有助于全面解决智能设备低资源瓶颈,能够大幅缩短模型训练周期和部署周期。并且本发明提供的技术方案可以应用于智能芯片中,且可用于赋能智能家电,例如可应用于支持语音、连接、显示三合一的智能芯片中,以赋能语音冰箱、空调、机器人等智能家电量产落地,提智增效。
本发明技术方案对原始的语音识别模型进行了量化训练处理,能够有效缩减模型体积,减少模型对访存的占用,提高模型推理速度。在此基础上,对量化处理后得到的非流式语音识别模型进行转化处理,得到能够根据实时输入的音频数据,实时返回模型预测结果,能够满足语音识别模型部署实时性的需要。
另外,本发明提供的上述技术方案中的语音识别模型的生成方法还可以具有如下附加技术特征:
在一些技术方案中,可选地,第一语音识别模型的输入信息为音频数据中的第一音频帧关联的非流式输入信息;对第一语音识别模型进行转化处理,得到目标语音识别模型,包括:
将第一语音识别模型的输入信息指定为第一音频帧关联的非流式输入信息和第一音频帧关联的流式输入信息,得到第二语音识别模型;基于第二语音识别模型得到目标语音识别模型;
其中,第二语音识别模型基于第一音频帧关联的非流式输入信息和第一音频帧关联的流式输入信息的输出包括:第一音频帧对应的识别结果,和第二音频帧关联的流式输入信息;音频数据包括第二音频帧,且第二音频帧与第一音频帧相邻。
在该技术方案中,根据流式语音识别模型与非流式语音识别模型之间的对应关系可知,流式语音识别模型的第x帧的输出结果,等价于非流式语音识别模型的前x帧的输出结果。
在循环神经网络中,前一帧的输出状态会作为下一帧的状态输入,因此只有第一帧的初始化状态是默认值(如为0)且处于隐藏状态,因此在对非流式语音识别模型进行转换时,可以显式指定每一帧的状态输入。
假设第一音频帧和第二音频帧是在时间上连续的两个音频帧,非流式语音识别模型的输入信息包括非流式输入信息,在对第一音频帧进行推理时,非流式语音识别模型的输入即第一音频帧关联的非流式输入信息,在对第二音频帧进行推理时,非流式语音识别模型的输入即第二音频帧关联的非流式输入信息,非流式语音识别模型基于第一音频帧的输出为第一识别结果。
在显式指定每一帧的状态输入后,得到第二语音识别模型,第二语音识别模型的输入信息包括非流式输入信息和流式输入信息,假设第一音频帧是第一个被输入的音频帧,则在对第一音频帧进行推理时,第二语音识别模型的输入包括第一音频帧关联的非流式输入信息,还包括流式输入信息,由于是第一个音频帧,此处的流式输入信息为0,第一语音识别模型基于第一音频帧的输出为:第一识别结果和用于作为识别第二音频帧时的流式输入信息。
当第二语音识别模型对第二音频帧进行推理时,第二语音识别模型指定为第二音频帧对应的非流式输入信息,和通过对第一音频帧进行识别时得到的流式输入信息,以此类推,此时第二语音识别模型基于第二音频帧的输出结果为:第二识别结果和用于作为识别第三音频帧时的流式输入信息。
具体地,假设非流式语音识别模型是M,流式语音识别模型是N,模型的常规输入,也即非流式输入信息是x1,流式输入,也即流式输入信息是x2。则非流式语音识别模型的推理表达式为:y=M(x1)。
此时流式语音识别模型看似只有一个输入x1,但是默认会将x2=0也传递给非流式语音识别模型的下一阵,且非流式语音识别模型外部总共只进行一次推理,直接输出推理结果y的最终结果。
而在流式语音识别模型中,变量x2会在逐帧的推理过程中不断发生改变,流式语音识别模型的推理表达式是:y,x2=N(x1,x2)。流式语音识别模型一帧推理一次,前一帧的输出x2会作为后一帧的输入x2,因此可以得到推理结果y的实时结果。
本发明技术方案通过显式指定每一帧的状态,能够将非流式语音识别模型转换为流式语音识别模型,从而满足语音识别模型部署实时性的需要。
在一些技术方案中,可选地,基于第二语音识别模型得到目标语音识别模型,包括:在第二语音识别模型中插入目标节点,得到目标语音识别模型;其中,目标节点用于对输入的第一音频帧关联的流式输入信息进行量化处理,并对输出的第二音频帧关联的流式输入信息进行反量化处理。
在该技术方案中,在对原始语音识别模型进行量化训练后,得到的非流式语音识别模型的常规输入,也即非流式输入信息已经经过了“量化-反量化”的处理,用来模拟定点计算的量化损失。
因此,在对非流式模型进行转换时,对转换后的模型中,也增加量化-反量化的处理节点,也即插入目标节点来使转化后的模型认知到输入信息为量化输入,从而继续模拟从浮点数据到定点数据的浮点表示,再到浮点数据的计算流程。
具体地,在插入目标节点后,语音识别模型会对当前音频帧关联输入的流式输入信息进行量化处理,并对输出的识别结果和下一音频帧关联输入的流式输入信息进行反量化处理。
示例性地,目标节点的结构如下:
x2=torch.quantization.QuantStub(x2);
y,x2=N(x1,x2);
x2=torch.quantization,DequantStub(x2);
其中,x1为非流式输入信息,x2为流式输入信息,y为识别结果,torch.quantization.QuantStub(x2)表示对流式输入信息进行量化处理,torch.quantization,DequantStub(x2)表示对流式输入信息进行反量化处理。
本发明技术方案通过插入量化-反量化的目标节点,使转化后的模型认知到输入信息为量化输入,实现了非流式语音识别模型到流式语音识别模型的转变,从而满足语音识别模型部署实时性的需要。
在一些技术方案中,可选地,目标节点关联第一量化参数,第二音频帧关联的流式输入信息包括第二量化参数,第二音频帧关联的流式输入信息为目标语音识别模型基于第一音频帧关联的非流式输入信息和第一音频帧关联的流式输入信息输出的;生成方法还包括:在目标语音识别模型输出第二音频帧关联的流式输入信息之后,通过第二量化参数更新第一量化参数。
在该技术方案中,由于流式语音识别的特性,后一个音频帧输入的流式输入信息来源于上一个音频帧输出的流式输入信息,而在量化训练的过程中,每一步输出均具有独立的量化参数,也就是说,在模型中已经存储有输出数据的缩放因子(scale)和零基准点(zeropoint)等量化参数。
在插入目标节点,也即新的量化-反量化节点后,需要将这些节点的量化参数同步为与上一个音频帧对应的输出的量化参数相同。
具体地,目标节点为量化-反量化节点,假设有第一音频帧和第二音频帧,第二音频帧关联的目标节点对应第一量化参数,语音识别模型基于第一音频帧输出的流式输入信息同为第二音频帧对应的流式输入信息,该流式输入信息中携带有第二量化参数。
在对第二音频帧进行推理时,将第二音频帧关联的目标节点的参数由原本的第一量化参数更新为第二量化参数,实现量化参数的同步对齐。
示例性地,同步量化参数的代码为:
y,out=N(x,in);
Scale_out=Scale_in;
Zp_out=Zp_in;
其中,y,out为上一帧的输入,N为语音识别模型,x,in为下一帧的输入,Scale_out、Scale_in、Zp_out和Zp_in均为量化参数。
本发明技术方案通过为语音识别模型的输入同步量化参数,实现了非流式语音识别模型到流式语音识别模型的转换,从而满足语音识别模型部署实时性的需要。
在一些技术方案中,可选地,获取第一语音识别模型,包括:获取预设语音识别模型;对预设语音识别模型进行量化训练处理,得到第一语音识别模型。
在该技术方案中,预设语音识别模型为没有经过量化训练的原始语音识别模型,原始语音识别模型有着体积大、资源占用大和推理速度慢等问题。
为了解决语音识别模型的体积大、资源消耗大、推理速度慢等问题,本发明技术方案采用对原始的预设语音识别模型进行量化训练处理,量化训练能够将原始的语音识别模型进行推理时的浮点计算转化为定点计算,由此能够有效减小模型的体积,降低访存占用并且提高推理速度。
在得到量化训练后的第一语音识别模型后,将第一语音识别模型转换为流式语音识别模型,能够实现对实时输入的音频数据进行实时的推理输出,满足语音识别模型部署实时性的需要。
本发明第二方面提供了一种语音识别方法,包括:
获取待识别音频;通过目标语音识别模型识别待识别音频对应的语音信息,其中,目标语音识别模型为通过如上述任一技术方案中提供的语音识别模型的生成方法生成得到的。
在该技术方案中,待识别音频具体为用户对扫地机器人等智能家电设备,或者对智能网关、手机、车机等电子设备进行语音控制的音频,待识别音频中包括了用户的语音指令,语音指令包括语音唤醒指令或语音控制指令。
智能家电设备或电子设备通过麦克风采集待识别音频,并对采集到的待识别音频进行语音识别,从而获取其中的语音控制指令或语音唤醒指令。具体地,智能家电设备或电子设备通过将待识别音频输入至语音识别模型,通过语音识别模型推理其中包含的语音控制指令或语音唤醒指令。
由于语音识别模型的体积较大,对设备的内存占用也较大,因此需要较多的设备资源,同时推理时间也较长。
为了解决语音识别模型的体积大、资源消耗大、推理速度慢等问题,可以采用对原始的语音识别模型进行量化训练处理,量化训练能够将原始的语音识别模型进行推理时的浮点计算转化为定点计算,由此能够有效减小模型的体积,降低访存占用并且提高推理速度。
但是量化训练处理后得到的模型是非流式语音识别模型,非流式语音识别模型在处理完完整的音频流后才返回预测结果,不具有实时性,当用户一句话中包含多个指令时,或者用户说出长语音时,设备将无法及时响应用户的语音指令。
针对上述问题,本申请技术方案对原始的语音识别模型进行量化训练处理,得到模型体积更小、访存占用更小以及推理速度更快的非流式语音识别模型,并在此基础上,对非流式语音识别模型进行转化处理,使得非流式语音识别模型转化为流式语音识别模型。
流式语音识别模型能够对实时输入的音频流数据,实时推理并返回模型预测结果,从而使得部署了目标语音识别模型的智能家电设备或电子设备能够实时响应用户的语音唤醒指令和语音控制指令,提高语音识别的实时性。
本发明技术方案对原始的语音识别模型进行了量化训练处理,能够有效缩减模型体积,减少模型对访存的占用,提高模型推理速度。在此基础上,对量化处理后得到的非流式语音识别模型进行转化处理,得到能够根据实时输入的音频数据,实时返回模型预测结果,能够满足语音识别模型部署实时性的需要。
本发明第三方面提供了一种语音识别模型的生成装置,包括:获取模块,用于获取第一语音识别模型,其中,第一语音识别模型为非流式语音识别模型,且第一语音识别模型为通过量化训练得到的;处理模块,用于对第一语音识别模型进行转化处理,得到目标语音识别模型,目标语音识别模型为流式语音识别模型。
在该技术方案中,语音识别模型用于对包含用户语音指令的音频数据进行识别处理,从中识别出用户的语音唤醒指令或语音控制指令。
具体地,智能家电设备或电子设备通过麦克风采集待识别音频,并对采集到的待识别音频进行语音识别,从而获取其中的语音控制指令或语音唤醒指令。举例来说,智能家电设备或电子设备通过将待识别音频输入至语音识别模型,通过语音识别模型推理其中包含的语音控制指令或语音唤醒指令。
由于语音识别模型的体积较大,对设备的内存占用也较大,因此需要较多的设备资源,同时推理时间也较长。
为了解决语音识别模型的体积大、资源消耗大、推理速度慢等问题,可以采用对原始的语音识别模型进行量化训练处理,量化训练能够将原始的语音识别模型进行推理时的浮点计算转化为定点计算,由此能够有效减小模型的体积,降低访存占用并且提高推理速度。
但是量化训练处理后得到的第一语音识别模型是非流式语音识别模型,非流式语音识别模型在处理完完整的音频流后才返回预测结果,不具有实时性,当用户一句话中包含多个指令时,或者用户说出长语音时,设备将无法及时响应用户的语音指令。
针对上述问题,本申请技术方案对原始的语音识别模型进行量化训练处理,得到模型体积更小、访存占用更小以及推理速度更快的非流式语音识别模型,也即第一语音识别模型。
在得到第一语音识别模型后,通过对非流式语音识别模型进行转化处理,得到转化后的流式语音识别模型,能够使目标语音识别模型具有根据实时输入的音频数据,进行实时推理并输出推理结果的能力。
本发明技术方案可应用于linux/rtos/android/ios等不同边端系统,面向armv7/v8及dsp等不同边端平台提供指令级加速。本发明技术方案具备轻量级部署、通用性强、易用性强、高性能推理等特点,有助于全面解决智能设备低资源瓶颈,能够大幅缩短模型训练周期和部署周期。并且本发明提供的技术方案可以应用于智能芯片中,且可用于赋能智能家电,例如可应用于支持语音、连接、显示三合一的智能芯片中,以赋能语音冰箱、空调、机器人等智能家电量产落地,提智增效。本发明技术方案对原始的语音识别模型进行了量化训练处理,能够有效缩减模型体积,减少模型对访存的占用,提高模型推理速度。在此基础上,对量化处理后得到的非流式语音识别模型进行转化处理,得到能够根据实时输入的音频数据,实时返回模型预测结果,能够满足语音识别模型部署实时性的需要。
本发明第四方面提供了一种语音识别装置,包括:获取模块,用于获取待识别音频;识别模块,用于通过目标语音识别模型识别待识别音频对应的语音信息,其中,目标语音识别模型为通过如上述任一技术方案中提供的语音识别模型的生成方法生成得到的。
在该技术方案中,待识别音频具体为用户对扫地机器人等智能家电设备,或者对智能网关、手机、车机等电子设备进行语音控制的音频,待识别音频中包括了用户的语音指令,语音指令包括语音唤醒指令或语音控制指令。
智能家电设备或电子设备通过麦克风采集待识别音频,并对采集到的待识别音频进行语音识别,从而获取其中的语音控制指令或语音唤醒指令。具体地,智能家电设备或电子设备通过将待识别音频输入至语音识别模型,通过语音识别模型推理其中包含的语音控制指令或语音唤醒指令。
由于语音识别模型的体积较大,对设备的内存占用也较大,因此需要较多的设备资源,同时推理时间也较长。
为了解决语音识别模型的体积大、资源消耗大、推理速度慢等问题,可以采用对原始的语音识别模型进行量化训练处理,量化训练能够将原始的语音识别模型进行推理时的浮点计算转化为定点计算,由此能够有效减小模型的体积,降低访存占用并且提高推理速度。
但是量化训练处理后得到的模型是非流式语音识别模型,非流式语音识别模型在处理完完整的音频流后才返回预测结果,不具有实时性,当用户一句话中包含多个指令时,或者用户说出长语音时,设备将无法及时响应用户的语音指令。
针对上述问题,本申请技术方案对原始的语音识别模型进行量化训练处理,得到模型体积更小、访存占用更小以及推理速度更快的非流式语音识别模型,并在此基础上,对非流式语音识别模型进行转化处理,使得非流式语音识别模型转化为流式语音识别模型。
流式语音识别模型能够对实时输入的音频流数据,实时推理并返回模型预测结果,从而使得部署了目标语音识别模型的智能家电设备或电子设备能够实时响应用户的语音唤醒指令和语音控制指令,提高语音识别的实时性。
本发明技术方案对原始的语音识别模型进行了量化训练处理,能够有效缩减模型体积,减少模型对访存的占用,提高模型推理速度。在此基础上,对量化处理后得到的非流式语音识别模型进行转化处理,得到能够根据实时输入的音频数据,实时返回模型预测结果,能够满足语音识别模型部署实时性的需要。
本发明第五方面提供了一种可读存储介质,其上存储有程序或指令,该程序或指令被处理器执行时实现如上述任一技术方案中提供的语音识别模型的生成方法的步骤,和/或如上述任一技术方案中提供的语音识别方法的步骤,因此也包含其全部有益效果,为避免重复,在此不再赘述。
本发明第六方面提供了一种计算机程序产品,该计算机程序产品被存储在存储介质中,该计算机程序产品被至少一个处理器执行时实现如上述任一技术方案中提供的语音识别模型的生成方法的步骤,和/或如上述任一技术方案中提供的语音识别方法的步骤,因此也包含其全部有益效果,为避免重复,在此不再赘述。
本发明第七方面提供了一种芯片,该芯片包括处理器和通信接口,该通信接口和该处理器耦合,该处理器用于运行程序或指令,实现如上述任一技术方案中提供的语音识别模型的生成方法的步骤,和/或如上述任一技术方案中提供的语音识别方法的步骤,因此也包含其全部有益效果,为避免重复,在此不再赘述。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了本发明实施例的语音识别模型的生成方法的流程图;
图2示出了本发明实施例的语音识别方法的流程图;
图3示出了本发明实施例的语音识别模型的生成装置的结构框图;
图4示出了本发明实施例的语音识别装置的结构框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
下面参照图1至图4描述根据本发明一些实施例的语音识别模型的生成方法、语音识别方法、装置及芯片。
在本发明的一些实施例中,提供了一种语音识别模型的生成方法,图1示出了本发明实施例的语音识别模型的生成方法的流程图,如图1所示,语音识别模型的生成方法包括:
步骤102,获取第一语音识别模型;
其中,第一语音识别模型为非流式语音识别模型,且第一语音识别模型为通过量化训练得到的;
步骤104,对第一语音识别模型进行转化处理,得到目标语音识别模型,目标语音识别模型为流式语音识别模型。
在本发明实施例中,语音识别模型用于对包含用户语音指令的音频数据进行识别处理,从中识别出用户的语音唤醒指令或语音控制指令。
具体地,智能家电设备或电子设备通过麦克风采集待识别音频,并对采集到的待识别音频进行语音识别,从而获取其中的语音控制指令或语音唤醒指令。举例来说,智能家电设备或电子设备通过将待识别音频输入至语音识别模型,通过语音识别模型推理其中包含的语音控制指令或语音唤醒指令。
由于语音识别模型的体积较大,对设备的内存占用也较大,因此需要较多的设备资源,同时推理时间也较长。
为了解决语音识别模型的体积大、资源消耗大、推理速度慢等问题,可以采用对原始的语音识别模型进行量化训练处理,量化训练能够将原始的语音识别模型进行推理时的浮点计算转化为定点计算,由此能够有效减小模型的体积,降低访存占用并且提高推理速度。
但是量化训练处理后得到的第一语音识别模型是非流式语音识别模型,非流式语音识别模型在处理完完整的音频流后才返回预测结果,不具有实时性,当用户一句话中包含多个指令时,或者用户说出长语音时,设备将无法及时响应用户的语音指令。
针对上述问题,本申请实施例对原始的语音识别模型进行量化训练处理,得到模型体积更小、访存占用更小以及推理速度更快的非流式语音识别模型,也即第一语音识别模型。
在得到第一语音识别模型后,通过对非流式语音识别模型进行转化处理,得到转化后的流式语音识别模型,能够使目标语音识别模型具有根据实时输入的音频数据,进行实时推理并输出推理结果的能力。
本发明技术方案可应用于linux/rtos/android/ios等不同边端系统,面向armv7/v8及dsp等不同边端平台提供指令级加速。本发明技术方案具备轻量级部署、通用性强、易用性强、高性能推理等特点,有助于全面解决智能设备低资源瓶颈,能够大幅缩短模型训练周期和部署周期。并且本发明提供的技术方案可以应用于智能芯片中,且可用于赋能智能家电,例如可应用于支持语音、连接、显示三合一的智能芯片中,以赋能语音冰箱、空调、机器人等智能家电量产落地,提智增效。
本发明实施例对原始的语音识别模型进行了量化训练处理,能够有效缩减模型体积,减少模型对访存的占用,提高模型推理速度。在此基础上,对量化处理后得到的非流式语音识别模型进行转化处理,得到能够根据实时输入的音频数据,实时返回模型预测结果,能够满足语音识别模型部署实时性的需要。
在本发明的一些实施例中,可选地,第一语音识别模型的输入信息为音频数据中的第一音频帧关联的非流式输入信息;对第一语音识别模型进行转化处理,得到目标语音识别模型,包括:
将第一语音识别模型的输入信息指定为第一音频帧关联的非流式输入信息和第一音频帧关联的流式输入信息,得到第二语音识别模型;基于第二语音识别模型得到目标语音识别模型;
其中,第二语音识别模型基于第一音频帧关联的非流式输入信息和第一音频帧关联的流式输入信息的输出包括:第一音频帧对应的识别结果,和第二音频帧关联的流式输入信息;音频数据包括第二音频帧,且第二音频帧与第一音频帧相邻。
在本发明实施例中,根据流式语音识别模型与非流式语音识别模型之间的对应关系可知,流式语音识别模型的第x帧的输出结果,等价于非流式语音识别模型的前x帧的输出结果。
在循环神经网络中,前一帧的输出状态会作为下一帧的状态输入,因此只有第一帧的初始化状态是默认值(如为0)且处于隐藏状态,因此在对非流式语音识别模型进行转换时,可以显式指定每一帧的状态输入。
假设第一音频帧和第二音频帧是在时间上连续的两个音频帧,非流式语音识别模型的输入信息包括非流式输入信息,在对第一音频帧进行推理时,非流式语音识别模型的输入即第一音频帧关联的非流式输入信息,在对第二音频帧进行推理时,非流式语音识别模型的输入即第二音频帧关联的非流式输入信息,非流式语音识别模型基于第一音频帧的输出为第一识别结果。
在显式指定每一帧的状态输入后,得到第二语音识别模型,第二语音识别模型的输入信息包括非流式输入信息和流式输入信息,假设第一音频帧是第一个被输入的音频帧,则在对第一音频帧进行推理时,第二语音识别模型的输入包括第一音频帧关联的非流式输入信息,还包括流式输入信息,由于是第一个音频帧,此处的流式输入信息为0,第一语音识别模型基于第一音频帧的输出为:第一识别结果和用于作为识别第二音频帧时的流式输入信息。
当第二语音识别模型对第二音频帧进行推理时,第二语音识别模型指定为第二音频帧对应的非流式输入信息,和通过对第一音频帧进行识别时得到的流式输入信息,以此类推,此时第二语音识别模型基于第二音频帧的输出结果为:第二识别结果和用于作为识别第三音频帧时的流式输入信息。
具体地,假设非流式语音识别模型是M,流式语音识别模型是N,模型的常规输入,也即非流式输入信息是x1,流式输入,也即流式输入信息是x2。则非流式语音识别模型的推理表达式为:y=M(x1)。
此时流式语音识别模型看似只有一个输入x1,但是默认会将x2=0也传递给非流式语音识别模型的下一阵,且非流式语音识别模型外部总共只进行一次推理,直接输出推理结果y的最终结果。
而在流式语音识别模型中,变量x2会在逐帧的推理过程中不断发生改变,流式语音识别模型的推理表达式是:y,x2=N(x1,x2)。流式语音识别模型一帧推理一次,前一帧的输出x2会作为后一帧的输入x2,因此可以得到推理结果y的实时结果。
本发明实施例通过显式指定每一帧的状态,能够将非流式语音识别模型转换为流式语音识别模型,从而满足语音识别模型部署实时性的需要。
在本发明的一些实施例中,可选地,基于第二语音识别模型得到目标语音识别模型,包括:在第二语音识别模型中插入目标节点,得到目标语音识别模型;其中,目标节点用于对输入的第一音频帧关联的流式输入信息进行量化处理,并对输出的第二音频帧关联的流式输入信息进行反量化处理。
在本发明实施例中,在对原始语音识别模型进行量化训练后,得到的非流式语音识别模型的常规输入,也即非流式输入信息已经经过了“量化-反量化”的处理,用来模拟定点计算的量化损失。
因此,在对非流式模型进行转换时,对转换后的模型中,也增加量化-反量化的处理节点,也即插入目标节点来使转化后的模型认知到输入信息为量化输入,从而继续模拟从浮点数据到定点数据的浮点表示,再到浮点数据的计算流程。
具体地,在插入目标节点后,语音识别模型会对当前音频帧关联输入的流式输入信息进行量化处理,并对输出的识别结果和下一音频帧关联输入的流式输入信息进行反量化处理。
示例性地,目标节点的结构如下:
x2=torch.quantization.QuantStub(x2);
y,x2=N(x1,x2);
x2=torch.quantization,DequantStub(x2);
其中,x1为非流式输入信息,x2为流式输入信息,y为识别结果,torch.quantization.QuantStub(x2)表示对流式输入信息进行量化处理,torch.quantization,DequantStub(x2)表示对流式输入信息进行反量化处理。
本发明实施例通过插入量化-反量化的目标节点,使转化后的模型认知到输入信息为量化输入,实现了非流式语音识别模型到流式语音识别模型的转变,从而满足语音识别模型部署实时性的需要。
在本发明的一些实施例中,可选地,目标节点关联第一量化参数,第二音频帧关联的流式输入信息包括第二量化参数,第二音频帧关联的流式输入信息为目标语音识别模型基于第一音频帧关联的非流式输入信息和第一音频帧关联的流式输入信息输出的;生成方法还包括:在目标语音识别模型输出第二音频帧关联的流式输入信息之后,通过第二量化参数更新第一量化参数。
在本发明实施例中,由于流式语音识别的特性,后一个音频帧输入的流式输入信息来源于上一个音频帧输出的流式输入信息,而在量化训练的过程中,每一步输出均具有独立的量化参数,也就是说,在模型中已经存储有输出数据的缩放因子(scale)和零基准点(zeropoint)等量化参数。
在插入目标节点,也即新的量化-反量化节点后,需要将这些节点的量化参数同步为与上一个音频帧对应的输出的量化参数相同。
具体地,目标节点为量化-反量化节点,假设有第一音频帧和第二音频帧,第二音频帧关联的目标节点对应第一量化参数,语音识别模型基于第一音频帧输出的流式输入信息同为第二音频帧对应的流式输入信息,该流式输入信息中携带有第二量化参数。
在对第二音频帧进行推理时,将第二音频帧关联的目标节点的参数由原本的第一量化参数更新为第二量化参数,实现量化参数的同步对齐。
示例性地,同步量化参数的代码为:
y,out=N(x,in);
Scale_out=Scale_in;
Zp_out=Zp_in;
其中,y,out为上一帧的输入,N为语音识别模型,x,in为下一帧的输入,Scale_out、Scale_in、Zp_out和Zp_in均为量化参数。
本发明实施例通过为语音识别模型的输入同步量化参数,实现了非流式语音识别模型到流式语音识别模型的转换,从而满足语音识别模型部署实时性的需要。
在本发明的一些实施例中,可选地,获取第一语音识别模型,包括:获取预设语音识别模型;对预设语音识别模型进行量化训练处理,得到第一语音识别模型。
在本发明实施例中,预设语音识别模型为没有经过量化训练的原始语音识别模型,原始语音识别模型有着体积大、资源占用大和推理速度慢等问题。
为了解决语音识别模型的体积大、资源消耗大、推理速度慢等问题,本发明实施例采用对原始的预设语音识别模型进行量化训练处理,量化训练能够将原始的语音识别模型进行推理时的浮点计算转化为定点计算,由此能够有效减小模型的体积,降低访存占用并且提高推理速度。
在得到量化训练后的第一语音识别模型后,将第一语音识别模型转换为流式语音识别模型,能够实现对实时输入的音频数据进行实时的推理输出,满足语音识别模型部署实时性的需要。
在本发明的一些实施例中,提供了一种语音识别方法,图2示出了本发明实施例的语音识别方法的流程图,如图2所示,语音识别方法包括:
步骤202,获取待识别音频;
步骤204,通过目标语音识别模型识别待识别音频对应的语音信息;
其中,目标语音识别模型为通过如上述任一实施例中提供的语音识别模型的生成方法生成得到的。
在本发明实施例中,待识别音频具体为用户对扫地机器人等智能家电设备,或者对智能网关、手机、车机等电子设备进行语音控制的音频,待识别音频中包括了用户的语音指令,语音指令包括语音唤醒指令或语音控制指令。
智能家电设备或电子设备通过麦克风采集待识别音频,并对采集到的待识别音频进行语音识别,从而获取其中的语音控制指令或语音唤醒指令。具体地,智能家电设备或电子设备通过将待识别音频输入至语音识别模型,通过语音识别模型推理其中包含的语音控制指令或语音唤醒指令。
由于语音识别模型的体积较大,对设备的内存占用也较大,因此需要较多的设备资源,同时推理时间也较长。
为了解决语音识别模型的体积大、资源消耗大、推理速度慢等问题,可以采用对原始的语音识别模型进行量化训练处理,量化训练能够将原始的语音识别模型进行推理时的浮点计算转化为定点计算,由此能够有效减小模型的体积,降低访存占用并且提高推理速度。
但是量化训练处理后得到的模型是非流式语音识别模型,非流式语音识别模型在处理完完整的音频流后才返回预测结果,不具有实时性,当用户一句话中包含多个指令时,或者用户说出长语音时,设备将无法及时响应用户的语音指令。
针对上述问题,本申请技术方案对原始的语音识别模型进行量化训练处理,得到模型体积更小、访存占用更小以及推理速度更快的非流式语音识别模型,并在此基础上,对非流式语音识别模型进行转化处理,使得非流式语音识别模型转化为流式语音识别模型。
流式语音识别模型能够对实时输入的音频流数据,实时推理并返回模型预测结果,从而使得部署了目标语音识别模型的智能家电设备或电子设备能够实时响应用户的语音唤醒指令和语音控制指令,提高语音识别的实时性。
本发明技术方案对原始的语音识别模型进行了量化训练处理,能够有效缩减模型体积,减少模型对访存的占用,提高模型推理速度。在此基础上,对量化处理后得到的非流式语音识别模型进行转化处理,得到能够根据实时输入的音频数据,实时返回模型预测结果,能够满足语音识别模型部署实时性的需要。
在本发明的一些实施例中,提供了一种语音识别模型的生成装置,图3示出了本发明实施例的语音识别模型的生成装置的结构框图,如图3所示,语音识别模型的生成装置300包括:
获取模块302,用于获取第一语音识别模型,其中,第一语音识别模型为非流式语音识别模型,且第一语音识别模型为通过量化训练得到的;
处理模块304,用于对第一语音识别模型进行转化处理,得到目标语音识别模型,目标语音识别模型为流式语音识别模型。
在该技术方案中,语音识别模型用于对包含用户语音指令的音频数据进行识别处理,从中识别出用户的语音唤醒指令或语音控制指令。
具体地,智能家电设备或电子设备通过麦克风采集待识别音频,并对采集到的待识别音频进行语音识别,从而获取其中的语音控制指令或语音唤醒指令。举例来说,智能家电设备或电子设备通过将待识别音频输入至语音识别模型,通过语音识别模型推理其中包含的语音控制指令或语音唤醒指令。
由于语音识别模型的体积较大,对设备的内存占用也较大,因此需要较多的设备资源,同时推理时间也较长。
为了解决语音识别模型的体积大、资源消耗大、推理速度慢等问题,可以采用对原始的语音识别模型进行量化训练处理,量化训练能够将原始的语音识别模型进行推理时的浮点计算转化为定点计算,由此能够有效减小模型的体积,降低访存占用并且提高推理速度。
但是量化训练处理后得到的第一语音识别模型是非流式语音识别模型,非流式语音识别模型在处理完完整的音频流后才返回预测结果,不具有实时性,当用户一句话中包含多个指令时,或者用户说出长语音时,设备将无法及时响应用户的语音指令。
针对上述问题,本申请技术方案对原始的语音识别模型进行量化训练处理,得到模型体积更小、访存占用更小以及推理速度更快的非流式语音识别模型,也即第一语音识别模型。
在得到第一语音识别模型后,通过对非流式语音识别模型进行转化处理,得到转化后的流式语音识别模型,能够使目标语音识别模型具有根据实时输入的音频数据,进行实时推理并输出推理结果的能力。
本发明技术方案可应用于linux/rtos/android/ios等不同边端系统,面向armv7/v8及dsp等不同边端平台提供指令级加速。本发明技术方案具备轻量级部署、通用性强、易用性强、高性能推理等特点,有助于全面解决智能设备低资源瓶颈,能够大幅缩短模型训练周期和部署周期。并且本发明提供的技术方案可以应用于智能芯片中,且可用于赋能智能家电,例如可应用于支持语音、连接、显示三合一的智能芯片中,以赋能语音冰箱、空调、机器人等智能家电量产落地,提智增效。
本发明技术方案对原始的语音识别模型进行了量化训练处理,能够有效缩减模型体积,减少模型对访存的占用,提高模型推理速度。在此基础上,对量化处理后得到的非流式语音识别模型进行转化处理,得到能够根据实时输入的音频数据,实时返回模型预测结果,能够满足语音识别模型部署实时性的需要。
在本发明的一些实施例中,第一语音识别模型的输入信息为音频数据中的第一音频帧关联的非流式输入信息;
语音识别模型的生成装置还包括:
指定模块,用于将第一语音识别模型的输入信息指定为第一音频帧关联的非流式输入信息和第一音频帧关联的流式输入信息,得到第二语音识别模型;
处理模块,还用于基于第二语音识别模型得到目标语音识别模型;
其中,第二语音识别模型基于第一音频帧关联的非流式输入信息和第一音频帧关联的流式输入信息的输出包括:第一音频帧对应的识别结果,和第二音频帧关联的流式输入信息;音频数据包括第二音频帧,且第二音频帧与第一音频帧相邻。
在本发明实施例中,根据流式语音识别模型与非流式语音识别模型之间的对应关系可知,流式语音识别模型的第x帧的输出结果,等价于非流式语音识别模型的前x帧的输出结果。
在循环神经网络中,前一帧的输出状态会作为下一帧的状态输入,因此只有第一帧的初始化状态是默认值(如为0)且处于隐藏状态,因此在对非流式语音识别模型进行转换时,可以显式指定每一帧的状态输入。
假设第一音频帧和第二音频帧是在时间上连续的两个音频帧,非流式语音识别模型的输入信息包括非流式输入信息,在对第一音频帧进行推理时,非流式语音识别模型的输入即第一音频帧关联的非流式输入信息,在对第二音频帧进行推理时,非流式语音识别模型的输入即第二音频帧关联的非流式输入信息,非流式语音识别模型基于第一音频帧的输出为第一识别结果。
在显式指定每一帧的状态输入后,得到第二语音识别模型,第二语音识别模型的输入信息包括非流式输入信息和流式输入信息,假设第一音频帧是第一个被输入的音频帧,则在对第一音频帧进行推理时,第二语音识别模型的输入包括第一音频帧关联的非流式输入信息,还包括流式输入信息,由于是第一个音频帧,此处的流式输入信息为0,第一语音识别模型基于第一音频帧的输出为:第一识别结果和用于作为识别第二音频帧时的流式输入信息。
当第二语音识别模型对第二音频帧进行推理时,第二语音识别模型指定为第二音频帧对应的非流式输入信息,和通过对第一音频帧进行识别时得到的流式输入信息,以此类推,此时第二语音识别模型基于第二音频帧的输出结果为:第二识别结果和用于作为识别第三音频帧时的流式输入信息。
具体地,假设非流式语音识别模型是M,流式语音识别模型是N,模型的常规输入,也即非流式输入信息是x1,流式输入,也即流式输入信息是x2。则非流式语音识别模型的推理表达式为:y=M(x1)。
此时流式语音识别模型看似只有一个输入x1,但是默认会将x2=0也传递给非流式语音识别模型的下一阵,且非流式语音识别模型外部总共只进行一次推理,直接输出推理结果y的最终结果。
而在流式语音识别模型中,变量x2会在逐帧的推理过程中不断发生改变,流式语音识别模型的推理表达式是:y,x2=N(x1,x2)。流式语音识别模型一帧推理一次,前一帧的输出x2会作为后一帧的输入x2,因此可以得到推理结果y的实时结果。
本发明技术方案通过显式指定每一帧的状态,能够将非流式语音识别模型转换为流式语音识别模型,从而满足语音识别模型部署实时性的需要。
在本发明的一些实施例中,语音识别模型的生成装置还包括:
插入模块,用于在第二语音识别模型中插入目标节点,得到目标语音识别模型;其中,目标节点用于对输入的第一音频帧关联的流式输入信息进行量化处理,并对输出的第二音频帧关联的流式输入信息进行反量化处理。
在本发明实施例中,在对原始语音识别模型进行量化训练后,得到的非流式语音识别模型的常规输入,也即非流式输入信息已经经过了“量化-反量化”的处理,用来模拟定点计算的量化损失。
因此,在对非流式模型进行转换时,对转换后的模型中,也增加量化-反量化的处理节点,也即插入目标节点来使转化后的模型认知到输入信息为量化输入,从而继续模拟从浮点数据到定点数据的浮点表示,再到浮点数据的计算流程。
具体地,在插入目标节点后,语音识别模型会对当前音频帧关联输入的流式输入信息进行量化处理,并对输出的识别结果和下一音频帧关联输入的流式输入信息进行反量化处理。
示例性地,目标节点的结构如下:
x2=torch.quantization.QuantStub(x2);
y,x2=N(x1,x2);
x2=torch.quantization,DequantStub(x2);
其中,x1为非流式输入信息,x2为流式输入信息,y为识别结果,torch.quantization.QuantStub(x2)表示对流式输入信息进行量化处理,torch.quantization,DequantStub(x2)表示对流式输入信息进行反量化处理。
本发明技术方案通过插入量化-反量化的目标节点,使转化后的模型认知到输入信息为量化输入,实现了非流式语音识别模型到流式语音识别模型的转变,从而满足语音识别模型部署实时性的需要。
在本发明的一些实施例中,目标节点关联第一量化参数,第二音频帧关联的流式输入信息包括第二量化参数,第二音频帧关联的流式输入信息为目标语音识别模型基于第一音频帧关联的非流式输入信息和第一音频帧关联的流式输入信息输出的;
语音识别模型的生成装置还包括:更新模块,用于在目标语音识别模型输出第二音频帧关联的流式输入信息之后,通过第二量化参数更新第一量化参数。
在本发明实施例中,由于流式语音识别的特性,后一个音频帧输入的流式输入信息来源于上一个音频帧输出的流式输入信息,而在量化训练的过程中,每一步输出均具有独立的量化参数,也就是说,在模型中已经存储有输出数据的缩放因子(scale)和零基准点(zeropoint)等量化参数。
在插入目标节点,也即新的量化-反量化节点后,需要将这些节点的量化参数同步为与上一个音频帧对应的输出的量化参数相同。
具体地,目标节点为量化-反量化节点,假设有第一音频帧和第二音频帧,第二音频帧关联的目标节点对应第一量化参数,语音识别模型基于第一音频帧输出的流式输入信息同为第二音频帧对应的流式输入信息,该流式输入信息中携带有第二量化参数。
在对第二音频帧进行推理时,将第二音频帧关联的目标节点的参数由原本的第一量化参数更新为第二量化参数,实现量化参数的同步对齐。
示例性地,同步量化参数的代码为:
y,out=N(x,in);
Scale_out=Scale_in;
Zp_out=Zp_in;
其中,y,out为上一帧的输入,N为语音识别模型,x,in为下一帧的输入,Scale_out、Scale_in、Zp_out和Zp_in均为量化参数。
本发明技术方案通过为语音识别模型的输入同步量化参数,实现了非流式语音识别模型到流式语音识别模型的转换,从而满足语音识别模型部署实时性的需要。
在本发明的一些实施例中,获取模块,还用于获取预设语音识别模型;处理模块,还用于对预设语音识别模型进行量化训练处理,得到第一语音识别模型。
在本发明实施例中,预设语音识别模型为没有经过量化训练的原始语音识别模型,原始语音识别模型有着体积大、资源占用大和推理速度慢等问题。
为了解决语音识别模型的体积大、资源消耗大、推理速度慢等问题,本发明技术方案采用对原始的预设语音识别模型进行量化训练处理,量化训练能够将原始的语音识别模型进行推理时的浮点计算转化为定点计算,由此能够有效减小模型的体积,降低访存占用并且提高推理速度。
在得到量化训练后的第一语音识别模型后,将第一语音识别模型转换为流式语音识别模型,能够实现对实时输入的音频数据进行实时的推理输出,满足语音识别模型部署实时性的需要。
在本发明的一些实施例中,提供了一种语音识别装置,图4示出了本发明实施例的语音识别装置的结构框图,如图4所示,语音识别装置400包括:
获取模块402,用于获取待识别音频;
识别模块404,用于通过目标语音识别模型识别待识别音频对应的语音信息;其中,目标语音识别模型为通过如上述任一实施例中提供的语音识别模型的生成方法生成得到的。
在本发明实施例中,待识别音频具体为用户对扫地机器人等智能家电设备,或者对智能网关、手机、车机等电子设备进行语音控制的音频,待识别音频中包括了用户的语音指令,语音指令包括语音唤醒指令或语音控制指令。
智能家电设备或电子设备通过麦克风采集待识别音频,并对采集到的待识别音频进行语音识别,从而获取其中的语音控制指令或语音唤醒指令。具体地,智能家电设备或电子设备通过将待识别音频输入至语音识别模型,通过语音识别模型推理其中包含的语音控制指令或语音唤醒指令。
由于语音识别模型的体积较大,对设备的内存占用也较大,因此需要较多的设备资源,同时推理时间也较长。
为了解决语音识别模型的体积大、资源消耗大、推理速度慢等问题,可以采用对原始的语音识别模型进行量化训练处理,量化训练能够将原始的语音识别模型进行推理时的浮点计算转化为定点计算,由此能够有效减小模型的体积,降低访存占用并且提高推理速度。
但是量化训练处理后得到的模型是非流式语音识别模型,非流式语音识别模型在处理完完整的音频流后才返回预测结果,不具有实时性,当用户一句话中包含多个指令时,或者用户说出长语音时,设备将无法及时响应用户的语音指令。
针对上述问题,本申请技术方案对原始的语音识别模型进行量化训练处理,得到模型体积更小、访存占用更小以及推理速度更快的非流式语音识别模型,并在此基础上,对非流式语音识别模型进行转化处理,使得非流式语音识别模型转化为流式语音识别模型。
流式语音识别模型能够对实时输入的音频流数据,实时推理并返回模型预测结果,从而使得部署了目标语音识别模型的智能家电设备或电子设备能够实时响应用户的语音唤醒指令和语音控制指令,提高语音识别的实时性。
本发明技术方案对原始的语音识别模型进行了量化训练处理,能够有效缩减模型体积,减少模型对访存的占用,提高模型推理速度。在此基础上,对量化处理后得到的非流式语音识别模型进行转化处理,得到能够根据实时输入的音频数据,实时返回模型预测结果,能够满足语音识别模型部署实时性的需要。
在本发明的一些实施例中,提供了一种可读存储介质,其上存储有程序或指令,该程序或指令被处理器执行时实现如上述任一技术方案中提供的语音识别模型的生成方法的步骤,和/或如上述任一技术方案中提供的语音识别方法的步骤,因此也包含其全部有益效果,为避免重复,在此不再赘述。
在本发明的一些实施例中,提供了一种计算机程序产品,该计算机程序产品被存储在存储介质中,该计算机程序产品被至少一个处理器执行时实现如上述任一实施例中提供的语音识别模型的生成方法的步骤,和/或如上述任一实施例中提供的语音识别方法的步骤,因此也包含其全部有益效果,为避免重复,在此不再赘述。
在本发明的一些实施例中,提供了一种芯片,该芯片包括处理器和通信接口,该通信接口和该处理器耦合,该处理器用于运行程序或指令,实现如上述任一实施例中提供的语音识别模型的生成方法的步骤,和/或如上述任一实施例中提供的语音识别方法的步骤,因此也包含其全部有益效果,为避免重复,在此不再赘述。
本发明的描述中,术语“多个”则指两个或两个以上,除非另有明确的限定,术语“上”、“下”等指示的方位或位置关系为基于附图所述的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制;术语“连接”、“安装”、“固定”等均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本发明中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种语音识别模型的生成方法,其特征在于,包括:
获取第一语音识别模型,其中,所述第一语音识别模型为非流式语音识别模型,且所述第一语音识别模型为通过量化训练得到的;
对所述第一语音识别模型进行转化处理,得到目标语音识别模型,所述目标语音识别模型为流式语音识别模型;
所述第一语音识别模型的输入信息为音频数据中的第一音频帧关联的非流式输入信息;
所述对所述第一语音识别模型进行转化处理,得到目标语音识别模型,包括:
将所述第一语音识别模型的输入信息指定为所述第一音频帧关联的非流式输入信息和所述第一音频帧关联的流式输入信息,得到第二语音识别模型;
基于所述第二语音识别模型得到所述目标语音识别模型;
其中,所述第二语音识别模型基于所述第一音频帧关联的非流式输入信息和所述第一音频帧关联的流式输入信息的输出包括:所述第一音频帧对应的识别结果,和第二音频帧关联的流式输入信息;所述音频数据包括所述第二音频帧,且所述第二音频帧与所述第一音频帧相邻。
2.根据权利要求1所述的语音识别模型的生成方法,其特征在于,所述基于所述第二语音识别模型得到所述目标语音识别模型,包括:
在所述第二语音识别模型中插入目标节点,得到所述目标语音识别模型;
其中,所述目标节点用于对输入的所述第一音频帧关联的流式输入信息进行量化处理,并对输出的所述第二音频帧关联的流式输入信息进行反量化处理。
3.根据权利要求2所述的语音识别模型的生成方法,其特征在于,所述目标节点关联第一量化参数,所述第二音频帧关联的流式输入信息包括第二量化参数,所述第二音频帧关联的流式输入信息为所述目标语音识别模型基于所述第一音频帧关联的非流式输入信息和所述第一音频帧关联的流式输入信息输出的;
所述生成方法还包括:
在所述目标语音识别模型输出所述第二音频帧关联的流式输入信息之后,通过所述第二量化参数更新所述第一量化参数。
4.根据权利要求1至3中任一项所述的语音识别模型的生成方法,其特征在于,所述获取第一语音识别模型,包括:
获取预设语音识别模型;
对所述预设语音识别模型进行量化训练处理,得到所述第一语音识别模型。
5.一种语音识别方法,其特征在于,包括:
获取待识别音频;
通过目标语音识别模型识别所述待识别音频对应的语音信息,其中,所述目标语音识别模型为通过如权利要求1至4中任一项所述的语音识别模型的生成方法生成得到的。
6.一种语音识别模型的生成装置,其特征在于,包括:
获取模块,用于获取第一语音识别模型,其中,所述第一语音识别模型为非流式语音识别模型,且所述第一语音识别模型为通过量化训练得到的;
处理模块,用于对所述第一语音识别模型进行转化处理,得到目标语音识别模型,所述目标语音识别模型为流式语音识别模型;
所述第一语音识别模型的输入信息为音频数据中的第一音频帧关联的非流式输入信息;
所述处理模块具体用于:
所述对所述第一语音识别模型进行转化处理,得到目标语音识别模型,包括:
将所述第一语音识别模型的输入信息指定为所述第一音频帧关联的非流式输入信息和所述第一音频帧关联的流式输入信息,得到第二语音识别模型;
基于所述第二语音识别模型得到所述目标语音识别模型;
其中,所述第二语音识别模型基于所述第一音频帧关联的非流式输入信息和所述第一音频帧关联的流式输入信息的输出包括:所述第一音频帧对应的识别结果,和第二音频帧关联的流式输入信息;所述音频数据包括所述第二音频帧,且所述第二音频帧与所述第一音频帧相邻。
7.一种语音识别装置,其特征在于,包括:
获取模块,用于获取待识别音频;
识别模块,用于通过目标语音识别模型识别所述待识别音频对应的语音信息,其中,所述目标语音识别模型为通过如权利要求1至4中任一项所述的语音识别模型的生成方法生成得到的。
8.一种可读存储介质,其上存储有程序或指令,其特征在于,所述程序或指令被处理器执行时实现如权利要求1至4中任一项所述的语音识别模型的生成方法的步骤;和/或
如权利要求5所述的语音识别方法的步骤。
9.一种芯片,其特征在于,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令以实现如权利要求1至4中任一项所述的语音识别模型的生成方法的步骤;和/或
如权利要求5所述的语音识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310905175.6A CN116665656B (zh) | 2023-07-24 | 2023-07-24 | 语音识别模型的生成方法、语音识别方法、装置及芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310905175.6A CN116665656B (zh) | 2023-07-24 | 2023-07-24 | 语音识别模型的生成方法、语音识别方法、装置及芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116665656A CN116665656A (zh) | 2023-08-29 |
CN116665656B true CN116665656B (zh) | 2023-10-10 |
Family
ID=87717332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310905175.6A Active CN116665656B (zh) | 2023-07-24 | 2023-07-24 | 语音识别模型的生成方法、语音识别方法、装置及芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116665656B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2767951Y (zh) * | 2004-12-31 | 2006-03-29 | 周晓刚 | 一种尺带自动定位的卷尺 |
CN110782882A (zh) * | 2019-11-04 | 2020-02-11 | 科大讯飞股份有限公司 | 语音识别方法、装置、电子设备和存储介质 |
CN111415667A (zh) * | 2020-03-25 | 2020-07-14 | 极限元(杭州)智能科技股份有限公司 | 一种流式端到端语音识别模型训练和解码方法 |
CN114155832A (zh) * | 2021-11-12 | 2022-03-08 | 深圳市北科瑞声科技股份有限公司 | 基于深度学习的语音识别方法、装置、设备及介质 |
CN114550708A (zh) * | 2022-02-14 | 2022-05-27 | 西安电子科技大学重庆集成电路创新研究院 | 基于深度学习的流式实时语音识别方法 |
CN114842838A (zh) * | 2022-04-18 | 2022-08-02 | 美的集团(上海)有限公司 | 音频识别方法、装置、电子设备、介质、及程序产品 |
CN116312480A (zh) * | 2023-02-10 | 2023-06-23 | 之江实验室 | 一种语音识别方法、装置、设备及可读存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2495981Y (zh) * | 2001-08-16 | 2002-06-19 | 刘禹君 | 具有自动止回尺板功能的卷尺 |
TWM272976U (en) * | 2004-10-21 | 2005-08-11 | First Measure Ind Co Ltd | Measure board braking structure of measuring tape |
CN2938014Y (zh) * | 2006-07-27 | 2007-08-22 | 虞城县亚东量具有限公司 | 一种自动刹车制动装置 |
JP7216021B2 (ja) * | 2017-05-14 | 2023-01-31 | デジタル リーズニング システムズ インコーポレイテッド | 機械学習モデルを迅速に構築し、管理し、共有するためのシステム及び方法 |
US11145293B2 (en) * | 2018-07-20 | 2021-10-12 | Google Llc | Speech recognition with sequence-to-sequence models |
CN114270434A (zh) * | 2019-12-04 | 2022-04-01 | 谷歌有限责任公司 | 两遍端到端语音识别 |
WO2022076029A1 (en) * | 2020-10-05 | 2022-04-14 | Google Llc | Transformer transducer: one model unifying streaming and non-streaming speech recognition |
CN115132196B (zh) * | 2022-05-18 | 2024-09-10 | 腾讯科技(深圳)有限公司 | 语音指令识别的方法、装置、电子设备及存储介质 |
-
2023
- 2023-07-24 CN CN202310905175.6A patent/CN116665656B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2767951Y (zh) * | 2004-12-31 | 2006-03-29 | 周晓刚 | 一种尺带自动定位的卷尺 |
CN110782882A (zh) * | 2019-11-04 | 2020-02-11 | 科大讯飞股份有限公司 | 语音识别方法、装置、电子设备和存储介质 |
CN111415667A (zh) * | 2020-03-25 | 2020-07-14 | 极限元(杭州)智能科技股份有限公司 | 一种流式端到端语音识别模型训练和解码方法 |
CN114155832A (zh) * | 2021-11-12 | 2022-03-08 | 深圳市北科瑞声科技股份有限公司 | 基于深度学习的语音识别方法、装置、设备及介质 |
CN114550708A (zh) * | 2022-02-14 | 2022-05-27 | 西安电子科技大学重庆集成电路创新研究院 | 基于深度学习的流式实时语音识别方法 |
CN114842838A (zh) * | 2022-04-18 | 2022-08-02 | 美的集团(上海)有限公司 | 音频识别方法、装置、电子设备、介质、及程序产品 |
CN116312480A (zh) * | 2023-02-10 | 2023-06-23 | 之江实验室 | 一种语音识别方法、装置、设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
用于流式语音识别的轻量化端到端声学架构;杨淑莹;《模式识别与人工智能》;第36卷(第3期);第268-278页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116665656A (zh) | 2023-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107357838B (zh) | 基于多任务学习的对话策略在线实现方法 | |
CN116229955B (zh) | 基于生成式预训练gpt模型的交互意图信息确定方法 | |
CN106919977B (zh) | 一种前馈序列记忆神经网络及其构建方法和系统 | |
CN113217340A (zh) | 一种空压机控制方法、装置、设备及存储介质 | |
CN108880957A (zh) | 家电设备及其远程控制方法、服务器、终端控制设备 | |
CN205508398U (zh) | 具有云端交互功能的智能机器人 | |
US20240071402A1 (en) | Method and apparatus for processing audio data, device, storage medium | |
CN110287303B (zh) | 人机对话处理方法、装置、电子设备及存储介质 | |
CN112923523A (zh) | 一种基于物联网数据链的智能型新风系统调控方法 | |
Kim et al. | Design and implementation of traffic generation model and spectrum requirement calculator for private 5G network | |
EP3979563A1 (en) | Inter-domain data interaction method and apparatus | |
CN114743554A (zh) | 基于物联网的智能家居交互方法及装置 | |
CN116665656B (zh) | 语音识别模型的生成方法、语音识别方法、装置及芯片 | |
CN116204325B (zh) | 一种基于aigc的算法训练平台 | |
Grassucci et al. | Enhancing Semantic Communication with Deep Generative Models: An Overview | |
WO2018023514A1 (zh) | 一种家居背景音乐控制系统 | |
CN111260049A (zh) | 一种基于国产嵌入式系统的神经网络实现方法 | |
CN117056478A (zh) | 一种电力客服系统控制方法及装置 | |
CN113506360A (zh) | 一种虚拟人物表情驱动方法和系统 | |
CN108010518A (zh) | 一种语音交互设备的语音采集方法、系统及存储介质 | |
CN112613614A (zh) | 一种bert模型压缩加速的方法、系统、设备及介质 | |
CN115174566B (zh) | 一种基于深度强化学习的边缘计算任务卸载方法 | |
CN114093387B (zh) | 一种对声调建模的声音转换方法及系统、计算机设备 | |
CN113411765B (zh) | 一种基于多传感器协同感知的移动智能终端能耗优化方法 | |
KR20160133183A (ko) | 건물에너지 시뮬레이션 수행 서버 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |