声纹识别模型的训练方法、系统以及声纹识别方法和系统与流程

文档序号:30646883发布日期:2022-07-05 23:12阅读:113来源:国知局
声纹识别模型的训练方法、系统以及声纹识别方法和系统与流程

1.本说明书涉及声纹识别领域,尤其涉及一种声纹识别模型的训练方法、系统以及声纹识别方法和系统。


背景技术:

2.语音是人类最自然的一种交流方式,而因为不同人声道、声带等发声器官的差异,每个人的声音都是唯一的。因此,声纹和指纹一样,可以被用作身份的验证与识别。随着计算机和互联网技术的发展,很多场景采用声纹识别的方式对用户进行身份验证,比如,语音解锁、语音验证、语音支付等。声纹识别技术是指基于声纹识别模型,用声音来识别说话人的身份。随着声纹识别技术的广泛应用,对于声纹识别技术的安全性的需求也日益增加。特别是当存在部分说话人的声音及其声纹特征极为相似时,这些相似说话人的存在要求声纹识别模型具有更好的分辨性,能够准确的将目标说话人和相似说话人区分开。
3.因此,需要提供一种精度更高的声纹识别模型的训练方法、系统以及声纹识别方法和系统,能够准确识别出相似说话人。


技术实现要素:

4.本说明书提供一种精度更高的声纹识别模型的训练方法、系统以及声纹识别方法和系统,能够准确识别出相似说话人。
5.第一方面,本说明书提供一种声纹识别模型的训练方法,包括:获取样本音频数据集,所述样本音频数据集包括多个样本音频数据及各自所属类别;将所述样本音频数据集输入至预训练的第一声纹识别模型中,得到多个预测值;从所述多个样本音频数据中确定目标样本数据,其中,在非所述目标样本数据所属的类别中存在至少一个相似类别对应的预测值与所述目标样本数据所属的类别的预测值的差值大于预设的阈值;基于余量机制调整所述目标样本数据对应的预测值,以增加所述相似类别所占的比例;以及基于所述多个样本音频数据以及调整后的预测值,训练所述第一声纹识别模型,得到最终的声纹识别模型。
6.在一些实施例中,所述第一声纹识别模型包括基于所述样本音频数据集训练得到的模型。
7.在一些实施例中,所述多个样本音频数据包括m个类别,所述m为大于1的整数,所述多个预测值与所述多个样本音频数据一一对应,所述多个预测值中的每个预测值包括一个m维的特征向量,分别对应所述m个类别。
8.在一些实施例中,所述从所述多个样本音频数据中确定目标样本数据,包括对所述每个预测值执行:从所述m维的特征向量中确定当前样本音频数据所属的类别的预测值以及非所述当前样本音频数据所属的类别的预测值;将所述m维的特征向量中非所述当前样本音频数据所属的类别的预测值与所述当前样本音频数据所属的类别的预测值进行对比,并基于对比结果确定所述当前样本音频数据是否为所述目标样本数据。
9.在一些实施例中,所述基于对比结果确定所述当前样本音频数据是否为所述目标样本数据,包括以下情况中的一种:确定非所述当前样本音频数据所属的类别的预测值中存在至少一个预测值与所述当前样本音频数据所属的类别的预测值的差值大于所述阈值,确定所述至少一个预测值对应的类别为所述当前样本音频数据的至少一个相似类别,并确定所述当前样本音频数据为所述目标样本数据;以及确定非所述当前样本音频数据所属的类别的预测值中不存在预测值与所述当前样本音频数据所属的类别的预测值的差值大于所述阈值,确定所述当前样本音频数据不是所述目标样本数据。
10.在一些实施例中,所述基于余量机制调整所述目标样本数据对应的预测值,以增加所述相似类别所占的比例,包括以下方式中的一种:基于正余量调整所述目标样本数据对应的所述相似类别的预测值;基于负余量调整所述目标样本数据对应的所述相似类别以及所述目标样本数据所属的类别之外的其余类别的预测值;以及基于正余量调整所述目标样本数据对应的所述相似类别的预测值,同时基于负余量调整所述目标样本数据对应的所述相似类别以及所述目标样本数据所属的类别之外的其余类别的预测值。
11.在一些实施例中,所述基于所述多个样本音频数据以及调整后的预测值,训练所述第一声纹识别模型,得到最终的声纹识别模型,包括:基于调整后的所述目标样本数据对应的预测值,确定所述目标样本数据对应的目标损失函数;基于所述多个样本音频数据中所述目标样本数据之外的其他样本音频数据的预测值,确定所述其他样本音频数据对应的其他损失函数;以及基于所述目标损失函数和所述其他损失函数,训练所述第一声纹识别模型,得到最终的所述声纹识别模型。
12.第二方面,本说明书提供一种声纹识别模型的训练系统,包括至少一个存储介质以及至少一个处理器,所述至少一个存储介质存储有至少一个指令集,用于进行声纹识别模型的训练;所述至少一个处理器同所述至少一个存储介质通信连接,其中,当所述声纹识别模型的训练系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行本说明书第一方面所述的声纹识别模型的训练方法。
13.第三方面,本说明书还提供一种声纹识别方法,包括:获取待识别的目标音频数据;将所述目标音频数据输入至声纹识别模型中,获取所述目标音频数据对应的目标声纹特征,所述声纹识别模型是基于本说明书第一方面所述的声纹识别模型的训练方法训练得到的;以及基于所述目标声纹特征,确定所述目标音频数据中的目标说话人的身份信息。
14.第四方面,本说明书还提供一种声纹识别系统,包括至少一个存储介质以及至少一个处理器,所述至少一个存储介质,存储有至少一个指令集,用于进行声纹识别;所述至少一个处理器,同所述至少一个存储介质通信连接,其中,当所述声纹识别系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行本说明书第三方面所述的声纹识别方法。
15.由以上技术方案可知,本说明书提供的声纹识别模型的训练方法、系统以及声纹识别方法和系统,提出了一种区分相似说话人的方案,在声纹识别模型训练过程中,通过自适应调整与目标样本声纹特征相近的相似类别的余量取值,使得训练过程中相似类别所占的权重加大,加重训练过程中相似说话人梯度的权重,从而使网络更加关注于对相似说话人的区分,使训练得到的声纹识别模型能够准确的对相似说话人的声纹特征进行区分,提升声纹识别模型的安全性。
16.本说明书提供的声纹识别模型的训练方法、系统以及声纹识别方法和系统的其他功能将在以下说明中部分列出。根据描述,以下数字和示例介绍的内容将对那些本领域的普通技术人员显而易见。本说明书提供的声纹识别模型的训练方法、系统以及声纹识别方法和系统的创造性方面可以通过实践或使用下面详细示例中所述的方法、装置和组合得到充分解释。
附图说明
17.为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1示出了根据本说明书的实施例提供的一种声纹识别模型的训练系统的示意图;
19.图2示出了根据本说明书的实施例提供的一种声纹识别系统的示意图;
20.图3示出了根据本说明书的实施例提供的一种计算设备的硬件结构图;
21.图4示出了根据本说明书的实施例提供的一种声纹识别模型的训练方法流程图;
22.图5示出了根据本说明书的实施例提供的一种确定目标样本数据的流程图;以及
23.图6示出了根据本说明书的实施例提供的一种声纹识别方法流程图。
具体实施方式
24.以下描述提供了本说明书的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本说明书中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本说明书的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本说明书不限于所示的实施例,而是与权利要求一致的最宽范围。
25.这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如,除非上下文另有明确说明,这里所使用的,单数形式“一”,“一个”和“该”也可以包括复数形式。当在本说明书中使用时,术语“包括”、“包含”和/或“含有”意思是指所关联的整数,步骤、操作、元素和/或组件存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的存在或在该系统/方法中可以添加其他特征、整数、步骤、操作、元素、组件和/或组。
26.考虑到以下描述,本说明书的这些特征和其他特征、以及结构的相关元件的操作和功能、以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本说明书的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本说明书的范围。还应理解,附图未按比例绘制。
27.本说明书中使用的流程图示出了根据本说明书中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。
28.为了方便描述,本说明书将对以下描述将会出现的术语进行如下解释:
29.声纹识别:一种基于声音来识别说话人身份的生物识别技术;
30.相似说话人:声纹特性极为相似的说话人;
31.深度学习:一种利用人工神经网络进行学习推理的机器学习方法;
32.损失函数:用来评价模型的预测值与真实值的不一致程度(也可称为误差)的变量,损失函数越好,通常模型的性能越好,不同的模型用的损失函数一般也不一样;
33.余量(margin):为对象外边距间隔属性,类内边界间隔和类间边界间隔的差值。
34.现有技术中,在对声纹识别模型进行训练时常用加性角余量的机制来学习对说话人的区分。其基本思想是在设计损失函数时,对于声纹识别模型计算得到的样本数据的预测值中引入一定的余量(margin),从而在类别的边界之间引入一定的余量,使同属一个类别的样本能够更为紧凑的分布在所述类别的周围,同时加大不同类别样本间的间距。然而,现有技术中所引入的余量并没有对样本所属的类别之外的不同的非样本所属类别进行区分。也就是说,现有技术在进行声纹识别模型训练时,只考虑通过余量机制加大样本所属类别与非样本所属类别的样本之间的差异,并没有考虑多个不同的非样本所属类别的样本彼此间的差异。在模型训练过程中,对一个目标说话人而言,和他声音相似的说话人在整个训练样本集中的占比往往较少的。这导致在训练过程中,相似说话人的梯度信息往往会被掩盖,从而使网络无法有效学习到对相似说话人进行区分的能力,导致声纹识别系统的安全性受限。
35.本说明书提出了一种声纹识别模型的训练方法、系统以及声纹识别方法和系统,在声纹识别模型训练过程中,通过自适应调整与目标样本声纹特征相近的相似类别的预测值的余量取值,使得训练过程中相似类别所占的权重加大,从而使训练得到的声纹识别模型能够准确的对相似说话人的声纹特征进行区分,提升声纹识别模型的安全性。
36.图1示出了根据本说明书的实施例提供的一种声纹识别模型的训练系统001的示意图。如图1所示,声纹识别模型的训练系统001为深度学习处理器,可以包括控制模块110、存储模块120和运算模块130。控制模块110用来控制运算模块130和存储模块120以完成深度学习任务的工作。运算模块130被配置为处理深度学习的计算任务。存储模块120用来存储或搬运相关的计算数据。
37.如图1所示,控制模块110可以包括指令获取单元111和指令解码单元112。指令获取单元111用于从外部存储器(如dram,即通俗的内存条)获取指令。指令解码单元112将指令解码后发送至运算模块130和存储模块120执行。
38.如图1所示,上述运算模块130可以包括向量运算单元131和矩阵运算单元132。向量运算单元131进行向量运算,可以支持向量的乘法、加法、非线性变换等复杂运算,适用于多种数据类型的多种运算模式,可以支持查表、池化、边缘扩充、向量比较、向量求最值、数据格式转换等输入神经元的前处理和输出神经元的后处理。矩阵运算单元132可以负责深度学习算法的核心计算,如矩阵乘法和卷积,可以实现卷积层和全连接层运算功能。
39.如图1所示,存储模块120可以包括直接内存存取单元121、神经元存储单元122和权重存储单元123。直接内存存取单元121可以协调神经元存储单元122和权重存储单元123与外部存储器之间的数据交互。神经元存储单元122用于存储深度学习网络的输入神经元、输出神经元、中间结果等数据。权重存储单元123用于存储深度学习网络的权重。直接内存存取单元121通过存储总线bus连接外部存储器与神经元存储单元122和权重存储单元123,
负责外部存储器与神经元存储单元122和权重存储单元123之间的数据传输。
40.如图1所示,当深度学习处理器开始一次深度学习运算时,指令获取单元111通过直接内存存取单元121从外部存储器读取程序指令;程序指令经过指令解码单元112译码分发给直接内存存取单元121、向量运算单元131和矩阵运算单元132。直接内存存取单元121接收到分发的指令后,通过存储总线bus将访存指令发送至外部存储器,以利用指令将外部存储器所保存的神经元数据读取至神经元存储单元122,将外部存储器所保存的权重读取至权重存储单元123;向量运算单元131接收到指令后,读取神经元存储单元122内的神经元数据,并对神经元数据进行预处理(如边界扩充等),然后发给矩阵运算单元132;矩阵运算单元132接收到指令后从向量运算单元131接收预处理的神经元数据,并从权重存储单元123读取权重数据,完成矩阵运算后将结果发送至向量运算单元131;向量运算单元131对输出神经元进行后处理,如激活或池化等,然后将后处理结果保存在神经元存储单元122;直接内存存取单元121将输出神经元从神经元存储单元122写回到外部存储器。
41.图2示出了根据本说明书的实施例提供的一种声纹识别系统002的示意图。声纹识别系统002可以用于任意场景的声纹识别,比如,门禁场景下的声纹识别、支付场景下的声纹识别、解锁场景下的声纹识别,等等。如图2所示,声纹识别系统002可以包括目标说话人210、客户端220、服务器230以及网络240。
42.目标说话人210可以是等待进行声纹识别的用户或正在进行声纹识别的用户。目标说话人210可以在客户端220上进行声纹识别。
43.客户端220可以是能够对目标说话人210的语音进行音频采集的设备。在一些实施例中,所述声纹识别方法可以在客户端220上执行。此时,客户端220可以存储有执行本说明书描述的声纹识别方法的数据或指令,并可以执行或用于执行所述数据或指令。在一些实施例中,客户端220可以包括具有数据信息处理功能的硬件设备和驱动该硬件设备工作所需必要的程序。如图2所示,客户端220可以与服务器230进行通信连接。在一些实施例中,服务器230可以与多个客户端220进行通信连接。在一些实施例中,客户端220可以通过网络240与服务器230交互,以接收或发送消息等,比如接收或发送音频数据。在一些实施例中,客户端220可以包括移动设备、平板电脑、笔记本电脑、机动车辆的内置设备或类似内容,或其任意组合。在一些实施例中,所述移动设备可包括智能家居设备、智能移动设备、虚拟现实设备、增强现实设备或类似设备,或其任意组合。在一些实施例中,所述智能家居装置可包括智能电视、台式电脑等,或任意组合。在一些实施例中,所述智能移动设备可包括智能手机、个人数字辅助、游戏设备、导航设备等,或其任意组合。在一些实施例中,所述虚拟现实设备或增强现实设备可能包括虚拟现实头盔、虚拟现实眼镜、虚拟现实补丁、增强现实头盔、增强现实眼镜、增强现实补丁或类似内容,或其中的任何组合。例如,所述虚拟现实设备或所述增强现实设备可能包括谷歌眼镜、头戴式显示器、vr等。在一些实施例中,所述机动车中的内置装置可包括车载计算机、车载电视等。在一些实施例中,客户端220可以包括音频采集设备,用于采集目标说话人210的语音音频。在一些实施例中,所述音频采集设备可以是麦克风(比如骨传导麦克风、空气传导麦克风,等等),也可以是麦克风阵列,等等。在一些实施例中,客户端220可以是具有定位技术的设备,用于定位客户端220的位置。
44.在一些实施例中,客户端220可以安装有一个或多个应用程序(app)。所述app能够为目标说话人110提供通过网络240同外界交互的能力以及界面。所述app包括但不限于:网
页浏览器类app程序、搜索类app程序、聊天类app程序、购物类app程序、视频类app程序、理财类app程序、即时通信工具、邮箱客户端、社交平台软件等等。在一些实施例中,客户端220上可以安装有目标app。所述目标app能够为客户端220采集音频数据。在一些实施例中,所述目标app还能对所述目标说话人210进行声纹识别。目标说话人210可以通过所述目标app触发声纹识别请求。所述目标app可以响应于所述声纹识别请求,执行本说明书描述的声纹识别的方法。所述声纹识别的方法将在后面的内容中详细介绍。
45.服务器230可以是提供各种服务的服务器,例如对客户端220上显示的页面提供支持的后台服务器。在一些实施例中,所述声纹识别的方法可以在服务器230上执行。此时,服务器230可以存储有执行本说明书描述的声纹识别的方法的数据或指令,并可以执行或用于执行所述数据或指令。在一些实施例中,服务器230可以包括具有数据信息处理功能的硬件设备和驱动该硬件设备工作所需必要的程序。服务器230可以与多个客户端220通信连接,并接收客户端220发送的数据。
46.网络240用以在客户端220和服务器230之间提供通信连接的介质。网络240可以促进信息或数据的交换。如图1所示,客户端220和服务器230可以同网络240连接,并且通过网络240互相传输信息或数据。在一些实施例中,网络240可以是任何类型的有线或无线网络,也可以是其组合。比如,网络240可以包括电缆网络,有线网络、光纤网络、电信通信网络、内联网、互联网、局域网(lan)、广域网(wan)、无线局域网(wlan)、大都市市区网(man)、广域网(wan)、公用电话交换网(pstn)、蓝牙网络、zigbee网络、近场通信(nfc)网络或类似网络。在一些实施例中,网络240可以包括一个或多个网络接入点。例如,网络240可以包括有线或无线网络接入点,如基站或互联网交换点,通过该接入点,客户端220和服务器230的一个或多个组件可以连接到网络240以交换数据或信息。
47.应该理解,图1中的客户端220、服务器230和网络240的数目仅仅是示意性的。根据实现需要,可以具有任意数目的客户端220、服务器230和网络240。
48.需要说明的是,所述声纹识别的方法可以完全在客户端220上执行,也可以完全在服务器230上执行,还可以部分在客户端220上执行,部分在服务器230上执行。
49.图3示出了根据本说明书的实施例提供的一种计算设备600的硬件结构图。在一些实施例中,本说明书描述的声纹识别模型的训练方法可以在计算设备600生执行。所述声纹识别模型的训练方法在本说明书中的其他部分介绍。在一些实施例中,本说明书描述的声纹识别方法可以在计算设备600上执行。所述声纹识别方法在本说明书中的其他部分介绍。
50.如图3所示,计算设备600可以包括至少一个存储介质630和至少一个处理器620。在一些实施例中,计算设备600还可以包括通信端口650和内部通信总线610。同时,计算设备600还可以包括i/o组件660。
51.内部通信总线610可以连接不同的系统组件,包括存储介质630、处理器620和通信端口650。
52.i/o组件660支持计算设备600和其他组件之间的输入/输出。
53.通信端口650用于计算设备600同外界的数据通信,比如,通信端口650可以用于计算设备600同网络240之间的数据通信。通信端口650可以是有线通信端口也可以是无线通信端口。
54.存储介质630可以包括数据存储装置。所述数据存储装置可以是非暂时性存储介
质,也可以是暂时性存储介质。比如,所述数据存储装置可以包括磁盘632、只读存储介质(rom)634或随机存取存储介质(ram)636中的一种或多种。存储介质630还包括存储在所述数据存储装置中的至少一个指令集。所述指令是计算机程序代码,所述计算机程序代码可以包括执行本说明书提供的声纹识别模型的训练方法和/或声纹识别方法的程序、例程、对象、组件、数据结构、过程、模块等等。
55.至少一个处理器620可以同至少一个存储介质630以及通信端口650通过内部通信总线610通信连接。至少一个处理器620用以执行上述至少一个指令集。当计算设备600运行时,至少一个处理器620读取所述至少一个指令集,并且根据所述至少一个指令集的指示,执行本说明书提供的声纹识别模型的训练方法和/或声纹识别方法。处理器620可以执行声纹识别模型的训练方法和/或声纹识别方法包含的所有步骤。处理器620可以是一个或多个处理器的形式,在一些实施例中,处理器620可以包括一个或多个硬件处理器,例如微控制器,微处理器,精简指令集计算机(risc),专用集成电路(asic),特定于应用的指令集处理器(asip),中心处理单元(cpu),图形处理单元(gpu),物理处理单元(ppu),微控制器单元,数字信号处理器(dsp),现场可编程门阵列(fpga),高级risc机器(arm),可编程逻辑器件(pld),能够执行一个或多个功能的任何电路或处理器等,或其任何组合。仅仅为了说明问题,在本说明书中计算设备600中仅描述了一个处理器620。然而,应当注意,本说明书中计算设备600还可以包括多个处理器,因此,本说明书中披露的操作和/或方法步骤可以如本说明书所述的由一个处理器执行,也可以由多个处理器联合执行。例如,如果在本说明书中计算设备600的处理器620执行步骤a和步骤b,则应该理解,步骤a和步骤b也可以由两个不同处理器620联合或分开执行(例如,第一处理器执行步骤a,第二处理器执行步骤b,或者第一和第二处理器共同执行步骤a和b)。
56.声纹识别模型可以用于提取待识别的音频数据中的声纹特征。在使用声纹识别模型对待识别的音频数据进行声纹特征提取时,一般可以提取待识别的音频数据在频域或时域上的物理特征(比如,强度、频率分布、频率特征,等等),并将所述物理特征输入至声纹识别模型,以获取待识别的音频数据的声纹特征,以从输入的物理特征中尽可能提取与说话人相关的特征而排除与说话人无关的干扰信息(也叫噪音信息)。不同的说话人具有不同的声纹特征。
57.声纹识别模型一般可以包括两个子模型,分别为第一子模型和第二子模型。第一子模型与第二子模型串联。第一子模型为声纹特征提取模型,用于对输入特征进行声纹特征的提取。第二子模型为分类模型,用于对提取的声纹特征进行分类。第二子模型的输出特征为一个特征向量。所述特征向量中的每个向量值对应一个类别,向量值代表当前声纹特征在对应的类别上的得分或概率。
58.目前,声纹识别模型通常基于损失函数进行训练。常用的损失函数为基于度量学习的损失函数以及softmax损失函数的一些变种。前者通常存在挖掘困难样本的采样问题,导致声纹识别模型性能不稳定,且训练非常耗时,后者更加容易训练,且性能也不弱于前者。对于softmax损失函数来说,现有技术中通常采用引入加性余量的方式对softmax损失函数进行优化。第i个样本数据对应的softmax损失函数可以表示为以下公式:
59.60.其中,样本数据的个数为n,m代表n个样本数据所属的类别的数量。xi代表第i个样本数据对应的声纹特征。yi代表第i个样本数据对应的声纹特征所属类别的类别序号或类别标记。代表第i个样本数据对应的声纹特征在其所属类别上的得分或预测值。k代表m个类别中第k个类别的类别序号或类别标记。代表第i个样本数据对应的声纹特征在第k个类别上的得分或预测值。
61.可以表示为以下公式:
[0062][0063]
可以表示为以下公式:
[0064][0065]
其中,表示第i个样本数据对应的声纹特征与其所属的第yi个类别的类别中心之间的夹角。表示第i个样本数据对应的声纹特征与第k个类别的类别中心之间的夹角。m为余量。s是一个常量。由于余量可以被认为是将声纹特征推向类别中心的作用力,因此,通过在同一类的损失函数中引入余量m,使同一类别内的样本数据之间的距离显著低于把不同类别之间的类间距离,从而使学习到的特征更有区分性,能够更精确地区分不同类别。
[0066]
然而,现有技术中所引入的余量并没有对样本所属的类别之外的不同的非样本所属类别进行区分。也就是说,现有技术在进行声纹识别模型训练时,只考虑通过余量机制加大样本所属类别与非样本所属类别的样本之间的差异,并没有考虑多个不同的非样本所属类别的样本彼此间的差异。在模型训练过程中,对一个目标说话人而言,和他声音相似的说话人在整个训练样本集中的占比往往较少的。这导致在训练过程中,相似说话人的梯度信息往往会被掩盖,从而使网络无法有效学习到对相似说话人进行区分的能力,导致声纹识别系统的安全性受限。
[0067]
图4示出了根据本说明书的实施例提供的一种声纹识别模型的训练方法p100的流程图。如前,计算设备600可以执行本说明书的声纹识别模型的训练方法p100。具体地,处理器620可以读取存储在其本地存储介质中的指令集,然后根据指令集的规定,执行本说明书的声纹识别模型的训练方法p100。如图4所示,方法p100可以包括:
[0068]
s120:获取样本音频数据集,所述样本音频数据集包括多个样本音频数据及各自所属类别。
[0069]
多个样本音频数据可以来自不同的说话人,也可以来自同一说话人。为了方便描述,我们将多个样本音频数据的数量定义为n个,n为大于1的正整数。所述n个样本音频数据可以包括m个类别。所述m为大于1的正整数。所述m个类别可以是m个不同的说话人。当多个样本数据来自不同说话人时,可以是部分样本音频数据来自不同说话人,也可以是全部样本音频数据来自不同的说话人。声纹识别模型的训练系统001可以获取一段或多段包括一个或多个说话人的语音音频数据,并对所述语音音频数据进行预处理,以获取所述样本音频数据集。所述预处理包括但不限于分帧处理、频域转换、频域特征提取以及类别标记,等等。声纹识别模型的训练系统001可以通过所述预处理,获取每个样本音频数据对应的物理特征。所述物理特征可以是频域特征或时域特征,比如,幅值特征、频率分布特征、频率变化
特征,等等。所述类别标记可以是对每个样本音频数据所属的类别标记其类别序号。
[0070]
s140:将所述样本音频数据集输入至预训练的第一声纹识别模型中,得到多个预测值。
[0071]
所述第一声纹识别模型可以与所述声纹识别模型具有相同的神经网络结构。所述第一声纹识别模型可以包括基于所述样本音频数据集训练得到的模型。在对所述第一声纹识别模型进行训练时,可以基于前述的训练方法以所述样本音频数据集为样本数据进行训练。在对所述第一声纹识别模型进行训练时可以引入加性余量来定义损失函数,也可以不引用加性余量来定义损失函数。
[0072]
所述预测值可以是所述第一声纹识别模型的输出值。所述多个预测值的数量为n。所述多个预测值与所述多个样本音频数据一一对应。每个样本音频数据对应一个预测值。如前所述,所述第一声纹识别模型的输出结果可以是一个特征向量。即所述多个预测值中的每个预测值可以是一个m维的特征向量。所述m维的特征向量分别对应所述m个类别。所述m维的特征向量中的每个向量值代表当前样本音频数据在其对应的类别上的得分。如前所述,第i个样本音频数据对应的声纹特征xi在其所属类别(第yi个类别)上的得分或预测值可以表示为第i个样本音频数据对应的声纹特征xi在第k个类别上的得分或预测值可以表示为k代表m个类别中第k个类别的类别序号或类别标记。
[0073]
以softmax损失函数为例,对于属于第yi个类别的第i个样本音频数据的声纹特征xi,其损失函数li对第k个类别上的得分或预测值的梯度可以表示为以下公式:
[0074][0075]
由公式(4)可以看出,第i个样本音频数据的声纹特征xi对应的损失函数li在某个非本类别(即第yi个类别之外的其他类别)的得分上的梯度与第i个样本音频数据的声纹特征xi在本类别(即第yi个类别)上的得分正相关,而与第i个样本音频数据的声纹特征xi在本类别(即第yi个类别之外的其他类别)上的得分负相关。
[0076]
如图4所示,所述方法p100还可以包括:
[0077]
s160:从所述多个样本音频数据中确定目标样本数据。
[0078]
其中,在非所述目标样本数据所属的类别中存在至少一个相似类别对应的预测值与所述目标样本数据所属的类别的预测值的差值大于预设的阈值。为了方便描述,我们将目标样本数据标记为t。目标样本数据对应的声纹特征标记为x
t
。目标样本数据对应的声纹特征x
t
所属的类别标记为y
t
。非所述目标样本数据所属的类别标记为yk,其中yk≠y
t
。为了方便描述,我们将目标样本数据的所述相似类别标记为ys。相似类别ys是非所述目标样本数据所属的类别yk中的一部分。为了方便描述,我们将目标样本数据经过所述第一声纹识别模型计算后的预测值在所属类别y
t
中的预测值标记为为了方便描述,我们将定义为本类别预测值或本人预测值。我们将目标样本数据经过所述第一声纹识别模型计算后的预测值在非所述目标样本数据所属的类别yk中的预测值标记为为了方便描述,我们将定义为非本类别预测值或非本人预测值。我们将目标样本数据经过所述第一声纹识别模型计算后的预测值在相似类别ys中的预测值标记为为了方便描述,我们将
定义为相似类别预测值或相似说话人预测值。
[0079]
其中,相似说话人预测值与本人预测值之间满足如下公式:
[0080][0081]
在公式(5)中,λ为预设的阈值。所述阈值λ可以是任意数,包括负数、正数、自然数,等等。阈值λ可以是基于统计方式获取的,也可以是基于机器学习的方式获取的,还可以是基于经验方式获取。在一些实施例中,阈值λ可以是负数。在一些实施例中,阈值λ可以是正数。
[0082]
当相似说话人预测值与本人预测值满足公式(5)时,代表所述m个类别(即m个说话人中)中存在与目标样本数据所属的类别(目标样本数据对应的目标说话人)的声纹特征相似或相近的不同说话人。为了方便描述,我们将与目标说话人的声纹特征相似或相近的不同说话人定义为目标说话人的相似说话人。
[0083]
图5示出了根据本说明书的实施例提供的一种确定目标样本数据的流程图。图5所示的流程对应步骤s160。如图5所示,步骤s160可以包括对所述每个预测值执行:
[0084]
s162:从所述m维的特征向量中确定当前样本音频数据(第i个样本音频数据)所属的类别(即第yi个类别)的预测值以及非所述当前样本音频数据(第i个样本音频数据)所属的类别(即第yi个类别之外的其他类别)的预测值
[0085]
如前所述,每个预测值对应一个m维的特征向量。所述m维的特征向量中的每个向量参数对应m个类别中的一个。当前样本音频数据(第i个样本音频数据)所属的类别(即第yi个类别)已在样本音频数据集中进行标记。
[0086]
s164:将所述m维的特征向量中非所述当前样本音频数据(第i个样本音频数据)所属的类别(即第yi个类别之外的其他类别)的预测值与所述当前样本音频数据(第i个样本音频数据)所属的类别(即第yi个类别)的预测值进行对比,并基于对比结果确定所述当前样本音频数据(第i个样本音频数据)是否为所述目标样本数据。
[0087]
步骤s164可以包括以下情况中的一种:
[0088]
s164-2:确定非所述当前样本音频数据(第i个样本音频数据)所属的类别(即第yi个类别之外的其他类别)的预测值中存在至少一个预测值与所述当前样本音频数据(第i个样本音频数据)所属的类别(即第yi个类别)的预测值的差值大于所述阈值λ,确定所述至少一个预测值对应的类别ys为所述当前样本音频数据(第i个样本音频数据)的至少一个相似类别,并确定所述当前样本音频数据(第i个样本音频数据)为所述目标样本数据t,目标样本数据t的声纹特征为x
t
,所属类别为y
t
,至少一个相似类别为ys;以及
[0089]
s164-4:确定非所述当前样本音频数据(第i个样本音频数据)所属的类别(即第yi个类别之外的其他类别)的预测值中不存在预测值与所述当前样本音频数据(第i个样本音频数据)所属的类别(即第yi个类别)的预测值的差值大于所述阈值λ,确定所述当前样本音频数据(第i个样本音频数据)不是所述目标样本数据。
[0090]
如图4所示,所述方法p100还可以包括:
[0091]
s180:基于余量机制调整所述目标样本数据t对应的预测值,以增加所述相似类别ys所占的比例。
[0092]
由于相似说话人在整个样本音频数据集中的数量较少,其在整个样本音频数据集中的所有类别的说话人中所占的比例较少,从而导致在声纹识别模型训练过程中,相似说话人的梯度信息可能会被掩盖,从而使模型无法有效学习到对相似说话人进行区分的能力,导致声纹识别模型的安全性受限。为了使得声纹识别模型能够更好地区分相似说话人,所述方法p100在声纹识别模型训练过程中可以增加相似说话人(即相似类别ys)在所有类别中所占的比例,从而使相似说话人在模型学习过程中具有更大的梯度权重,使网络更专注于区分相似说话人,从而使模型提升对相似说话人的区分性。
[0093]
在一些实施例中,所述方法p100可以通过增加相似类别ys的预测值来增加所述相似类别ys所占的比例。在一些实施例中,所述方法p100可以通过降低相似类别ys之外的其他类别的预测值来增加所述相似类别ys所占的比例。在一些实施例中,所述方法p100可以同时通过增加相似类别ys的预测值以及降低相似类别ys之外的其他类别的预测值来增加所述相似类别ys所占的比例。具体地,步骤s180可以包括以下方式中的一种:
[0094]
s182:基于正余量(m)调整所述目标样本数据对应的所述相似类别ys的预测值
[0095]
s184:基于负余量(-m)调整所述目标样本数据对应的所述相似类别ys以及所述目标样本数据所属的类别y
t
之外的其余类别的预测值;以及
[0096]
s186:基于正余量(m)调整所述目标样本数据对应的所述相似类别ys的预测值同时基于负余量(-m)调整所述目标样本数据对应的所述相似类别ys以及所述目标样本数据所属的类别y
t
之外的其余类别的预测值。
[0097]
在步骤s182中,为了方便描述,我们将调整后的相似类别ys的预测值标记为调整后的相似类别ys的预测值可以表示为以下公式:
[0098][0099]
其中,m为余量。m为大于0的任意数。
[0100]
在步骤s184中,为了方便描述,我们将调整后的相似类别ys以及所述目标样本数据所属的类别y
t
之外的其余类别的预测值(yk≠y
t
以及yk≠ys)标记为(yk≠y
t
以及yk≠ys)。调整后的相似类别ys以及所述目标样本数据所属的类别y
t
之外的其余类别的预测值的(yk≠y
t
以及yk≠ys)可以表示为以下公式:
[0101][0102]
其中,m为余量。m为大于0的任意数。
[0103]
在步骤s186中,为了方便描述,我们将调整后的非所述目标样本数据所属的类别yk的预测值标记为调整后的非所述目标样本数据所属的类别yk的预测值的可以表示为以下公式:
[0104][0105]
其中,
[0106]
在步骤s180中,通过加大相似说话人类别ys的预测值和/或减小相似说话人类别ys之外的其余非本人类别的预测值(yk≠y
t
以及yk≠ys)来增加相似说话人类别ys在所有类别中所占有的比例,从而避免相似说话人类别ys的梯度信息在训练过程中被掩盖,使相似说话人在学习过程中具有更大的梯度权重,从而使网络提升对相似说话人的区分性。
[0107]
s190:基于所述多个样本音频数据以及调整后的预测值,训练所述第一声纹识别模型,得到最终的声纹识别模型。
[0108]
具体地,步骤s190可以包括:基于调整后的所述目标样本数据对应的预测值,确定所述目标样本数据对应的目标损失函数;基于所述多个样本音频数据中所述目标样本数据之外的其他样本音频数据的预测值,确定所述其他样本音频数据对应的其他损失函数;以及基于所述目标损失函数和所述其他损失函数,训练所述第一声纹识别模型,得到最终的所述声纹识别模型。
[0109]
如前所述,在步骤s180中基于余量机制对目标样本数据对应的预测值进行了调整,以增加了相似类别在所有类别中所占有的比例。对于目标样本数据的目标损失函数应基于调整后的预测值进行计算,以增加相似类别的梯度权重。在步骤s180中,仅基于余量机制对目标样本数据对应的预测值进行了调整,对目标样本数据之外的其他样本音频数据,由于m个类别中并不存在与本类别相似或相近的相似类别,因此无需对其预测值进行调整。因此,对于目标样本数据之外的其他样本音频数据对应的其他损失函数依然基于其自身对应的预测值进行计算。
[0110]
在确定了目标损失函数和其他损失函数后,所述方法p100可以基于所述目标损失函数以及所述其他损失函数继续对第一声纹识别模型进行训练,直至模型收敛。将收敛后的模型作为最终的声纹识别模型。
[0111]
综上所述,本说明书提供了一种声纹识别模型的训练方法p100以及声纹识别模型的训练系统001,在声纹识别模型训练过程中,通过自适应调整与目标样本声纹特征相近的相似类别的预测值的余量取值,使得训练过程中相似类别所占的权重加大,从而使训练得到的声纹识别模型能够准确的对相似说话人的声纹特征进行区分,提升声纹识别模型的安全性。
[0112]
图6示出了根据本说明书的实施例提供的一种声纹识别方法p200的流程图。如前,计算设备600可以执行本说明书的声纹识别方法p200。具体地,处理器620可以读取存储在其本地存储介质中的指令集,然后根据指令集的规定,执行本说明书的声纹识别方法p200。以所述方法p200在服务器230上执行为例进行说明。本领域技术人员应当明白,所述方法p200在客户端220上执行也在本说明书的保护范围内。如图6所示,方法p200可以包括:
[0113]
s220:获取待识别的目标音频数据。
[0114]
服务器230可以通过客户端220可以采集目标说话人210的语音并转换为音频数据,作为所述待识别的目标音频数据。在一些实施例中,客户端220还可以提前对待识别的
目标音频数据进行降噪处理,也可以不经过降噪处理,直接上传至服务器230。
[0115]
s240:将所述目标音频数据输入至声纹识别模型中,获取所述目标音频数据对应的目标声纹特征。
[0116]
所述声纹识别模型是基于本说明书提供的声纹识别模型的训练方法p100训练得到的。服务器230可以调用存储介质630所保存的模型参数、神经源数据等,提取待识别的目标音频数据的声纹特征。
[0117]
s260:基于所述目标声纹特征,确定所述目标音频数据中的目标说话人210的身份信息。
[0118]
在一些实施例中,服务器230中可以预先存储由多个不同说话人的声纹特征。所述声纹特征可以是基于本说明书提供的声纹识别模型提取得到的。所述声纹特征可以是用户在注册声纹识别机制的过程中提供的用户的音频数据通过上述的声纹识别模型对其进行特征提取得到的,然后将声纹特征与用户的用户标识对应存储。
[0119]
在步骤s260中,所述方法p200可以分别计算目标声纹特征与服务器230中的多个声纹特征中的每个声纹特征的相似度,从中选择相似度最大的声纹特征对应的用户标识作为目标说话人210的身份信息。在一些实施例中,根据声纹识别方法的应用场景,服务器230中预存的声纹特征也有所不同。
[0120]
本说明书另一方面提供一种非暂时性存储介质,存储有至少一组用来进行声纹识别模型的训练的可执行指令。当所述可执行指令被处理器执行时,所述可执行指令指导所述处理器实施本说明书所述的声纹识别模型的训练方法p100的步骤。在一些可能的实施方式中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码。当所述程序产品在计算设备600上运行时,所述程序代码用于使计算设备600执行本说明书描述的声纹识别模型的训练方法p100的步骤。
[0121]
本说明书另一方面提供一种非暂时性存储介质,存储有至少一组用来进行声纹识别的可执行指令。当所述可执行指令被处理器执行时,所述可执行指令指导所述处理器实施本说明书所述的声纹识别方法p200的步骤。在一些可能的实施方式中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码。当所述程序产品在计算设备600上运行时,所述程序代码用于使计算设备600执行本说明书描述的声纹识别方法p200的步骤。
[0122]
用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)包括程序代码,并可以在计算设备600上运行。然而,本说明书的程序产品不限于此,在本说明书中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组
合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在计算设备600上执行、部分地在计算设备600上执行、作为一个独立的软件包执行、部分在计算设备600上部分在远程计算设备上执行、或者完全在远程计算设备上执行。
[0123]
上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者是可能有利的。
[0124]
综上所述,在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技术人员可以理解本说明书需求囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本说明书提出,并且在本说明书的示例性实施例的精神和范围内。
[0125]
此外,本说明书中的某些术语已被用于描述本说明书的实施例。例如,“一个实施例”,“实施例”和/或“一些实施例”意味着结合该实施例描述的特定特征,结构或特性可以包括在本说明书的至少一个实施例中。因此,可以强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本说明书的一个或多个实施例中适当地组合。
[0126]
应当理解,在本说明书的实施例的前述描述中,为了帮助理解一个特征,出于简化本说明书的目的,本说明书将各种特征组合在单个实施例、附图或其描述中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本说明书的时候完全有可能将其中一部分设备标注出来作为单独的实施例来理解。也就是说,本说明书中的实施例也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。
[0127]
本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章,书籍,说明书,出版物,文件,物品等,可以通过引用结合于此。用于所有目的全部内容,除了与其相关的任何起诉文件历史,可能与本文件不一致或相冲突的任何相同的,或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的起诉文件历史。现在或以后与本文件相关联。举例来说,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。
[0128]
最后,应理解,本文公开的申请的实施方案是对本说明书的实施方案的原理的说明。其他修改后的实施例也在本说明书的范围内。因此,本说明书披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本说明书中的实施例采取替代配置来实现本说明书
中的申请。因此,本说明书的实施例不限于申请中被精确地描述过的实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1