一种基于知识蒸馏的平凡发音说话者识别方法及系统与流程

文档序号:33947338发布日期:2023-04-26 08:53阅读:75来源:国知局
一种基于知识蒸馏的平凡发音说话者识别方法及系统与流程

本技术涉及语音识别,尤其涉及一种基于知识蒸馏的平凡发音说话者识别方法及系统。


背景技术:

1、平凡发音是指在口语对话中时常出现的、受说话者主观控制较弱的发音,它们基本不含有任何语义内容,但却蕴含着丰富的声音信息,比如人们的咳嗽声、笑声、打电话常用的“喂”声、表示肯定的“嗯”声,以及清嗓子的声音等,适合用于特定场景下的说话者识别任务,比如在司法鉴定时,无法获得完整语句的情况等。

2、尽管平凡发音能够体现一些说话者声道的物理特性,但由于其发音时间短,平均时长多在0.5s之内,以及语音内容少,因此使用普通语音开发的说话者识别系统对平凡发音的稳健性不足,在使用平凡发音识别说话者时,性能将大幅度下降。

3、另外,说话者识别系统通常是启用边缘端设备其他语音服务的关键,但因边缘端设备资源有限,因此对快速推理和低功耗的需求较高。但当前的说话者识别系统其模型参数量多在百万级别,模型复杂度高,推理速度慢、运算功耗大,因此难以部署在资源有限的边缘设备上。然而若直接降低模型复杂度,说话者识别系统对平凡发音的稳健性将进一步下降。

4、因此,目前已有的说话者识别系统,只能单方面关注轻量化或平凡发音的稳健性,无法二者兼顾。


技术实现思路

1、为了解决上述问题,本专利提出一种基于知识蒸馏的平凡发音说话者识别方法及系统,能够利用知识蒸馏的方式获得轻量化的平凡发音说话者嵌入层网络,提高说话者识别系统的推理速度,减少系统所需存储量和计算量,并且提高系统对平凡发音说话者识别的稳健性。

2、为解决上述技术问题,本发明的第一方面,公开了一种基于知识蒸馏的平凡发音说话者识别方法,所述方法包括:

3、获得平凡发音说话者嵌入层网络;其中,所述说话者嵌入层网络通过对事先构建的教师网络进行知识蒸馏得到;所述知识蒸馏包括:基于所述教师网络进行轻量化处理,构建得到所述说话者嵌入层网络所属轻量化学生网络的网络结构,以及利用所述教师网络的嵌入层输出和后验概率指导所述轻量化学生网络的输出,用以训练所述轻量化学生网络,并在训练完成后从所述轻量化学生网络中提取出所述说话者嵌入层网络;

4、采集说话者的注册音频并进行频谱特征提取,将提取得到的注册音频频谱输入所述平凡发音说话者嵌入层网络,获得所述注册音频频谱在所述平凡发音说话者嵌入层网络中的输出;其中,所述注册音频为平凡发音;

5、获得实时音频数据,并检测所述实时音频数据是否为平凡发音;

6、若是,对所述实时音频数据进行特征提取,并将提取得到的实时音频频谱输入所述平凡发音说话者嵌入层网络,得到所述实时音频频谱在所述平凡发音说话者嵌入层网络中的输出;

7、将所述注册音频频谱在所述平凡发音说话者嵌入层网络中的输出和所述实时音频频谱在所述平凡发音说话者嵌入层网络中的输出进行余弦相似度计算,以判断是否为同一说话者。

8、优选的,所述获得平凡发音说话者嵌入层网络,具体包括:

9、获得音频训练集,所述音频训练集中的每句音频具有对应的说话者标签;

10、构建与训练所述教师网络;

11、构建与训练所述轻量化学生网络;其中,在构建的过程中,对所述教师网络进行轻量化处理,得到所述轻量化学生网络;在训练的过程中,利用所述教师网络的嵌入层输出和后验概率指导所述轻量化学生网络的输出;

12、获取完成训练的所述轻量化学生网络的第二说话者嵌入层网络se作为所述平凡发音说话者嵌入层网络。

13、优选的,所述教师网络的网络结构包括:第一说话者嵌入层网络te和一层用全连接层实现的第一说话者分类层tclf;其中,

14、所述第一说话者嵌入层网络te主要由若干层依次连接的卷积层和一层全连接层堆叠而成,每个卷积层携带有批标准化bn层和线性整流单元relu层。

15、优选的,所述训练所述教师网络,具体包括:

16、将所述音频训练集划分为若干轮,用以训练所述教师网络直至收敛;其中,每轮包含若干个批次,每个批次有若干个不同的说话者,且每个说话者对应一句长时语音频谱;

17、将所述长时语音频谱依次输入所述第一说话者嵌入层网络te和所述第一说话者分类层tclf,所述第一说话者分类层tclf的输出通过归一化指数函数后得到对每个说话者的后验概率p教师,用说话者标签和后验概率p教师计算交叉熵,获得教师网络的损失l教师,使用所述损失l教师反向传播更新所述教师网络的参数。

18、优选的,所述长时语音频谱通过下述步骤得到:

19、将说话者对应的音频频谱和设定长时帧数进行比较;

20、若超过所述设定长时帧数,从所述音频频谱中任意选择连续的所述设定长时帧数对应的频谱作为所述长时语音频谱;

21、若不足所述设定长时帧数,重复所述音频频谱内容直至满足所述设定长时帧数。

22、优选的,所述轻量化学生的网络结构包括:第二说话者嵌入层网络se和一层用全连接层实现的第二说话者分类层sclf;其中,

23、所述第二说话者嵌入层网络se主要由若干层依次连接的卷积层和一层全连接层堆叠而成,每个卷积层携带有批标准化bn层和线性整流单元relu层;在若干层卷积层中,除第一层为卷积层外其余层为可分离卷积层。

24、优选的,所述训练所述轻量化学生网络,具体包括:

25、将所述音频训练集划分为若干轮,用以训练所述轻量化学生网络直至收敛;其中,每轮包含若干个批次,每个批次有若干个不同的说话者,且每个说话者对应一句短时语音或平凡发音的频谱x短时/平凡,以及一句基于短时语音或平凡发音的对抗频谱x对抗;

26、训练轻量化学生网络的损失函数l学生,表达式如下所示:

27、l学生=kl短时/平凡(p长时,p短时/平凡)+kl对抗(p长时,p对抗)+l短时/平凡(e长时,e短时/平凡)+l对抗(e长时,e对抗)

28、其中,kl表示相对熵;kl短时/平凡(p长时,p短时/平凡)=-p长时log(p短时/平凡),p长时为长时语音频谱x长时在所述教师网络中的后验概率,输入是所述短时语音或平凡发音的频谱x短时/平凡对应句子的所述长时语音频谱x长时,通过所述教师网络并使用归一化函数后得到,p短时/平凡为所述短时语音或平凡发音的频谱x短时/平凡在所述轻量化学生网络中的后验概率,输入为所述短时语音或平凡发音的频谱x短时/平凡,通过所述轻量化学生网络并使用归一化函数得到;kl对抗(p长时,p对抗)=-p长时log(p对抗),p对抗为所述基于短时语音或平凡发音的对抗频谱x对抗在所述轻量化学生网络中的后验概率,输入为所述基于短时语音或平凡发音的对抗频谱x对抗,通过所述轻量化学生网络并使用归一化函数得到;l表示余弦距离损失;e长时为所述长时语音频谱x长时在第一说话者嵌入层网络te的输出,输入为所述短时语音或平凡发音的频谱x短时/平凡对应句子的所述长时语音频谱x长时,通过所述教师网络中的所述第一说话者嵌入层网络te得到;e短时/平凡为所述短时语音或平凡发音的频谱x短时/平凡在所述第二说话者嵌入层网络se的输出,输入为所述短时语音或平凡发音的频谱x短时/平凡,通过所述轻量化学生网络的所述第二说话者嵌入层网络se得到;e对抗为所述基于短时语音或平凡发音的对抗频谱x对抗在所述第二说话者嵌入层网络se的输出,输入为所述基于短时语音或平凡发音的对抗频谱x对抗,通过所述轻量化学生网络的所述第二说话者嵌入层网络se得到;

29、将所述每批次音频训练集输入所述轻量化学生网络,并利用所述教师网络的所述第一说话者嵌入层网络te的输出和后验概率结合所述损失函数l学生,指导所述轻量化学生网络所述短时语音或平凡发音的频谱x短时/平凡的输出以及所述基于短时语音或平凡发音的对抗频谱x对抗的输出,用以训练所述轻量化学生网络。

30、优选的,所述短时语音或平凡发音的频谱x短时/平凡通过下述步骤得到:

31、将说话者对应的音频频谱和设定短时帧数进行比较;

32、若超过所述设定短时帧数,从所述音频频谱中任意选择连续的所述设定短时帧数对应的频谱作为所述短时语音或平凡发音的频谱x短时/平凡;

33、若不足所述设定短时帧数,重复所述音频频谱内容直至满足所述设定短时帧数。

34、优选的,所述基于短时语音或平凡发音的对抗频谱x对抗通过下述步骤得到:

35、对所述短时语音或平凡发音的频谱x短时/平凡按照随机信噪比增加背景噪声,获得初始对抗频谱;

36、基于设定概率判断是否继续;

37、若不继续,输出所述初始对抗频谱作为所述基于短时语音或平凡发音的对抗频谱x对抗;

38、若继续,基于所述初始对抗频谱,使用所述轻量化学生网络分别获得所述初始对抗频谱在所述第二说话者嵌入层网络se的输出e初始对抗,和所述初始对抗频谱在所述轻量化学生网络中的后验概率p初始对抗;

39、计算e初始对抗与所述初始对抗频谱对应句子的长时语音频谱x长时在所述第一说话者嵌入层网络te的输出e长时的余弦距离损失l初始对抗(e长时,e初始对抗),以及p初始对抗与所述初始对抗频谱对应句子的长时语音频谱x长时在所述教师网络中的后验概率p长时的kl相对熵kl初始对抗(p长时,p初始对抗);

40、获得l初始对抗与kl初始对抗相加后对所述初始对抗频谱的梯度;

41、将所述初始对抗频谱与对应梯度按设定系数线性相加后,得到基于短时语音或平凡发音的对抗频谱x对抗。

42、优选的,所述获得实时音频数据,并检测所述实时音频数据是否为平凡发音,具体包括:

43、获得所述实时音频数据并进行频谱特征提取;

44、将提取得到的频谱特征输入平凡发音检测器,检测所述实时音频数据是否为平凡发音;其中,所述平凡发音检测器是将音频训练集中的平凡发音作为正样本,将其他音频作为负样本训练的神经网络模型;

45、当实时音频数据不是平凡发音时,继续获取其他实时音频数据处理;

46、当所述实时音频数据是平凡发音时,执行“对所述实时音频数据进行特征提取,并将提取得到的实时音频频谱输入所述平凡发音说话者嵌入层网络,得到所述实时音频频谱在所述平凡发音说话者嵌入层网络中的输出”的步骤。

47、优选的,所述神经网络模型主要由若干层卷积层和一层二分类全连接层堆叠而成;其中,

48、所述二分类全连接层输出节点有两个,一个代表平凡发音,另一个代表负样本;当所述实时音频数据中包含平凡发音时,全连接层属于平凡发音输出节点的值比负样本的值高。

49、本发明的第二方面,公开了一种基于知识蒸馏的平凡发音说话者识别系统,所述系统包括:

50、获得模块,用于获得平凡发音说话者嵌入层网络;其中,所述说话者嵌入层网络通过对事先构建的教师网络进行知识蒸馏得到;所述知识蒸馏包括:基于所述教师网络进行轻量化处理,构建得到所述说话者嵌入层网络所属轻量化学生网络的网络结构,以及利用所述教师网络的嵌入层输出和后验概率指导所述轻量化学生网络的输出,用以训练所述轻量化学生网络,并在训练完成后从所述轻量化学生网络中提取出所述说话者嵌入层网络;

51、第一处理模块,用于采集说话者的注册音频并进行频谱特征提取,将提取得到的注册音频频谱输入所述平凡发音说话者嵌入层网络,获得所述注册音频频谱在所述平凡发音说话者嵌入层网络中的输出;其中,所述注册音频为平凡发音;

52、判断模块,用于获得实时音频数据,并检测所述实时音频数据是否为平凡发音;

53、第二处理模块,用于若是,对所述实时音频数据进行特征提取,并将提取得到的实时音频频谱输入所述平凡发音说话者嵌入层网络,得到所述实时音频频谱在所述平凡发音说话者嵌入层网络中的输出;

54、计算模块,用于将所述注册音频频谱在所述平凡发音说话者嵌入层网络中的输出和所述实时音频频谱在所述平凡发音说话者嵌入层网络中的输出进行余弦相似度计算,以判断是否为同一说话者。

55、本发明的第三方面,公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。

56、本发明的第四方面,公开了一种语音识别设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。

57、通过本发明的一个或者多个技术方案,本发明具有以下有益效果或者优点:

58、本发明公开了一种基于知识蒸馏的平凡发音说话者识别方法及系统,利用知识蒸馏的方式,对原本体量较大的教师网络结构进行轻量化处理,构建得到说话者嵌入层网络所属轻量化学生网络的网络结构,以及利用教师网络的嵌入层输出和后验概率指导轻量化学生网络的输出,用以训练轻量化学生网络,并在训练完成后从轻量化学生网络中提取得到说话者嵌入层网络,从而能够使说话者嵌入层网络的结构更加轻量化,但因其所属轻量化学生网络在训练时结合了教师网络的嵌入层输出和后验概率进行指导,则其分离性和教师网络不相上下,从而使说话者嵌入层网络能够同时兼顾轻量化与平凡发音的说话者识别的稳健性,使其能够很好地部署在边缘端设备中实施。可见,比起已有的说话者识别方案只关注轻量化或只关注平凡发音的稳健性的缺陷,本发明提出的方法能够同时满足两种需求。

59、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1