CN116013274A - 语音识别的方法、装置、计算机设备和存储介质 - Google Patents
语音识别的方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN116013274A CN116013274A CN202310101895.7A CN202310101895A CN116013274A CN 116013274 A CN116013274 A CN 116013274A CN 202310101895 A CN202310101895 A CN 202310101895A CN 116013274 A CN116013274 A CN 116013274A
- Authority
- CN
- China
- Prior art keywords
- recognition model
- voice
- initial
- voice recognition
- result
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Navigation (AREA)
Abstract
本公开涉及一种语音识别的方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:接收待识别的语音信号;将所述待识别的语音信号输入第一语音识别模型,经所述第一语音识别模型输出识别结果,所述第一语音识别模型为通过第二语音识别模型进行知识蒸馏训练后得到,其中,知识蒸馏训练过程中的温度参数与所述第一语音识别模型的训练阶段对应的迭代次数之间存在预设的关联关系。采用本方法能够在保证语音识别效率的同时提高语音识别模型的识别准确率。
Description
技术领域
本公开涉及数据处理技术领域,特别是涉及一种语音识别的方法、装置、计算机设备和存储介质。
背景技术
随着车辆智能化技术的发展,车辆能够支持的功能也越来越多,其中,通过语音对话实现人车交互,能够简化用户的操作流程,大大提升用户的体验感。因此,语音识别技术成为当前人车交互的研究热点。
传统的语音识别方法中,基于复杂网络训练得到的大规模模型的计算量较大,训练和识别需要占用的内存较大,因此,通常会采用基于简单网络训练得到的小规模的模型在车端运行,进行语音的识别和交互。然而,小模型的模型精度较差,无法保证语音识别的准确率。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高语音识别准确率的语音识别的方法、装置、计算机设备、存储介质和计算机程序产品。
第一方面,本公开实施例提供了一种语音识别的方法,所述方法包括:
接收待识别的语音信号;
将所述待识别的语音信号输入第一语音识别模型,经所述第一语音识别模型输出识别结果,所述第一语音识别模型为通过第二语音识别模型进行知识蒸馏训练后得到,其中,知识蒸馏训练过程中的温度参数与所述第一语音识别模型的训练阶段对应的迭代次数之间存在预设的关联关系。
在其中一个实施例中,所述第一语音识别模型为通过第二语音识别模型进行知识蒸馏训练后得到,包括:
构建初始第一语音识别模型,其中,所述初始第一语音识别模型中设置有训练参数;
将训练语音信号输入至所述初始第一语音识别模型,经所述初始第一语音识别模型输出初始第一识别结果;
将所述训练语音信号输入至第二语音识别模型,经所述第二语音识别模型输出初始第二识别结果;
根据当前训练阶段对应的迭代次数相匹配的温度参数对所述初始第一识别结果进行处理后得到第一识别结果,根据所述温度参数对所述初始第二识别结果进行处理后得到第二识别结果;
基于所述第一识别结果与所述第二识别结果的差异确定损失函数值,根据所述损失函数值对所述初始第一语音识别模型进行迭代调整,直至满足预设条件,得到第一语音识别模型。
在其中一个实施例中,所述基于所述第一识别结果与所述第二识别结果的差异确定损失函数值,包括:
获取所述初始第一语音识别模型的第一预设中间层输出的初始第一中间结果、所述第二语音识别模型的第二预设中间层输出的初始第二中间结果;
根据当前训练阶段对应的迭代次数相匹配的中间温度参数对所述初始第一中间结果进行处理后得到第一中间结果,根据所述中间温度参数对所述初始第二中间结果进行处理后得到第二中间结果;
基于所述第一识别结果与所述第二识别结果的第一差异、所述第一中间结果与所述第二中间结果的第二差异确定损失函数值。
在其中一个实施例中,所述基于所述第一识别结果与所述第二识别结果的差异确定损失函数值,包括:
确定与当前训练阶段对应的迭代次数相匹配的损失权重;
基于所述第一识别结果与所述第二识别结果的差异、所述损失权重确定损失函数值。
在其中一个实施例中,所述温度参数的确定方式,包括:
获取温度参数与迭代次数之间的关联关系式,其中,所述关联关系式中包括温度变化参数值和初始温度参数值,其中,随着迭代次数从第一预设值增大至第二预设值,温度参数先变大后变小;
将当前训练阶段对应的迭代次数代入所述关联关系式,得到与所述当前训练阶段相对应的温度参数。
在其中一个实施例中,所述第二语音识别模型的获取方式,包括:
获取样本语音信号的集合,所述集合中包括有多个标注有语音标签的样本语音信号;
构建初始语音识别模型,所述初始语音识别模型中设置有训练参数;
将所述样本语音信号输入至所述初始语音识别模型,生成识别结果;
基于所述识别结果与标注的语音标签之间的差异,对所述初始语音识别模型进行迭代调整,直至所述差异满足预设要求,得到第二语音识别模型。
在其中一个实施例中,所述初始语音识别模型包括编码器、中间解码器、第一解码器、第二解码器,所述将所述样本语音信号输入至所述初始语音识别模型,生成识别结果,包括:
将所述样本语音信号输入至所述初始语音识别模型,生成识别结果,其中,所述识别结果包括由所述第一解码器输出的第一子结果、由所述第二解码器输出的第二子结果、由所述中间解码器输出的第三子结果。
在其中一个实施例中,所述编码器包括基础编码器层和折叠编码器层,所述中间解码器被设置于所述基础编码器层和所述折叠编码器层之间,所述折叠编码器层中包括多层折叠编码器,所述多层折叠编码器按照预设的划分方式参数共享,其中,所述预设的划分方式为根据预设重复次数和折叠编码器层数确定得到。
第二方面,本公开实施例还提供了一种语音识别的装置。所述装置包括:
接收模块,用于接收待识别的语音信号;
输出模块,用于将所述待识别的语音信号输入第一语音识别模型,经所述第一语音识别模型输出识别结果,所述第一语音识别模型为通过第二语音识别模型进行知识蒸馏训练后得到,其中,知识蒸馏训练过程中的温度参数与所述第一语音识别模型的训练阶段对应的迭代次数之间存在预设的关联关系。
在其中一个实施例中,所述第一语音识别模型的获取模块,包括:
第一构建模块,用于构建初始第一语音识别模型,其中,所述初始第一语音识别模型中设置有训练参数;
第一输入模块,用于将训练语音信号输入至所述初始第一语音识别模型,经所述初始第一语音识别模型输出初始第一识别结果;
第二输入模块,用于将所述训练语音信号输入至第二语音识别模型,经所述第二语音识别模型输出初始第二识别结果;
处理模块,用于根据当前训练阶段对应的迭代次数相匹配的温度参数对所述初始第一识别结果进行处理后得到第一识别结果,根据所述温度参数对所述初始第二识别结果进行处理后得到第二识别结果;
确定模块,用于基于所述第一识别结果与所述第二识别结果的差异确定损失函数值,根据所述损失函数值对所述初始第一语音识别模型进行迭代调整,直至满足预设条件,得到第一语音识别模型。
在其中一个实施例中,所述确定模块,包括:
获取子模块,用于获取所述初始第一语音识别模型的第一预设中间层输出的初始第一中间结果、所述第二语音识别模型的第二预设中间层输出的初始第二中间结果;
处理子模块,用于根据当前训练阶段对应的迭代次数相匹配的中间温度参数对所述初始第一中间结果进行处理后得到第一中间结果,根据所述中间温度参数对所述初始第二中间结果进行处理后得到第二中间结果;
第一确定子模块,用于基于所述第一识别结果与所述第二识别结果的第一差异、所述第一中间结果与所述第二中间结果的第二差异确定损失函数值。
在其中一个实施例中,所述确定模块,包括:
第二确定子模块,用于确定与当前训练阶段对应的迭代次数相匹配的损失权重;
第三确定子模块,用于基于所述第一识别结果与所述第二识别结果的差异、所述损失权重确定损失函数值。
在其中一个实施例中,所述温度参数的确定模块,包括:
第一获取模块,用于获取温度参数与迭代次数之间的关联关系式,其中,所述关联关系式中包括温度变化参数值和初始温度参数值,其中,随着迭代次数从第一预设值增大至第二预设值,温度参数先变大后变小;
代入模块,用于将当前训练阶段对应的迭代次数代入所述关联关系式,得到与所述当前训练阶段相对应的温度参数。
在其中一个实施例中,所述第二语音识别模型的获取模块,包括:
第二获取模块,用于获取样本语音信号的集合,所述集合中包括有多个标注有语音标签的样本语音信号;
第二构建模块,用于构建初始语音识别模型,所述初始语音识别模型中设置有训练参数;
生成模块,用于将所述样本语音信号输入至所述初始语音识别模型,生成识别结果;
调整模块,用于基于所述识别结果与标注的语音标签之间的差异,对所述初始语音识别模型进行迭代调整,直至所述差异满足预设要求,得到第二语音识别模型。
在其中一个实施例中,所述初始语音识别模型包括编码器、中间解码器、第一解码器、第二解码器,所述生成模块,包括:
生成子模块,用于将所述样本语音信号输入至所述初始语音识别模型,生成识别结果,其中,所述识别结果包括由所述第一解码器输出的第一子结果、由所述第二解码器输出的第二子结果、由所述中间解码器输出的第三子结果。
在其中一个实施例中,所述编码器包括基础编码器层和折叠编码器层,所述中间解码器被设置于所述基础编码器层和所述折叠编码器层之间,所述折叠编码器层中包括多层折叠编码器,所述多层折叠编码器按照预设的划分方式参数共享,其中,所述预设的划分方式为根据预设重复次数和折叠编码器层数确定得到。
第三方面,本公开实施例还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本公开实施例中任一项所述的方法的步骤。
第四方面,本公开实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本公开实施例中任一项所述的方法的步骤。
第五方面,本公开实施例还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本公开实施例中任一项所述的方法的步骤。
本公开实施例,在进行语音识别的过程中,接收待识别的语音信号,将待识别的语音信号输入到第一语音识别模型中,经第一语音识别模型输出识别结果,第一语音识别模型为通过第二语音识别模型进行知识蒸馏训练后得到,在知识蒸馏训练过程中,温度参数与训练阶段对应的迭代次数之间存在预设的关联关系,所以知识蒸馏训练过程中,温度参数随着迭代次数的变化自适应进行调整,从而能够保证第一语音识别模型的结构简单,提高了语音识别的效率,同时提高训练得到的第一语音识别模型的识别精度;由于训练过程中的温度参数自适应变化,在每次迭代训练过程中,第二语音识别模型提供的信息含量也会自适应变化,保证了训练效率的同时,提高了经过多次迭代训练后的第一语音识别模型的识别准确率。
附图说明
图1为一个实施例中语音识别的方法的流程示意图;
图2为一个实施例中第一语音识别模型的获取方法的流程示意图;
图3为一个实施例中第一语音识别模型的获取方法的流程示意图;
图4为一个实施例中第一语音识别模型的获取方法的流程示意图;
图5为一个实施例中温度参数的确定方式的流程示意图;
图6为一个实施例中第二语音识别模型的获取方法的流程示意图;
图7为一个实施例中第二语音识别模型的结构示意图;
图8为一个实施例中语音识别的系统的结构示意图;
图9为一个实施例中语音识别的系统的结构示意图;
图10为一个实施例中语音识别的装置的结构框图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本公开实施例的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开实施例进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本公开实施例,并不用于限定本公开实施例。
在一个实施例中,如图1所示,提供了一种语音识别的方法,所述方法包括:
步骤S110,接收待识别的语音信号;
本公开实施例中,接收待识别的语音信号。在一个示例中,本公开实施例的应用场景包括人车交互场景,人车交互场景中可以包括但不限于车控、导航、媒体、问答等,在人车交互场景中,待识别的语音信号可以包括通过对语音采集装置采集到的音频数据进行处理后得到,其中,语音采集装置可以包括但不限于车端设置的麦克风装置等。待识别的语音信号可以包括对原始音频数据处理后得到,其中,对原始音频数据的处理过程可以包括但不限于语气词过滤等。
步骤S120,将所述待识别的语音信号输入第一语音识别模型,经所述第一语音识别模型输出识别结果,所述第一语音识别模型为通过第二语音识别模型进行知识蒸馏训练后得到,其中,知识蒸馏训练过程中的温度参数与所述第一语音识别模型的训练阶段对应的迭代次数之间存在预设的关联关系。
本公开实施例中,获取到待识别的语音信号后,将待识别的语音信号输入到第一语音识别模型中,经第一语音识别模型识别后输出识别结果。第一语音识别模型为通过第二语音识别模型进行知识蒸馏训练后得到。具体地,知识蒸馏的核心思想就是训练一个复杂模型,把这个复杂模型的输出和有label的数据一并喂给小网络,所以通常情况下,知识蒸馏过程中会有个复杂的大模型(教师模型)和一个小模型(学生模型)。本公开中,所述第一语音识别模型和所述第二语音识别模型被设置为作用相同,均用于进行语音识别,由于第一语音识别模型为通过第二语音识别模型进行知识蒸馏训练后得到,所以第一语音识别模型对应为学生模型,第二语音识别模型对应为教师模型,第二语音识别模型的复杂度和计算量大于第一语音识别模型,第二语音识别模型的网络复杂度大于第一语音识别模型。由于第二语音识别模型的网络复杂度较高,所以,第二语音识别模型的模型精度和识别准确率较高,且计算量大。本实施例中,第一语音识别模型被设置为复杂度低于第二语音识别模型,在一个示例中,当应用场景为人车交互场景时,由于第二语音识别模型的网络复杂度大,计算量大,需要占用较大的内存,因此,应用到车端的难度较大,而第一语音识别模型的复杂度较小,占用内存小,因此,可以将第一语音识别模型应用到车端进行语音识别,从而进行人车交互。本公开实施例中,在知识蒸馏训练过程中,温度参数与训练阶段对应的迭代次数之间存在预设的关联关系,其中,知识蒸馏训练过程中,通过教师模型输出的“软标签”对学生模型进行训练,温度参数影响了软标签中的信息含量,通常情况下,温度参数越大,软标签越“软”,趋势越平滑,包含的信息量越多,但信息可靠度会相应降低;相反地,温度参数越小,软标签越“硬”,包含的信息量越少,但信息可靠度会相应增高。本实施例中,由于温度参数与训练阶段对应的迭代次数之间存在预设的关联关系,所以在知识蒸馏过程中,随着训练迭代次数的变化,温度参数也会相应变化,每次训练迭代的过程中教师模型传递给学生模型的信息量和信息可靠度也会存在差异,因此,本公开实施例中,知识蒸馏训练过程中,第二语音识别模型传递给第一语音识别模型的信息量和信息可靠度会随着训练阶段的不同而变化,从而提高训练得到的第一语音识别模型的模型精度和识别准确率。在一个示例中,温度参数和迭代次数之间的预设的关联关系可以根据实际应用场景设置得到,例如,可以设置为知识蒸馏训练过程开始后,温度参数随着迭代次数的增大而增大;可以设置为知识蒸馏训练过程开始后,温度参数随着迭代次数的增大先变大后变小。在一个示例中,温度参数和迭代次数之间的预设的关联关系可以通过预设的关系式确定得到,其中,预设的关系式中可以包括固定参数,例如温度变化速度参数、迭代停止次数、初始温度参数等,具体可以根据实际应用场景进行设置得到。在一种可能的实现方式中,当应用场景为人车交互场景时,第一语音识别模型被设置于车端,第一语音识别模型根据接收到的待识别的语音信号,输出对应的识别结果,其中,识别结果可以包括语音信号对应的文字内容,在一个示例中,得到第一语音识别模型的识别结果后,可以在车端的显示装置(例如车机显示屏等)上显示识别结果,在一个示例中,还可以将得到的识别结果存储到预设的存储装置中。在一种可能的实现方式中,第二语音识别模型的主体模型架构可以由共享编码器、CTC解码器和基于Attention的解码器构成,其中,共享编码器包括基础编码器层和折叠编码器层,且在共享编码器中采用折叠式自调节的中间解码器层输出规整基础编码器层训练和上层参数;第一语音识别模型的编码器中不包括折叠式自调节的中间解码器层,解码器部分与第二语音识别模型的解码器架构一致,两者层数、注意力头数以及注意力维度等超参数不同。在一个示例中,得到识别结果后,对识别结果进行处理,并按照预设的呈现方式展示识别结果,其中,对识别结果的处理可以包括但不限于语气词过滤、逆文本化过程等,将识别结果转换为适用于应用场景的数据。
本公开实施例,在进行语音识别的过程中,接收待识别的语音信号,将待识别的语音信号输入到第一语音识别模型中,经第一语音识别模型输出识别结果,第一语音识别模型为通过第二语音识别模型进行知识蒸馏训练后得到,在知识蒸馏训练过程中,温度参数与训练阶段对应的迭代次数之间存在预设的关联关系,所以知识蒸馏训练过程中,温度参数随着迭代次数的变化自适应进行调整,从而能够保证第一语音识别模型的结构简单,提高了语音识别的效率,同时提高训练得到的第一语音识别模型的识别精度;由于训练过程中的温度参数自适应变化,在每次迭代训练过程中,第二语音识别模型提供的信息含量也会自适应变化,保证了训练效率的同时,提高了经过多次迭代训练后的第一语音识别模型的识别准确率。
在一个实施例中,如图2所示,所述第一语音识别模型为通过第二语音识别模型进行知识蒸馏训练后得到,包括:
步骤S210,构建初始第一语音识别模型,其中,所述初始第一语音识别模型中设置有训练参数;
步骤S220,将训练语音信号输入至所述初始第一语音识别模型,经所述初始第一语音识别模型输出初始第一识别结果;
步骤S230,将所述训练语音信号输入至第二语音识别模型,经所述第二语音识别模型输出初始第二识别结果;
步骤S240,根据当前训练阶段对应的迭代次数相匹配的温度参数对所述初始第一识别结果进行处理后得到第一识别结果,根据所述温度参数对所述初始第二识别结果进行处理后得到第二识别结果;
步骤S250,基于所述第一识别结果与所述第二识别结果的差异确定损失函数值,根据所述损失函数值对所述初始第一语音识别模型进行迭代调整,直至满足预设条件,得到第一语音识别模型。
本公开实施例中,第一语音识别模型为通过第二语音识别模型进行指示蒸馏训练后得到。具体地,构建初始第一语音识别模型,初始第一语音识别模型中设置有训练参数,其中,初始第一语音识别模型包括基于预设的深度学习算法确定得到的模型。在一种可能的实现方式中,由于第一语音识别模型的作用为进行语音识别,第一语音识别模型可以设置为包括编码器和解码器,在一个示例中,编码器可以设置为由多层conformer模块构成,解码器可以设置为包括CTC(连接性时序分类)解码器和基于Attention(注意力)的解码器。将训练语音信号输入到初始第一语音识别模型中,经初始第一语音识别模型输出初始第一识别结果,将训练语音信号输入至第二语音识别模型,经第二语音识别模型输出初始第二识别结果。
在一种可能的实现方式中,训练语音信号包括根据实际应用场景对音频数据进行处理后得到的语音信号,在一个示例中,训练语音信号包括语音信号的训练集,其中,获取训练集时,可以先采集音频数据,并对音频数据进行数据清洗,提取有效音频片段,并进行数据标注,得到训练音频片段和对应的标签对;对处理后的数据进行特征提取确定音频特征,得到语音信号的训练集,其中,特征提取的过程可以包括但不限于预加重、加窗、加速傅里叶变换、梅尔滤波(Mel滤波)等,优选的,提取得到的音频特征可以包括Fbank(FilterBank)特征,由于人耳对声音频谱的响应是非线性的,Fbank特征提取以类似于人耳的方式对音频进行处理,可以提高语音识别的性能。获得语音信号的Fbank特征的一般步骤是:预加重、分帧、加窗、短时傅里叶变换(STFT)、Mel滤波等。在一个示例中,当应用场景为人车交互场景时,采集音频数据时,可以为实车采集用户音频数据,其中,音频数据可以包括但不限于车控、导航、媒体、问答等多个交互场景下的音频数据。
本公开实施例中,第二语音识别模型为事先训练得到的语音识别模型,与第一语音识别模型作用相同,通常情况下,第二语音识别模型的复杂度较高,模型精度好,同时,计算量大,识别效率可能较低。由于温度参数与训练阶段对应的迭代次数之间存在预设的关联关系,根据当前训练阶段对应的迭代次数确定当前训练阶段对应的温度参数。利用确定得到的温度参数对初始第一识别结果和初始第二识别结果进行处理,得到第一识别结果和第二识别结果。在一个示例中,利用温度参数对识别结果进行处理时,可以为通过softmax函数(归一化指数函数)对初始第一识别结果和初始第二识别结果进行处理,其中,softmax函数中的温度参数被设置为与当前训练阶段对应的温度参数。基于得到的第一识别结果和第二识别结果确定损失函数值,根据损失函数值对初始第一语音识别模型进行迭代调整,其中,每次迭代时,将训练语音样本输入到上一次迭代调整后的语音识别模型中,确定新的第一识别结果和新的第二识别结果,并得到对应的损失函数值,对识别模型进行迭代调整。
在一种可能的实现方式中,确定损失函数值时,可以通过预设的损失函数,其中,预设的损失函数通常为根据实际应用场景确定得到,在一个示例中,预设的损失函数可以设置为基于第一识别结果和第二识别结果之间的第一差异、初始第一识别结果和初始第二识别结果之间的第二差异确定得到,可以理解的是,根据实际应用场景和需求的不同,损失函数中还可以包括其他参数,本公开对此不做限制。在一个示例中,损失函数中还可以包括损失权重,不同的损失(例如识别结果之间的差异)对应有不同的损失权重,损失权重可以根据实际应用场景设置得到,其中,损失权重可以为预设的固定权重值,在知识蒸馏迭代调整的过程中为不变的定值;损失权重还可以被设置为自适应变化,不同的训练阶段对应的损失权重可能存在差异,例如,可以设置损失权重与训练阶段对应的迭代次数之间的关联关系,不同的迭代次数对应有不同的损失权重。
本公开实施例中,在满足预设条件时,迭代调整过程结束,得到第一语音识别模型,其中,预设条件通常为根据实际应用场景确定得到,在一个示例中,预设条件可以包括迭代次数等于预设迭代次数,预设迭代次数可以为事先根据实际应用场景确定得到,还可以为通过语音识别模型在预设的语音信号集合上的表现确定得到;预设条件还可以包括损失函数值在预设的语音信号的验证集合上不再下降。在一个示例中,识别结果之间的差异可以通过计算K-L散度(Kullback-Leibler Divergence)得到。
本公开实施例,通过事先训练得到的第二语音识别模型进行知识蒸馏训练后得到第一语音识别模型,其中,知识蒸馏过程中,通过与训练阶段对应的温度参数对初始第一语音识别模型和第二语音识别模型的初始识别结果进行处理,基于处理后的结果的差异进行损失函数值的确定,从而能够实现根据训练阶段的不同温度参数的自适应变化,在迭代调整得到第一语音识别模型的过程中,第二语音识别模型传递给训练中的第一语音识别模型的信息量随着迭代次数的变化而变化,在保证第一语音识别模型的识别效率的同时,提高了训练得到的第一语音识别模型的模型精度和识别准确率;能够应用于人车交互等场景,提升了用户的体验感。
在一个实施例中,如图3所示,所述基于所述第一识别结果与所述第二识别结果的差异确定损失函数值,包括:
步骤S251,获取所述初始第一语音识别模型的第一预设中间层输出的初始第一中间结果、所述第二语音识别模型的第二预设中间层输出的初始第二中间结果;
步骤S252,根据当前训练阶段对应的迭代次数相匹配的中间温度参数对所述初始第一中间结果进行处理后得到第一中间结果,根据所述中间温度参数对所述初始第二中间结果进行处理后得到第二中间结果;
步骤S253,基于所述第一识别结果与所述第二识别结果的第一差异、所述第一中间结果与所述第二中间结果的第二差异确定损失函数值。
本公开实施例中,第一语音识别模型和第二语音识别模型被设置为多层结构,每层对应有输出结果。本实施例中,还可以基于语音识别模型的中间层的中间输出结果之间差异确定损失函数值。具体地,在将训练语音信号输入到初始第一语音识别模型后,获取初始第一语音识别模型的第一预设中间层输出的初始第一中间结果,将训练语音信号输入到第二语音识别模型后,获取第二语音识别模型的第二预设中间层输出的初始第二中间结果。其中,第一预设中间层可以包括一个或多个第一中间层,第二预设中间层可以包括一个或多个第二中间层,第一中间层的个数与第二中间层的个数相同,且第一预设中间层与第二预设中间存之间存在对应关系。在第一预设中间层包括多个第一中间层,第二预设中间层包括多个第二中间层时,第一中间层个数与第二中间层的个数相同,且多个第一中间层和多个第二中间层之间按照对应关系一一对应,例如,假设第一预设中间层包括两个第一中间层,两个第一中间层对应为初始第一语音识别模型的第三层和第六层,第二预设中间层也包括两个第二中间层,两个第二中间层对应为第二语音识别模型的第六层和第十二层,则初始第一语音识别模型的第三层和第二语音识别模型的第六层相对应,初始第一语音识别模型的第六层和第二语音识别模型的第十二层相对应。当第一预设中间层和第二预设中间层对应包括多个中间层时,本实施例中,初始第一中间结果和初始第二中间结果也包括多个中间结果,每个中间层对应一个中间结果;此时,第二差异也包括多个差异值,在确定第二差异时,根据中间层之间的一一对应的关联关系得到多个差异值,根据第一差异和第二差异对应的多个差异值确定损失函数值。在一个示例中,差异值可以通过输出的分布差异,即K-L散度计算得到。其中,第一预设中间层和第二预设中间层可以根据实际应用场景设置得到,在一个示例中,由于第二语音识别模型的复杂度较大,层数较多,第二预设中间层中每个第二中间层所处的层数大于第一预设中间层中对应的第一中间层的层数。在一种可能的实现方式中,设置第一预设中间层和第二预设中间层时,可以基于初始第一语音识别模型的层数和第二语音识别模型的层数确定得到,例如,可以根据层数等比例选择第一预设中间层和第二预设中间层。在得到初始第一中间结果和初始第二中间结果后,需要利用中间温度参数进行进一步处理,本实施例中,中间温度参数与训练阶段对应的迭代次数之间存在预设的关联关系,在一个示例中,中间温度参数与迭代次数之间的关联关系可以通过预设的关系式确定得到。根据当前训练阶段对应的迭代次数确定对应的中间温度参数,利用确定得到的中间温度参数对初始第一中间结果和初始第二中间结果进行处理后得到第一中间结果和第二中间结果。基于第一识别结果和第二识别结果之间的第一差异、第一中间结果和第二中间结果之间的第二差异确定损失函数值,在一个示例中,在确定损失函数值时,损失函数中还对应有损失权重,例如,第一差异和第二差异可以对应有不同的损失权重,损失权重可以设置为定值,也可以设置为随着训练阶段的不同自适应变化。
在一种可能的实现方式中,第一语音识别模型包括编码器、第一解码器(例如CTC解码器)、第二解码器(例如基于Attention的解码器),在知识蒸馏过程中,采用多层次知识蒸馏的方法训练得到第一语音识别模型,其中,多层次知识蒸馏指的是在训练过程中,基于模型中间层和最后一层输出之间的差异对第一语音识别模型进行优化,具体的,可以基于一个或多个中间层输出计算得到损失函数值,损失函数值由损失函数确定得到。在一个示例中,损失函数中包括一个中间层输出的分布差异,损失函数可以包括四个部分,分别为第二语音识别模型最后一层输出和第一语音识别模型最后一层输出的分布差异,记为LossTS;第二语音识别模型中间层输出和第一语音识别模型的中间层输出的分布差异,记为LossInter-TS;第一解码器的输出损失,记为Lossctc;第二解码器的输出损失,记为Lossatt。此时,训练过程中总的优化损失对应为Loss=α*Lossctc+β*Lossatt+γ*LossInter-TS+θ*LossTS,其中,α,β,γ,θ为超参数,即损失权重,用来衡量不同损失函数的重要性。其中,LossTS和LossInter-TS为根据温度参数进行softmax处理后的输出结果确定得到,本实施例中,温度参数为与迭代次数之间存在预设的关联关系,因此,每次迭代过程中,损失函数值的计算过程中对应的温度参数不是定值,而是随着训练过程自适应变化。在一个示例中,LossTS对应的损失权重θ和LossInter-TS对应的损失权重γ也可以设置为随着训练过程自适应变化。
本公开实施例,在知识蒸馏的过程中,基于模型中间层的输出差异确定损失函数值,并对语音识别模型进行迭代调整,从而通过第一语音识别模型和第二语音识别模型在不同特定层次输出分布的差异性规整第一语音识别模型前部分和第二语音识别模型拟合,实现了多层次知识蒸馏训练,能够进一步提高训练得到的第一语音识别模型的识别准确率;且在确定损失函数值时,中间温度参数也是随着训练阶段的变化自适应调整的,在迭代调整得到第一语音识别模型的过程中,第二语音识别模型中间层传递给训练中的第一语音识别模型的中间层信息量随着迭代次数的变化而变化,在保证第一语音识别模型的识别效率的同时,提高了训练得到的第一语音识别模型的模型精度和识别准确率;能够应用于人车交互等场景,提升了用户的体验感。
在一个实施例中,如图4所示,所述基于所述第一识别结果与所述第二识别结果的差异确定损失函数值,包括:
步骤S254,确定与当前训练阶段对应的迭代次数相匹配的损失权重;
步骤S255,基于所述第一识别结果与所述第二识别结果的差异、所述损失权重确定损失函数值。
本公开实施例中,在确定损失函数值时,基于识别结果之间的差异以及损失权重确定损失函数值,其中,损失权重被设置为与训练阶段对应的迭代次数之间存在预设的关联关系。损失权重与迭代次数之间的关联关系可以通过预设的关联关系式确定得到。具体地,根据当前训练阶段对应的迭代次数确定相匹配的损失权重,在一个示例中,可以通过预设的关系式确定得到与当前训练阶段对应的迭代次数。根据第一识别结果和第二识别结果,确定第一识别结果和第二识别结果之间的差异,并结合确定得到的损失权重确定损失函数值。在一种可能的实现方式中,损失函数值通过预设的损失的加权和确定得到,其中,预设的损失包括但不限于第一识别结果和第二识别结果之间的差异,在一个示例中,损失函数值还包括基于语音识别模型的解码器输出结果对应的损失和损失权重确定得到。在一个示例中,确定损失函数值时,可能对应有多个损失权重,其中,可以根据实际应用场景确定多个损失权重的值,例如,可以设置损失权重为定值,还可以设置损失权重随着训练阶段的变化自适应变化。在一个示例中,当损失函数值对应有多个损失权重时,可以设置多个损失权重之和为一定值。
本公开实施例,在确定损失函数值时,损失权重被设置为与训练阶段对应的迭代次数之间存在关联关系,所以不同的训练阶段对应的损失权重值也会存在差异,使得第二语音识别模型传递给第一语音识别模型的信息量随着训练阶段的改变而改变,从而在保证第一语音识别模型的识别效率的同时,进一步提高知识蒸馏训练后得到的第一语音识别模型的识别准确率;能够适用于人车交互等应用场景,兼顾了模型复杂度和识别准确率,提升了用户的体验感。
在一个实施例中,如图5所示,所述温度参数的确定方式,包括:
步骤S510,获取温度参数与迭代次数之间的关联关系式,其中,所述关联关系式中包括温度变化参数值和初始温度参数值,其中,随着迭代次数从第一预设值增大至第二预设值,温度参数先变大后变小;
步骤S520,将当前训练阶段对应的迭代次数代入所述关联关系式,得到与所述当前训练阶段相对应的温度参数。
本公开实施例中,在确定温度参数时,获取温度参数与迭代次数之间的关联关系式,本实施例中,关联关系式中包括温度变化参数值和初始温度参数值,其中,温度变化参数值的不同会影响温度参数随迭代次数变化的速率,初始温度参数值可以为根据实际应用场景设置得到的一个较为合适的温度参数。本实施例中,在设置关联关系式时,随着迭代次数从第一预设值增大至第二预设值,温度参数先变大后变小,第一预设值和第二预设值为根据实际应用场景设置得到,在一个示例中,第一预设值可以被设置为迭代开始时对应的迭代次数,第二预设值可以被设置为迭代停止时对应的迭代次数,此时,在整个知识蒸馏训练过程中,随着迭代次数的增大,温度参数先变大后变小。在每次迭代训练过程中,将训练阶段对应的迭代次数代入关联关系式,能够计算得到对应的温度参数。
随着迭代次数从第一预设值增大至第二预设值,温度参数先变大后变小。根据这一变化过程,在一种可能的实现方式中,设置关联关系式时,温度参数与迭代次数的关联关系式可以设置为两段式线性关系式,其中,一段线性关系式中温度参数随着迭代次数增加而变大,另一段关系式中温度参数随着迭代次数增加而变小。在另一种可能的实现方式中,可以根据正余弦函数的变化规律,利用正弦函数或余弦函数设置关联关系式,在一个示例中,如式(1)所示,可以通过正弦函数确定得到温度参数与迭代次数之间的关联关系式。
其中,T0表示初始温度参数值,μ为温度变化参数值,表示温度参数随迭代次数的变化速度,p表示目前训练阶段对应的迭代次数,pstop表示停止知识蒸馏训练的迭代次数,pstop可以为直接指定的迭代次数,也可以为通过在验证集上损失不再下降确定得到的迭代次数。对应的,本实施例中的损失权重和迭代次数之间的关联关系式可以如式(2)所示。
其中,θ0表示初始损失权重,μ′为权重变化参数值,表示损失权重随迭代次数的变化速度,p表示目前训练阶段对应的迭代次数,pstop表示停止知识蒸馏训练的迭代次数,pstop可以为直接指定的迭代次数,也可以为通过在验证集上损失不再下降确定得到的迭代次数。
本公开实施例,通过预设的温度参数与迭代次数之间的关联关系式确定对应的温度参数,且随着迭代次数从第一预设值增大至第二预设值,温度参数先变大后变小,在知识蒸馏训练过程中,第二语音识别模型传递的信息量先变大后变小,信息可靠度先变小后变大,使得第二语音识别模型在传授第一语音识别模型的过程中模拟现实生活中一个蒸馏的过程,先“升温蒸馏”后“降温冷凝”,实现了适应性知识蒸馏训练,使第二语音识别模型可以更好的学习,鲁棒性更好,提升了知识蒸馏训练效果,从而有效提高训练得到的第一语音识别模型的识别准确率;兼顾了第一语音识别模型的识别效率和识别准确率,能够适用于人车交互等多种应用场景,提升了用户的体验感。
在一个实施例中,如图6所示,所述第二语音识别模型的获取方式,包括:
步骤S610,获取样本语音信号的集合,所述集合中包括有多个标注有语音标签的样本语音信号;
步骤S620,构建初始语音识别模型,所述初始语音识别模型中设置有训练参数;
步骤S630,将所述样本语音信号输入至所述初始语音识别模型,生成识别结果;
步骤S640,基于所述识别结果与标注的语音标签之间的差异,对所述初始语音识别模型进行迭代调整,直至所述差异满足预设要求,得到第二语音识别模型。
本公开实施例中,训练得到第二语音识别模型的过程中,获取样本语音信号的集合,集合中包括多个标注有语音标签的样本语音信号,其中,语音标签可以包括样本语音信号对应的文字标签。在一个示例中,样本语音信号集合可以通过采集得到的音频数据处理后得到,具体的,采集音频数据,对采集到的音频数据进行数据清洗,提取有效的音频片段,进行数据标注,得到训练音频编码和对应的标签对;对得到的数据进行特征提取,得到声学特征,利用声学特征和标签构成样本语音信号的集合。在一个示例中,特征提取的过程可以包括但不限于预加重、加窗、加速傅里叶变换、梅尔滤波(Mel滤波)等,优选的,提取得到的音频特征可以包括Fbank(FilterBank)特征,由于人耳对声音频谱的响应是非线性的,Fbank特征提取以类似于人耳的方式对音频进行处理,可以提高语音识别的性能。获得语音信号的Fbank特征的一般步骤是:预加重、分帧、加窗、短时傅里叶变换(STFT)、Mel滤波等。在一个示例中,当应用场景为人车交互场景时,采集音频数据时,可以为实车采集用户音频数据,其中,音频数据可以包括但不限于车控、导航、媒体、问答等多个交互场景下的音频数据。构建初始语音识别模型,初始语音识别模型中设置有训练参数,其中,可以根据实际应用场景构建初始语音识别模型,在一个示例中,构建得到的初始语音识别模型中可以包括编码器和解码器,编码器可以包括但不限于conformer编码器,解码器可以包括但不限于CTC解码器、基于Attention解码器等,具体可以根据实际应用场景选择得到,编码器和解码器的层数也可以为根据实际需求确定得到,本实施例中,由于最终训练得到的第二语音识别模型是用于进行知识蒸馏训练后得到第一语音识别模型的,因此,在构建初始语音识别模型时,可以将编码器和/或解码器的层数设置为大于第二语音识别模型的层数,以保证第二语音识别模型的模型精度和识别准确率,进而提高第一语音识别模型的识别准确率。将样本语音信号输入到初始语音识别模型中,得到识别结果,基于识别结果与标注的语音标签之间的差异,对初始语音识别模型进行迭代调整,直至输出的识别结果与语音标签之间的差异满足预设要求,得到第二语音识别模型。其中,预设要求可以事先根据实际应用场景设置得到,例如,调整后的初始语音识别模型输出的识别结果与语音标签之间的差异小于预设阈值等。在一个示例中,可以根据识别结果和语音标签的差异,结合预设的损失函数确定损失函数值,根据损失函数值对初始语音识别模型进行迭代调整。
本公开实施例,通过样本语音信号集合训练得到第二语音识别模型,从而能够进行后续的知识蒸馏训练,得到第一语音识别模型;通过本公开实施例能够保证训练得到的第二语音识别模型的准确率,从而保证后续得到的第一语音识别模型的准确率,能够适用于人车交互等多种应用场景,提升用户的体验感。
在一个实施例中,所述初始语音识别模型包括编码器、中间解码器、第一解码器、第二解码器,所述将所述样本语音信号输入至所述初始语音识别模型,生成识别结果,包括:
将所述样本语音信号输入至所述初始语音识别模型,生成识别结果,其中,所述识别结果包括由所述第一解码器输出的第一子结果、由所述第二解码器输出的第二子结果、由所述中间解码器输出的第三子结果。
本公开实施例中,构建初始语音识别模型时,初始语音识别模型可以设置为包括编码器、中间解码器、第一解码器、第二解码器,其中,编码器可以包括多层编码器层,中间解码器被设置于多层编码器层中,经过中间解码器可以得到中间编码器层的输出结果。在一个示例中,为了提高第二语音识别模型的识别准确率,可以将第一解码器和第二解码器设置为基于不同解码原理得到,综合第一解码器和第二解码器的输出结果得到模型识别结果,例如,可以将第一解码器和第二解码器分别设置为CTC解码器和基于Attention的解码器等。本公开实施例中,在将样本语音信号输入到初始语音识别模型后,经第一解码器、第二解码器、中间解码器可以输出得到第一子结果、第二子结果、第三子结果。在后续对初始语音识别模型的迭代调整中,可以基于第一子结果、第二子结果、第三子结果与语音标签之间的差异进行参数调整。在一种可能的实现方式中,可以基于第一子结果与语音标签之间的第一子差异、第二子结果与语音标签之间的第二子差异、第三子结果与语音标签之间的第三子差异进行初始语音识别模型的迭代调整,在一个示例中,可以设置损失函数,损失函数中设置有损失权重,损失函数值可以通过第一子差异、第二子差异、第三子差异以及对应的损失权重确定得到。
本公开实施例,在训练得到第二语音识别模型时,迭代调整的过程中,基于中间解码器、第一解码器和第二解码器的输出结果进行参数的调整,能够综合考虑到中间层输出及最后一层输出对模型参数进行调整;通过编码器中间层输出规整编码器层训练和上层参数,使得模型识别表现更好,提升第二语音识别模型的模型精度和准确率,进而能够实现对第一语音识别模型的识别准确率的提高,适用于人车交互等多种应用场景,提升用户的体验感。
在一个实施例中,所述编码器包括基础编码器层和折叠编码器层,所述中间解码器被设置于所述基础编码器层和所述折叠编码器层之间,所述折叠编码器层中包括多层折叠编码器,所述多层折叠编码器按照预设的划分方式参数共享,其中,所述预设的划分方式为根据预设重复次数和折叠编码器层数确定得到。
本公开实施例中,编码器层包括基础编码器层和折叠编码器层,中间解码器设置于基础编码器层和折叠编码器层之间。其中,折叠编码器层被设置为参数共享模式。具体地,折叠编码器层包括多层折叠编码器,多层折叠编码器层中预设层数的折叠编码器之间参数共享,其中,预设层数可以通过预设的划分方式确定得到,预设的划分方式可以根据预设重复次数和折叠编码器层数确定得到,在一个示例中,可以根据折叠编码器层数和预设重复次数之间的比值,将多层折叠编码器划分为多个折叠编码器模块,每个模块中包括预设层数的折叠编码器,每个模块中的折叠编码器之间参数共享,例如,当折叠编码器层数对应为9层,预设重复次数设置为3时,层数与预设重复次数之间的比值为3,此时可以将折叠编码器层中9层折叠编码器划分为3个折叠编码器模块,每个模块对应有3个折叠编码器,每个模块中的3个折叠编码器之间参数共享。在模型迭代训练的过程中,参数共享的折叠编码器的参数同时进行改变和调整。在一个示例中,中间解码器设置于基础编码器层和折叠编码器层之间,在数据传输过程中,可以根据中间解码器的输出调节折叠编码器层的参数。
本公开实施例,通过设置基础编码器层和折叠编码器层,能够实现折叠编码器层的参数共享,降低了模型参数量,反复规整了重复层的参数,降低了模型训练过程中的计算量,从而能够在保证模型训练效果的同时,提升模型训练的灵活性和训练效率。
图7为根据一示例性实施例示出的一种第二语音识别模型的结构示意图,参考图7所示,第二语音识别模型的主体模型架构由共享编码器、CTC(连接性时序分类)解码器、基于Attention(注意力)的解码器三部分构成。如图7所示,线性层的作用包括数据缩放,例如,当数据经过卷积模块,输出为(32,86,4350)时,本实施例中Conformer模块需要输入256的数据,那么通过一个线性层可以将(32,86,4350)变为(32,86,256);线性层还用于进行特征升华,提取更精炼的特征,例如,折叠编码器层中的中间层ctc,当vocab大小为5000时,那么可以通过线性层将256变为5000,还可以将5000转回256。在一个示例中,训练过程中,先对待输入的样本语音信号进行语音增强处理,并通过卷积模型进行特征采样,其中,由于语音特征序列一般比较长,在送入模型之前,通常会进行两层步长为2的卷积操作,将序列变为原来的1/4长。其中,共享编码器主要构成为n层Conformer模块,本公开实施例中,在共享编码器中,应用了折叠式自调节的中间层CTC输出,来规整基础编码器层训练和上层参数,使模型能够表现更好;在一个示例中,基于Attention的解码器可以由m层相同的Transformer(变换器)或者Bitransformer(双向变换器)构成。本实施例中,共享编码器层包括Nb个相同的Conformer编码器层构成的基础编码器(BaseEncoder)层和Nf层折叠编码器构成的折叠编码器(FoldEncoder)层,其中,b+f=n,折叠编码器层被设置为参数共享,参数共享重复次数可以设置为重复C次。对于输入声学特征
X(x1,x2,x...x(frame_len),frame_len表示帧长)在编码器中的信息流动可以简述为如下:输入为X,经过一个基础编码器层BaseEncoders得到中间状态M,然后再经过一个带自调节中间层CTC的折叠编码器层FoldEncoders,其中FoldEncoders相比BaseEncoders增加了自调节中间层CTC来规整下层参数和调节输入到上层的特征,最后得到输出为Z。
M=BaseEncoder(X) (3)
Zk=FoldEncoder(M) (4)
X″i=X′i+MHSA(X′i) (6)
X″′i=X″i+Conv(X″i)
(7)
其中FFN表示位置前馈模块,MHSA表示多头注意力模块,Conv表示卷积模块,每层前都有层归一化。
对于BaseEncoders输入到FoldEncoders中的特征已经FoldEncoders重复模块的开始部分会经过自调节中间层ctc,对于FoldEncoder第一个Conformer Block输入表示如下:
I1=Softmax(LinearD→V′(M)) (9)
根据模型结构,本公开实施例中,在训练得到第二语音识别模型的过程中,通过对参数进行迭代调整优化训练损失,其中,需要优化的训练损失由三个损失函数组成,其中,包括如式(11)所示的CTC解码器输出对应的损失函数、如式(12)所示的基于Attention的解码器输出对应的损失函数以及如式(13)所示的中间CTC层输出对应的损失函数。
Lossctc=log∑A∈θPctc(A|X) (11)
其中,θ表示所有经过去重和去除空格能够获得标签序列Y的集合;
其中,L为解码序列的总长度,X表示解码器输出的高级特征;
(13)
其中,C对应为重复次数。
因此,迭代调整过程中需要优化的训练损失如式(14)所示。
Loss=α*Lossctc+β*Lossatt+γ*LossInter-ctc
(14)
其中,α,β,γ为超参数,即损失权重,用来衡量不同损失函数的重要性,在一个示例中,α+β+γ=1。
图8为根据一示例性实施例示出的一种语音识别的系统的结构示意图,参考图8所示,首先通过信号采集单元采集音频数据,并通过信号处理单元对信号进行处理,得到有效的音频片段;对处理后的音频数据进行特征提取;将特征提取处理后的音频数据作为待识别的语音信号输入至第一语音识别模型,经第一语音识别模型进行语音识别后得到识别结果;按照预设的呈现方式展示得到的识别结果。在一个示例中,得到的识别结果可以为待识别的语音信号对应的文字,在进行识别结果的展示时,可以将识别结果转换为声音信号、图像信号等在预设的终端上呈现,预设的呈现方式可以包括但不限于显示屏显示文字、语音终端(例如广播设备等)播放识别结果对应的声音信号等。
图9为根据一示例性实施例示出的一种语音识别的系统的结构示意图,参考图9所示,本公开所述的语音识别方法可以应用于人车交互的场景中,第一语音识别模型可以设置于车端进行语音识别。本实施例中,语音识别系统包括外界交互模块、处理器、存储器、显示屏,第一语音识别模型设置于处理器中,在语音识别过程中,处理器接收由外接交互模块输入的语音信号,并进行识别,实时得到识别结果,显示屏接收并显示识别结果,存储器与处理器连接,用于存储语音识别的方法中产生的数据。在人车交互场景中,具体的领域可以包括但不限于车控、媒体、视频、导航、儿童、中英文等。在一个示例中,如表1所示,在人车交互场景中,不同的识别模型的识别准确率也存在差异,具体地,识别模型A为复杂度较高规模较大的语音识别模型,虽然准确率较高,但由于模型计算量大,需要占用较大的内存,无法适用于车端;识别模型X为复杂度较低规模较小的语音识别模型,虽然占用内存较小,但识别准确率较差;识别模型Y为通过识别模型A按照固定的温度参数进行知识蒸馏训练后得到的语音识别模型,复杂度较低,但识别准确率不够稳定;识别模型Z为通过本公开所述的方法通过识别模型A进行知识蒸馏训练后得到的语音识别模型,由于知识蒸馏训练过程中的温度参数随迭代次数自适应变化,因此,得到的语音识别模型有较高的识别准确率,且复杂度较低,规模较小,计算量小,识别效率高。
表1
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,附图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本公开实施例还提供了一种用于实现上述所涉及的语音识别的方法的语音识别的装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个语音识别的装置实施例中的具体限定可以参见上文中对于语音识别的方法的限定,在此不再赘述。
在一个实施例中,如图10所示,提供了一种语音识别的装置1000,包括:
接收模块1010,用于接收待识别的语音信号;
输出模块1020,用于将所述待识别的语音信号输入第一语音识别模型,经所述第一语音识别模型输出识别结果,所述第一语音识别模型为通过第二语音识别模型进行知识蒸馏训练后得到,其中,知识蒸馏训练过程中的温度参数与所述第一语音识别模型的训练阶段对应的迭代次数之间存在预设的关联关系。
在一个实施例中,所述第一语音识别模型的获取模块,包括:
第一构建模块,用于构建初始第一语音识别模型,其中,所述初始第一语音识别模型中设置有训练参数;
第一输入模块,用于将训练语音信号输入至所述初始第一语音识别模型,经所述初始第一语音识别模型输出初始第一识别结果;
第二输入模块,用于将所述训练语音信号输入至第二语音识别模型,经所述第二语音识别模型输出初始第二识别结果;
处理模块,用于根据当前训练阶段对应的迭代次数相匹配的温度参数对所述初始第一识别结果进行处理后得到第一识别结果,根据所述温度参数对所述初始第二识别结果进行处理后得到第二识别结果;
确定模块,用于基于所述第一识别结果与所述第二识别结果的差异确定损失函数值,根据所述损失函数值对所述初始第一语音识别模型进行迭代调整,直至满足预设条件,得到第一语音识别模型。
在一个实施例中,所述确定模块,包括:
获取子模块,用于获取所述初始第一语音识别模型的第一预设中间层输出的初始第一中间结果、所述第二语音识别模型的第二预设中间层输出的初始第二中间结果;
处理子模块,用于根据当前训练阶段对应的迭代次数相匹配的中间温度参数对所述初始第一中间结果进行处理后得到第一中间结果,根据所述中间温度参数对所述初始第二中间结果进行处理后得到第二中间结果;
第一确定子模块,用于基于所述第一识别结果与所述第二识别结果的第一差异、所述第一中间结果与所述第二中间结果的第二差异确定损失函数值。
在一个实施例中,所述确定模块,包括:
第二确定子模块,用于确定与当前训练阶段对应的迭代次数相匹配的损失权重;
第三确定子模块,用于基于所述第一识别结果与所述第二识别结果的差异、所述损失权重确定损失函数值。
在一个实施例中,所述温度参数的确定模块,包括:
第一获取模块,用于获取温度参数与迭代次数之间的关联关系式,其中,所述关联关系式中包括温度变化参数值和初始温度参数值,其中,随着迭代次数从第一预设值增大至第二预设值,温度参数先变大后变小;
代入模块,用于将当前训练阶段对应的迭代次数代入所述关联关系式,得到与所述当前训练阶段相对应的温度参数。
在一个实施例中,所述第二语音识别模型的获取模块,包括:
第二获取模块,用于获取样本语音信号的集合,所述集合中包括有多个标注有语音标签的样本语音信号;
第二构建模块,用于构建初始语音识别模型,所述初始语音识别模型中设置有训练参数;
生成模块,用于将所述样本语音信号输入至所述初始语音识别模型,生成识别结果;
调整模块,用于基于所述识别结果与标注的语音标签之间的差异,对所述初始语音识别模型进行迭代调整,直至所述差异满足预设要求,得到第二语音识别模型。
在一个实施例中,所述初始语音识别模型包括编码器、中间解码器、第一解码器、第二解码器,所述生成模块,包括:
生成子模块,用于将所述样本语音信号输入至所述初始语音识别模型,生成识别结果,其中,所述识别结果包括由所述第一解码器输出的第一子结果、由所述第二解码器输出的第二子结果、由所述中间解码器输出的第三子结果。
在一个实施例中,所述编码器包括基础编码器层和折叠编码器层,所述中间解码器被设置于所述基础编码器层和所述折叠编码器层之间,所述折叠编码器层中包括多层折叠编码器,所述多层折叠编码器按照预设的划分方式参数共享,其中,所述预设的划分方式为根据预设重复次数和折叠编码器层数确定得到。
上述语音识别的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储待识别的语音信号、识别结果等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种语音识别的方法。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本公开实施例方案相关的部分结构的框图,并不构成对本公开实施例方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本公开实施例所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本公开实施例所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本公开实施例所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本公开实施例所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本公开实施例的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本公开实施例专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本公开实施例构思的前提下,还可以做出若干变形和改进,这些都属于本公开实施例的保护范围。因此,本公开实施例的保护范围应以所附权利要求为准。
Claims (10)
1.一种语音识别的方法,其特征在于,所述方法包括:
接收待识别的语音信号;
将所述待识别的语音信号输入第一语音识别模型,经所述第一语音识别模型输出识别结果,所述第一语音识别模型为通过第二语音识别模型进行知识蒸馏训练后得到,其中,知识蒸馏训练过程中的温度参数与所述第一语音识别模型的训练阶段对应的迭代次数之间存在预设的关联关系。
2.根据权利要求1所述的方法,其特征在于,所述第一语音识别模型为通过第二语音识别模型进行知识蒸馏训练后得到,包括:
构建初始第一语音识别模型,其中,所述初始第一语音识别模型中设置有训练参数;
将训练语音信号输入至所述初始第一语音识别模型,经所述初始第一语音识别模型输出初始第一识别结果;
将所述训练语音信号输入至第二语音识别模型,经所述第二语音识别模型输出初始第二识别结果;
根据当前训练阶段对应的迭代次数相匹配的温度参数对所述初始第一识别结果进行处理后得到第一识别结果,根据所述温度参数对所述初始第二识别结果进行处理后得到第二识别结果;
基于所述第一识别结果与所述第二识别结果的差异确定损失函数值,根据所述损失函数值对所述初始第一语音识别模型进行迭代调整,直至满足预设条件,得到第一语音识别模型。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一识别结果与所述第二识别结果的差异确定损失函数值,包括:
获取所述初始第一语音识别模型的第一预设中间层输出的初始第一中间结果、所述第二语音识别模型的第二预设中间层输出的初始第二中间结果;
根据当前训练阶段对应的迭代次数相匹配的中间温度参数对所述初始第一中间结果进行处理后得到第一中间结果,根据所述中间温度参数对所述初始第二中间结果进行处理后得到第二中间结果;
基于所述第一识别结果与所述第二识别结果的第一差异、所述第一中间结果与所述第二中间结果的第二差异确定损失函数值。
4.根据权利要求2所述的方法,其特征在于,所述基于所述第一识别结果与所述第二识别结果的差异确定损失函数值,包括:
确定与当前训练阶段对应的迭代次数相匹配的损失权重;
基于所述第一识别结果与所述第二识别结果的差异、所述损失权重确定损失函数值。
5.根据权利要求1所述的方法,其特征在于,所述温度参数的确定方式,包括:
获取温度参数与迭代次数之间的关联关系式,其中,所述关联关系式中包括温度变化参数值和初始温度参数值,其中,随着迭代次数从第一预设值增大至第二预设值,温度参数先变大后变小;
将当前训练阶段对应的迭代次数代入所述关联关系式,得到与所述当前训练阶段相对应的温度参数。
6.根据权利要求1所述的方法,其特征在于,所述第二语音识别模型的获取方式,包括:
获取样本语音信号的集合,所述集合中包括有多个标注有语音标签的样本语音信号;
构建初始语音识别模型,所述初始语音识别模型中设置有训练参数;
将所述样本语音信号输入至所述初始语音识别模型,生成识别结果;
基于所述识别结果与标注的语音标签之间的差异,对所述初始语音识别模型进行迭代调整,直至所述差异满足预设要求,得到第二语音识别模型。
7.一种语音识别的装置,其特征在于,所述装置包括:
接收模块,用于接收待识别的语音信号;
输出模块,用于将所述待识别的语音信号输入第一语音识别模型,经所述第一语音识别模型输出识别结果,所述第一语音识别模型为通过第二语音识别模型进行知识蒸馏训练后得到,其中,知识蒸馏训练过程中的温度参数与所述第一语音识别模型的训练阶段对应的迭代次数之间存在预设的关联关系。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的语音识别的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的语音识别的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的语音识别的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310101895.7A CN116013274A (zh) | 2023-01-19 | 2023-01-19 | 语音识别的方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310101895.7A CN116013274A (zh) | 2023-01-19 | 2023-01-19 | 语音识别的方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116013274A true CN116013274A (zh) | 2023-04-25 |
Family
ID=86019346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310101895.7A Pending CN116013274A (zh) | 2023-01-19 | 2023-01-19 | 语音识别的方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116013274A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112786028A (zh) * | 2021-02-07 | 2021-05-11 | 百果园技术(新加坡)有限公司 | 声学模型处理方法、装置、设备和可读存储介质 |
CN118522309A (zh) * | 2024-07-22 | 2024-08-20 | 浙江交科环境科技有限公司 | 利用卷积神经网络进行公路沿线噪声源识别的方法及装置 |
-
2023
- 2023-01-19 CN CN202310101895.7A patent/CN116013274A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112786028A (zh) * | 2021-02-07 | 2021-05-11 | 百果园技术(新加坡)有限公司 | 声学模型处理方法、装置、设备和可读存储介质 |
CN112786028B (zh) * | 2021-02-07 | 2024-03-26 | 百果园技术(新加坡)有限公司 | 声学模型处理方法、装置、设备和可读存储介质 |
CN118522309A (zh) * | 2024-07-22 | 2024-08-20 | 浙江交科环境科技有限公司 | 利用卷积神经网络进行公路沿线噪声源识别的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021082823A1 (zh) | 音频处理方法、装置、计算机设备及存储介质 | |
KR20210041567A (ko) | 신경망을 이용한 하이브리드 오디오 합성 | |
CN111444379B (zh) | 音频的特征向量生成方法及音频片段表示模型的训练方法 | |
CN111737516A (zh) | 一种互动音乐生成方法、装置、智能音箱及存储介质 | |
WO2023197749A1 (zh) | 背景音乐的插入时间点确定方法、装置、设备和存储介质 | |
CN116013274A (zh) | 语音识别的方法、装置、计算机设备和存储介质 | |
CN113314096A (zh) | 语音合成方法、装置、设备和存储介质 | |
CN112580669B (zh) | 一种对语音信息的训练方法及装置 | |
US20240096332A1 (en) | Audio signal processing method, audio signal processing apparatus, computer device and storage medium | |
CN115116470B (zh) | 音频处理方法、装置、计算机设备和存储介质 | |
CN116434731A (zh) | 语音编辑方法、装置、存储介质及电子装置 | |
CN117121099A (zh) | 自适应视觉语音识别 | |
CN116364085A (zh) | 数据增强方法、装置、电子设备和存储介质 | |
CN115731917A (zh) | 语音数据处理方法、模型训练方法、装置及存储介质 | |
CN111757173B (zh) | 一种解说词生成方法、装置、智能音箱及存储介质 | |
Li et al. | FastFoley: Non-autoregressive Foley Sound Generation Based on Visual Semantics | |
CN118413722B (zh) | 音频驱动视频生成方法、装置、计算机设备以及存储介质 | |
CN115440198B (zh) | 混合音频信号的转换方法、装置、计算机设备和存储介质 | |
US20240274120A1 (en) | Speech synthesis method and apparatus, electronic device, and readable storage medium | |
Sanjeeva et al. | TEXT2AV–Automated Text to Audio and Video Conversion | |
US20230410787A1 (en) | Speech processing system with encoder-decoder model and corresponding methods for synthesizing speech containing desired speaker identity and emotional style | |
CN115831088A (zh) | 语音克隆模型生成方法、装置及电子设备 | |
CN117975984A (zh) | 语音处理方法、装置、设备、存储介质和计算机程序产品 | |
CN113987268A (zh) | 数字人视频生成方法、装置、电子设备及存储介质 | |
CN117558263A (zh) | 语音识别方法、装置、设备及可读存储介质 |
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 |