本发明涉及语音识别技术领域,尤其涉及一种对比预测编码自监督结构联合训练的语音识别方法。
背景技术:
语音识别属于序列转换技术,它将语音序列转换为文本序列。传统的语音识别方法大多是监督学习方法,通过离散傅里叶变换和梅尔滤波器组技术提取语音序列的特征,然后利用ctc、transformer等端到端的模型来进行预测。由于这种特征提取方法没有考虑语音信号的“共性”或“不变性”,得到的特征可能丢失了一些重要的语义和结构的信息,泛化性能较差,对于数据资源缺乏的小语种识别问题,识别效果不佳。
技术实现要素:
本发明的目的是提供一种对比预测编码自监督结构联合训练的语音识别方法,能够提升语音识别结果的准确率,并提升模型泛化能力。
本发明的目的是通过以下技术方案实现的:
一种对比预测编码自监督结构联合训练的语音识别方法,包括:
获取无标签和有标签的语音数据集,并进行预处理;
构建包含语音识别主任务和对比预测编码自监督结构联合训练的模型;
对预处理得到的无标签语音数据集的训练集、以及有标签语音数据集的训练集各自进行特征提取,获得相应的语音特征向量,并将两个训练集对应的语音特征向量各自输入至对比预测编码自监督结构、语音识别主任务,从而对模型进行联合训练;
将待识别的语音数据输入至训练后的模型,获得语音识别结果。
由上述本发明提供的技术方案可以看出,通过设计语音识别主任务和对比预测编码自监督结构联合训练的模型框架,可以使得模型学习到的语音表征既满足语音的结构信息,又适应于语音识别任务,相比于传统的语音识别监督学习方法,有更好的语音识别效果和泛化性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种对比预测编码自监督结构联合训练的语音识别方法的流程图;
图2为本发明实施例提供的语音识别预处理后一条语音数据样例的示意图;
图3为本发明实施例提供的语音识别主任务和自监督结构联合训练的模型框架示意图;
图4为本发明实施例提供的对比预测编码自监督结构示意图;
图5为本发明实施例提供的具体的网络结构示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明实施例提供一种对比预测编码自监督结构联合训练的语音识别方法,如图1所示,其主要包括:
步骤1、获取无标签和有标签的语音数据集,并进行预处理。
本发明实施例中,将无标签和有标签的语音数据集,分别记为{x1}、{x2,y2};其中,x为语音数据,y为语音标签数据;将无标签语音数据集划分为训练集与验证集,将有标签的语音数据集划分为训练集、两个验证集及两个测试集;训练集、验证集、测试集各自应用于模型的训练、验证及测试。
示例性的,无标签和有标签的语音数据集可以为无标签librispeech语音数据集和有标签librispeech语音数据集。
图2提供了预处理后的一条语音数据样例,espnet使用脚本data2json.sh将语音数据集相关的文件都打包到一个json文件中,整体结构分为两个部分:input和output,input对应于该条语音的特征以及特征的shape(表示维度),output对应于该条语音的文本及其数字表示。
步骤2、构建包含语音识别主任务和对比预测编码自监督结构联合训练的模型。
如图3所示,为语音识别主任务和对比预测编码自监督结构联合训练的模型框架。其中,共享网络层可以看作一个特征提取网络,该特征提取网络输出的向量可看作语音的特征向量。有标签数据集划分出的训练集的特征向量作为语音识别主任务的输入,无标签数据集划分出的训练集的特征向量作为自监督任务的输入。
如图4所示,直观刻画了对比预测编码自监督结构。其中,x为输入的语音数据(具体为无标签数据集划分出的训练集
步骤3、对预处理得到的无标签语音数据集的训练集、以及有标签语音数据集的训练集各自进行特征提取,获得相应的语音特征向量,并将两个训练集对应的语音特征向量各自输入至对比预测编码自监督结构、语音识别主任务,从而对模型进行联合训练。
本发明实施例中,所述对比预测编码自监督结构的损失函数为对比损失函数,记为
模型通过上述两个损失函数加权相加的方式来结合自监督结构与语音识别主任务,则联合训练的总损失函数为:
其中,λ为对比损失函数的权重系数;
示例性的,经过调参后,权重系数λ可取0.2。
本发明实施例中,模型训练时使用adam优化器,迭代训练到模型收敛或达到预设的训练步数。之后,通过无标签语音数据集的验证集、以及有标签语音数据集的两个验证集(devclean和devother)验证训练后的模型的性能,以及通过测试集统计训练后的模型的词错率,作为模型的评价指标。
验证集devclean和devother中,clean代表数据集很干净、没有噪声干扰、识别结果词错率较低,other数据集包含了噪声数据,识别结果词错率较高,后续所涉及的测试集testclean和testother也是类似原理划分的数据集。上述测试任务为模型的解码实验,表1直观的刻画了模型的解码结果。testclean和testother为有标签语音数据集的两个测试集,通过实验结果可以看出,当无监督数据增加时,词错率(wer)在两个测试集上减小,这说明本发明的语音识别主任务和对比预测编码自监督结构联合训练的模型框架提升了语音识别的性能。
表1解码实验结果
本领域技术人员可以理解,验证阶段工作与训练阶段相同,但在测试阶段,由于最终关心的是语音识别主任务而非自监督辅助任务,所以测试阶段不用无标签数据,自监督任务相关的网络可舍弃,只需在有标签数据测试集上执行语音识别主任务(等价于在测试阶段自监督任务的权重系数λ为0)。
本发明实施例中,所述语音识别主任务包括:transformer模型的语音识别任务,也就是说,可以在transformer模型的基础上引入对比预测编码自监督结构,transformer模型的原理可参见常规技术。如图5所示,为联合训练模型框架的具体网络结构;无标签语音数据集的训练集
本领域技术人员可以理解,图5所示的encoder端相当于图3的共享网络层,encoder端与decoder端的“12×”、“×6”各自表示重复进行12次、6次相同操作。
步骤4、将待识别的语音数据输入至训练后的模型,获得语音识别结果。
在实际应用阶段,将待识别的语音数据输入至训练后的模型,此阶段中,对比预测编码自监督结构不参与识别工作,待识别的语音数据先通过encoder端得到相应的特征向量,结合相应的标签数据经decoder端得到预测输出概率向量(也即语音识别结果)。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。