声纹识别模型的优化方法、装置、计算机设备及存储介质
技术领域
本申请涉及人工智能的声纹识别
技术领域
,尤其涉及一种声纹识别模型的优化方法、装置、计算机设备及存储介质。背景技术
随着人们在数据隐私保护方面安全意识的提高,在重要隐私数据无法离开本地的数据的功能场景中,如何提高用户数据的安全性成为重要的指标,而声纹识别是一种较常见的解决方式。
现有的声纹识别方案为集中训练模式,但是需要事先搜集大量说话人语音数据作为训练数据,而且这些历史存量数据不是真实客户数据,导致现有的识别模型一成不变,不能反映现有活跃用户数据的情况,并且很难去实现针对线上用户数据进行实时优化。
发明内容
本申请实施例提供了一种声纹识别模型的优化方法、装置、计算机设备及存储介质,旨在解决现有的声纹识别模型难以针对线上用户进行实时优化的问题。
第一方面,本申请实施例提供了一种声纹识别模型的优化方法,包括:
将预置的初始声纹识别模型分别部署到多个终端,所述初始声纹识别模型包括时延神经网络TDNN和神经概率线性判别分析网络NPLDA,所述多个终端包括目标终端和与所述目标终端关联的多个关联终端;
获取目标终端发送的待识别语音数据,所述待识别语音数据为目标用户通过所述目标终端输入的语音,所述待识别语音数据的语音时长大于阈值;
通过预置的历史存量数据对所述待识别语音数据进行声纹核身操作,所述历史存量数据包括多个语音数据集,每个语音数据集包括一个用户的多条注册语音数据,每个语音数据集对应的用户不同;
当所述待识别语音数据通过声纹核身操作时,将多个匿名声纹向量确定为负样例数据并发送至所述目标终端,以使得所述目标终端根据所述负样例数据以及所述目标终端本地的正样例数据对所述初始声纹识别模型进行梯度计算,得到所述目标终端对应的目标模型梯度,所述匿名声纹向量为其他用户的说话语音特征,所述其他用户为除所述目标用户之外的用户;
获取所述多个关联终端发送的多个关联模型梯度,并采用联邦聚合平均算法对多个关联模型梯度和目标模型梯度进行聚合,得到聚合梯度,其中,每个关联终端对应一个关联模型梯度;
将所述聚合梯度发送到所述多个终端,以使得每个终端根据所述聚合梯度对所述初始声纹识别模型进行优化。
在一种可行的实施方式中,在所述将预置的初始声纹识别模型分别部署到多个终端之前,所述声纹识别模型的优化方法还包括:
构建初始模型并对初始模型进行离线训练,得到初始声纹识别模型。
在一种可行的实施方式中,所述构建初始模型并对初始模型进行离线训练,得到初始声纹识别模型,包括:
从神经网络特征提取器x-vector中提取前6层时延网络TDNN结构,并将所述前6层TDNN结构作为初始模型的前置部分;
从神经概率线性判别分析网络NPLDA中提取后3层网络结构,并将所述后3层网络结构作为初始模型的后续部分;
将所述前置部分和所述后续部分组合初始模型,所述初始模型包括9层网络结构;
获取初始训练语料,所述初始训练语料包括同一用户的语音对和不同用户的语音对;
根据所述初始训练语料对所述初始模型进行训练,得到初始声纹识别模型。
在一种可行的实施方式中,所述根据所述初始训练语料对所述初始模型进行训练,得到初始声纹识别模型,包括:
将所述初始训练语料输入所述初始模型,计算所述初始模型的检测代价函数;
当所述检测代价函数的值小于预设值时,确定所述初始模型完成训练,得到初始的声纹识别模型。
在一种可行的实施方式中,所述通过预置的历史存量数据对所述待识别语音数据进行声纹核身操作,包括:
将所述待识别语音数据对应的目标用户确定为待核身用户;
在所述预置的历史存量数据的多个语音数据集中确定与所述待核身用户匹配的目标语音数据集,所述目标语音数据集包括所述待核身用户的多条注册语音数据;
根据所述目标语音数据集和所述待识别语音数据输入所述初始声纹识别模型,计算在预置错误接受率下的评分值,并将所述评分值确定为声纹核身的目标阈值;
根据所述目标阈值调用所述初始声纹识别模型对所述待识别语音数据进行1:1声纹核身操作。
在一种可行的实施方式中,在所述根据所述目标阈值调用所述初始声纹识别模型对所述待识别语音数据进行1:1声纹核身操作之后,所述声纹识别模型的优化方法还包括:
计算所述初始声纹识别模型的目标等错误率值;
当所述目标等错误率值小于或等于预设警戒值时,基于所述目标阈值对所述初始声纹识别模型进行更新;
当所述目标等错误率值大于所述预设警戒值时,向管理中心发送预警消息。
在一种可行的实施方式中,所述获取所述多个关联终端发送的多个关联模型梯度,并采用联邦聚合平均算法对多个关联模型梯度和目标模型梯度进行聚合,得到聚合梯度,其中,每个终端对应一个不同的模型梯度,包括:
确定所述初始声纹识别模型的当前权重并将所述当前权重下发至每个终端;
获取所述目标模型梯度对应的目标权重;
获取所述多个关联终端发送的多个关联模型梯度以及每个关联模型梯度对应的关联权重;
基于联邦聚合平均算法、所述目标模型梯度、所述目标权重、所述多个关联模型梯度以及所述每个关联模型梯度对应的关联权重进行计算,得到聚合梯度和更新后的权重;
将所述聚合梯度和所述更新后的权重发送至每个终端。
第二方面,本申请实施例提供了一种声纹识别模型的优化装置,包括:
模型部署模块,用于将预置的初始声纹识别模型分别部署到多个终端,所述初始声纹识别模型包括时延神经网络TDNN和神经概率线性判别分析网络NPLDA,所述多个终端包括目标终端和与所述目标终端关联的多个关联终端;
数据获取模块,用于获取目标终端发送的待识别语音数据,所述待识别语音数据为目标用户通过所述目标终端输入的语音,所述待识别语音数据的语音时长大于阈值;
声纹核身模块,用于通过预置的历史存量数据对所述待识别语音数据进行声纹核身操作,所述历史存量数据包括多个语音数据集,每个语音数据集包括一个用户的多条注册语音数据,每个语音数据集对应的用户不同;
确定发送模块,用于当所述待识别语音数据通过声纹核身操作时,将多个匿名声纹向量确定为负样例数据并发送至所述目标终端,以使得所述目标终端根据所述负样例数据以及所述目标终端本地的正样例数据对所述初始声纹识别模型进行梯度计算,得到所述目标终端对应的目标模型梯度,所述匿名声纹向量为其他用户的说话语音特征,所述其他用户为除所述目标用户之外的用户;
获取聚合模块,用于获取所述多个关联终端发送的多个关联模型梯度,并采用联邦聚合平均算法对多个关联模型梯度和目标模型梯度进行聚合,得到聚合梯度,其中,每个关联终端对应一个关联模型梯度;
发送模块,用于将所述聚合梯度发送到所述多个终端,以使得每个终端根据所述聚合梯度对所述初始声纹识别模型进行优化。
在一种可行的实施方式中,所述声纹识别模型的优化装置还包括:
构建训练模块,用于构建初始模型并对初始模型进行离线训练,得到初始声纹识别模型。
在一种可行的实施方式中,所述构建训练模块,包括:
第一提取单元,用于从神经网络特征提取器x-vector中提取前6层时延网络TDNN结构,并将所述前6层TDNN结构作为初始模型的前置部分;
第二提取单元,用于从神经概率线性判别分析网络NPLDA中提取后3层网络结构,并将所述后3层网络结构作为初始模型的后续部分;
组合单元,用于将所述前置部分和所述后续部分组合初始模型,所述初始模型包括9层网络结构;
获取单元,用于获取初始训练语料,所述初始训练语料包括同一用户的语音对和不同用户的语音对;
训练单元,用于根据所述初始训练语料对所述初始模型进行训练,得到初始声纹识别模型。
在一种可行的实施方式中,所述训练单元具体用于:
将所述初始训练语料输入所述初始模型,计算所述初始模型的检测代价函数;
当所述检测代价函数的值小于预设值时,确定所述初始模型完成训练,得到初始的声纹识别模型。
在一种可行的实施方式中,所述声纹核身模块包括:
确定单元,用于将所述待识别语音数据对应的目标用户确定为待核身用户;
匹配单元,用于在所述预置的历史存量数据的多个语音数据集中确定与所述待核身用户匹配的目标语音数据集,所述目标语音数据集包括所述待核身用户的多条注册语音数据;
第一计算单元,用于根据所述目标语音数据集和所述待识别语音数据输入所述初始声纹识别模型,计算在预置错误接受率下的评分值,并将所述评分值确定为声纹核身的目标阈值;
声纹核身单元,用于根据所述目标阈值调用所述初始声纹识别模型对所述待识别语音数据进行1:1声纹核身操作。
在一种可行的实施方式中,所述声纹核身模块还包括:
第二计算单元,用于计算所述初始声纹识别模型的目标等错误率值;
更新单元,用于当所述目标等错误率值小于或等于预设警戒值时,基于所述目标阈值对所述初始声纹识别模型进行更新;
发送单元,当所述目标等错误率值大于所述预设警戒值时,向管理中心发送预警消息。
在一种可行的实施方式中,所述获取聚合模块具体用于:
确定所述初始声纹识别模型的当前权重并将所述当前权重下发至每个终端;
获取所述目标模型梯度对应的目标权重;
获取所述多个关联终端发送的多个关联模型梯度以及每个关联模型梯度对应的关联权重;
基于联邦聚合平均算法、所述目标模型梯度、所述目标权重、所述多个关联模型梯度以及所述每个关联模型梯度对应的关联权重进行计算,得到聚合梯度和更新后的权重;
将所述聚合梯度和所述更新后的权重发送至每个终端。
第三方面,本申请实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的声纹识别模型的优化方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的声纹识别模型的优化方法。
本申请实施例提供了一种声纹识别模型的优化方法、装置、计算机设备及存储介质,用于针对线上用户进行实时优化,提高了模型的准确率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的声纹识别模型的优化方法的应用场景示意图;
图2为本申请实施例提供的声纹识别模型的优化方法的流程示意图;
图3为本申请实施例提供的声纹识别模型的优化装置的示意性框图;
图4为本申请实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1为本申请实施例提供的声纹识别模型的优化方法的应用场景示意图;图2为本申请实施例提供的声纹识别模型的优化方法的流程示意图,该声纹识别模型的优化方法应用于服务器中,该方法通过安装于服务器中的应用软件进行执行。
如图2所示,该方法包括步骤S201~S206。
S201、将预置的初始声纹识别模型分别部署到多个终端,初始声纹识别模型包括时延神经网络TDNN和神经概率线性判别分析网络NPLDA,多个终端包括目标终端和与目标终端关联的多个关联终端。
服务器将预置的初始声纹识别模型分别部署到多个终端,初始声纹识别模型包括时延神经网络TDNN和神经概率线性判别分析网络NPLDA,多个终端包括目标终端和与所述目标终端关联的多个关联终端。其中,多个关联终端和目标终端为并列的多个终端,只是每个终端对应的客户不同,本实施例已目标终端上发生的数据更新为例进行说明,目标终端可以是多个终端中的任意一个。
可选的,在服务器将预置的初始声纹识别模型分别部署到多个终端之前,还包括:服务器构建初始模型并对初始模型进行离线训练,得到初始声纹识别模型。
具体的,服务器从神经网络特征提取器x-vector中提取前6层时延网络TDNN结构,并将前6层TDNN结构作为初始模型的前置部分;服务器从神经概率线性判别分析网络NPLDA中提取后3层网络结构,并将后3层网络结构作为初始模型的后续部分;服务器将前置部分和后续部分组合初始模型,初始模型包括9层网络结构;服务器获取初始训练语料,初始训练语料包括同一用户的语音对和不同用户的语音对;服务器根据初始训练语料对初始模型进行训练,得到初始声纹识别模型。
需要说明的是,初始声纹识别模型选择基于结合X-Vector的前6层时延神经网络(Time-Delay Neural Network,TDNN),和神经概率线性判别分析网络(NeuralProbabilistic Linear Discriminant Analysis,NPLDA)的后3层作为需要训练的模型。网络架构结合方式如下:初始声纹识别模型的第1层的层类型为时延神经网络-线性整流函数(TDNN-ReLu),上下文范围为(t-2,t+2),输入维度为30,输出维度为512;初始声纹识别模型的第2层的层类型为TDNN-ReLu,上下文范围为(t-2,t+2),输入维度为512,输出维度为512;初始声纹识别模型的第3层的层类型为TDNN-ReLu,上下文范围为(t-3,t+3),输入维度为512,输出维度为512;初始声纹识别模型的第4层的层类型为TDNN-ReLu,上下文范围为(t),输入维度为512,输出维度为512;初始声纹识别模型的第5层的层类型为TDNN-ReLu,上下文范围为(t),输入维度为512,输出维度为1500;初始声纹识别模型的第6层的层类型为统计池化(Statistics-Pooling),上下文范围为(0,T),输入维度为1500*T,输出维度为3000;初始声纹识别模型的第7层的层类型为仿射单位长度归一化(Affine-Unit lengthNormalize),上下文范围为(0),输入维度为1500,输出维度为512;初始声纹识别模型的第8层的层类型为仿射(Affine),上下文范围为(0),输入维度为512,输出维度为512;初始声纹识别模型的第9层的层类型为二次方程(Quadratic),上下文范围为(0),输入维度为512,输出维度为1,其中,第8层的输出为声纹特征向量。
可选的,服务器根据初始训练语料对初始模型进行训练,得到初始声纹识别模型,具体包括:
服务器将初始训练语料输入初始模型,计算初始模型的检测代价函数;
当检测代价函数的值小于预设值时,服务器确定初始模型完成训练,得到初始的声纹识别模型。
需要说明的是,训练的过程是将模型的检测代价函数C(θ)(Detection CostFunction,DCF)的值,这里通常所指的是归一化的检测代价函数(Normalized DetectionCost Function,NormalizedDCF)CNorm(θ)作为模型的损失函数,来训练出具有更小的最小检测代价函数值(Minimum Detection Cost Function,minDCF)的模型,而这个值为参与测评模型好坏的一个重要指标。通过这样一整套过程,可以实现端到端的声纹模型训练。
其中,C(θ)=Cmiss·Pmiss(θ)·Ptarget+CFA·PFA(θ)·(1-Ptarget);
可以理解的是,Pmiss(θ)为阈值为θ的情况下,未命中目标的比例(miss rate),PFA(θ)为阈值为θ的情况下,误报的比例(false alarm rate)。其中Cmiss、CFA和Ptarget为常数,其定义了在有目标检测语音数量所占比例这一先验概率下,考虑了未命中目标和误报这两个事件对真实情况的影响下,定义了这三个参数,且这个定义在NIST SRE 1996中,很少改变,通常取:Cmiss=10,CFA=1,Ptarget=0.01。
因此,可以得到:DCF可以简化为:CNorm(θ)=Pmiss(θ)+β·PFA(θ),其中,β=9.9,其中i为测试实验(trial)的序号,N为总测试数。当ti=1时,此测试i为未命中(语音对来自不同说话人),当ti=0时,此测试i为命中(语音对来自相同说话人)。si为在测试i中,模型判定的分数(模型的输出)。函数为标指函数(indicator function),当括号内条件为真时,此函数值为1,若括号内条件为假时,此函数值为0。这里由于标指函数变化陡峭,没有梯度可被学习,这里此函数可被替换为变化稍微平缓的函数:sigmoid函数σ(·)。
因此可以得到:
最后得到损失函数:由于minDCF需要求所有阈值θ所对应的DCF最小值,这里可以通过设定θ为一个可被学习的变量进行学习。
S202、获取目标终端发送的待识别语音数据,待识别语音数据为目标用户通过目标终端输入的语音,待识别语音数据的语音时长大于阈值。
服务器获取目标终端发送的待识别语音数据,待识别语音数据为目标用户通过目标终端输入的语音,待识别语音数据的语音时长大于阈值。
需要说明的是,对于参与训练的终端,如果有新的参与验证的语音(即待识别语音数据),这里首先需要保证说话的有效语音是足够,且只有一个说话人说话。
S203、通过预置的历史存量数据对待识别语音数据进行声纹核身操作,历史存量数据包括多个语音数据集,每个语音数据集包括一个用户的多条注册语音数据,每个语音数据集对应的用户不同。
具体的,服务器将待识别语音数据对应的目标用户确定为待核身用户;服务器在预置的历史存量数据的多个语音数据集中确定与待核身用户匹配的目标语音数据集,目标语音数据集包括待核身用户的多条注册语音数据;服务器根据目标语音数据集和待识别语音数据输入初始声纹识别模型,计算在预置错误接受率(False Acceptance Rate,FAR)下的评分值,并将评分值确定为声纹核身的目标阈值;服务器根据目标阈值调用初始声纹识别模型对待识别语音数据进行1:1声纹核身操作,历史存量数据包括多个语音数据集,每个语音数据集包括一个用户的多条注册语音数据,每个语音数据集对应的用户不同。
需要说明的是,这里核身操作任务不在终端完成,而是在用于服务器内完成,因此服务器需要进行一次阈值较高的1:1的声纹核身,保证是该说话人ID对应的说话人语音参与声纹训练。其中,服务器内也包含有效语音检测、是否只含有一个说话人的检测算法对参与训练的语音进行质量控制。
可选的,在根据目标阈值调用初始声纹识别模型对待识别语音数据进行1:1声纹核身操作之后,声纹识别模型的优化方法还包括:
服务器计算初始声纹识别模型的目标等错误率值;
当目标等错误率值(Equal Error Rate,EER)小于或等于预设警戒值时,服务器基于目标阈值对初始声纹识别模型进行更新;
当目标等错误率值大于预设警戒值时,服务器向管理中心发送预警消息。
S204、当待识别语音数据通过声纹核身操作时,将多个匿名声纹向量确定为负样例数据并发送至目标终端,以使得目标终端根据负样例数据以及目标终端本地的正样例数据对初始声纹识别模型进行梯度计算,得到目标终端对应的目标模型梯度,匿名声纹向量为其他用户的说话语音特征,其他用户为除目标用户之外的用户。
需要说明的是,为了保证参与训练的数据为本人,需要对训练数据事先进行一次1:1声纹核身操作。这里终端本机需留存一份本人的注册语音;对于相同说话人的语音训练时,终端将本地的两个语音片段进行训练。但对于不同说话人的语音训练时,由于需要保护其他说话人的隐私,这里不可以传递其他说话人的语音内容。这里可以将其他终端推理后的声纹向量(即声纹特征μt)传到本机,进行训练。
目标终端的训练过程具体如下:
目标终端在本地数据库中确定目标用户对应的目标注册语音数据;
将目标注册语音数据和待识别语音数据μ(n)确定为正样例数据;
从服务器获取多个匿名声纹向量μ(m)并将多个匿名声纹向量确定为负样例数据,匿名声纹向量为其他用户的说话语音特征,其他用户为除目标用户之外的用户,其中,为用户(即说话人)的ID,m≠n;
根据正样例数据和负样例数据对初始声纹识别模型进行优化,得到目标声纹识别模型。
S205、获取多个关联终端发送的多个关联模型梯度,并采用联邦聚合平均算法对多个关联模型梯度和目标模型梯度进行聚合,得到聚合梯度,其中,每个关联终端对应一个关联模型梯度。
具体的,服务器确定初始声纹识别模型的当前权重并将当前权重下发至每个终端;服务器获取目标终端发送的目标模型梯度和目标模型梯度对应的目标权重;服务器获取多个关联终端发送的多个关联模型梯度以及每个关联模型梯度对应的关联权重;服务器基于联邦聚合平均算法、目标模型梯度、目标权重、多个关联模型梯度以及每个关联模型梯度对应的关联权重进行计算,得到聚合梯度和更新后的权重;服务器将聚合梯度和更新后的权重发送至每个终端。
S206、将聚合梯度发送到多个终端,以使得每个终端根据聚合梯度对初始声纹识别模型进行优化。
服务器将聚合梯度发送到多个终端,以使得每个终端根据聚合梯度对初始声纹识别模型进行优化。
本申请实施例中,通过联邦学习算法将训练任务由中央云服务器统筹,再以分布式的方式分发到各个终端进行联合训练,整个过程通过加密训练完成,保证了客户的数据安全和隐私,同时实现模型的实时优化,提高对线上用户声纹核身准确率的目的。
本申请实施例还提供一种声纹识别模型的优化装置,该声纹识别模型的优化装置用于执行前述声纹识别模型的优化方法的任一实施例。具体地,请参阅图3,图3是本申请实施例提供的声纹识别模型的优化装置的示意性框图。该声纹识别模型的优化装置300可以配置于服务器中。
如图3所示,声纹识别模型的优化装置300包括:
模型部署模块301,用于将预置的初始声纹识别模型分别部署到多个终端,所述初始声纹识别模型包括时延神经网络TDNN和神经概率线性判别分析网络NPLDA,所述多个终端包括目标终端和与所述目标终端关联的多个关联终端;
数据获取模块302,用于获取目标终端发送的待识别语音数据,所述待识别语音数据为目标用户通过所述目标终端输入的语音,所述待识别语音数据的语音时长大于阈值;
声纹核身模块303,用于通过预置的历史存量数据对所述待识别语音数据进行声纹核身操作,所述历史存量数据包括多个语音数据集,每个语音数据集包括一个用户的多条注册语音数据,每个语音数据集对应的用户不同;
确定发送模块304,用于当所述待识别语音数据通过声纹核身操作时,将多个匿名声纹向量确定为负样例数据并发送至所述目标终端,以使得所述目标终端根据所述负样例数据以及所述目标终端本地的正样例数据对所述初始声纹识别模型进行梯度计算,得到所述目标终端对应的目标模型梯度,所述匿名声纹向量为其他用户的说话语音特征,所述其他用户为除所述目标用户之外的用户;
获取聚合模块305,用于获取所述多个关联终端发送的多个关联模型梯度,并采用联邦聚合平均算法对多个关联模型梯度和目标模型梯度进行聚合,得到聚合梯度,其中,每个关联终端对应一个关联模型梯度;
发送模块306,用于将所述聚合梯度发送到所述多个终端,以使得每个终端根据所述聚合梯度对所述初始声纹识别模型进行优化。
在一实施例中,声纹识别模型的优化装置300还包括:
构建训练模块307,用于构建初始模型并对初始模型进行离线训练,得到初始声纹识别模型。
在一实施例中,所述构建训练模块307,包括:
第一提取单元3071,用于从神经网络特征提取器x-vector中提取前6层时延网络TDNN结构,并将所述前6层TDNN结构作为初始模型的前置部分;
第二提取单元3072,用于从神经概率线性判别分析网络NPLDA中提取后3层网络结构,并将所述后3层网络结构作为初始模型的后续部分;
组合单元3073,用于将所述前置部分和所述后续部分组合初始模型,所述初始模型包括9层网络结构;
获取单元3074,用于获取初始训练语料,所述初始训练语料包括同一用户的语音对和不同用户的语音对;
训练单元3075,用于根据所述初始训练语料对所述初始模型进行训练,得到初始声纹识别模型。
在一种可行的实施方式中,所述训练单元3075具体用于:
将所述初始训练语料输入所述初始模型,计算所述初始模型的检测代价函数;
当所述检测代价函数的值小于预设值时,确定所述初始模型完成训练,得到初始的声纹识别模型。
在一种可行的实施方式中,所述声纹核身模块303包括:
确定单元3031,用于将所述待识别语音数据对应的目标用户确定为待核身用户;
匹配单元3032,用于在所述预置的历史存量数据的多个语音数据集中确定与所述待核身用户匹配的目标语音数据集,所述目标语音数据集包括所述待核身用户的多条注册语音数据;
第一计算单元3033,用于根据所述目标语音数据集和所述待识别语音数据输入所述初始声纹识别模型,计算在预置错误接受率下的评分值,并将所述评分值确定为声纹核身的目标阈值;
声纹核身单元3034,用于根据所述目标阈值调用所述初始声纹识别模型对所述待识别语音数据进行1:1声纹核身操作。
在一种可行的实施方式中,所述声纹核身模块303还包括:
第二计算单元3035,用于计算所述初始声纹识别模型的目标等错误率值;
更新单元3036,用于当所述目标等错误率值小于或等于预设警戒值时,基于所述目标阈值对所述初始声纹识别模型进行更新;
发送单元3037,当所述目标等错误率值大于所述预设警戒值时,向管理中心发送预警消息。
在一种可行的实施方式中,所述获取聚合模块305具体用于:
确定所述初始声纹识别模型的当前权重并将所述当前权重下发至每个终端;
获取所述目标模型梯度对应的目标权重;
获取所述多个关联终端发送的多个关联模型梯度以及每个关联模型梯度对应的关联权重;
基于联邦聚合平均算法、所述目标模型梯度、所述目标权重、所述多个关联模型梯度以及所述每个关联模型梯度对应的关联权重进行计算,得到聚合梯度和更新后的权重;
将所述聚合梯度和所述更新后的权重发送至每个终端。
本申请实施例中,通过联邦学习算法将训练任务由中央云服务器统筹,再以分布式的方式分发到各个终端进行联合训练,整个过程通过加密训练完成,保证了客户的数据安全和隐私,同时实现模型的实时优化,提高对线上用户声纹核身准确率的目的。
上述声纹识别模型的优化装置可以实现为计算机程序的形式,该计算机程序可以在如图4所示的计算机设备上运行。
请参阅图4,图4是本申请实施例提供的计算机设备的示意性框图。该计算机设备400是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图4,该计算机设备400包括通过系统总线401连接的处理器402、存储器和网络接口405,其中,存储器可以包括存储介质403和内存储器404。
该存储介质403可存储操作系统4031和计算机程序4032。该计算机程序4032被执行时,可使得处理器402执行声纹识别模型的优化方法。
该处理器402用于提供计算和控制能力,支撑整个计算机设备400的运行。
该内存储器404为存储介质403中的计算机程序4032的运行提供环境,该计算机程序4032被处理器402执行时,可使得处理器402执行声纹识别模型的优化方法。
该网络接口405用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备400的限定,具体的计算机设备400可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器402用于运行存储在存储器中的计算机程序4032,以实现本申请实施例公开的声纹识别模型的优化方法。
本领域技术人员可以理解,图4中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图4所示实施例一致,在此不再赘述。
应当理解,在本申请实施例中,处理器402可以是中央处理单元(CentralProcessing Unit,CPU),该处理器402还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本申请的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质,也可以为易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本申请实施例公开的声纹识别模型的优化方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:训练方法、声纹识别方法、装置和电子设备