本发明涉及模式识别与人工智能技术领域,尤其涉及一种基于t分布概率线性判别的深度神经网络模型短语音说话人确认方法。
背景技术:
说话人识别也叫声纹识别,作为一种有效的生物特征识别方式其在互联网、军事领域以及银行等领域应用非常广泛。以声音作为识别特征,具有接受度高、所需成本低、可扩展性好等优点。短语音说话人确认作为说话人识别领域的一个重要研究分支,具有更加广泛的应用前景。短语音说话人确认具有无监督、训练速度快、数据容量较大等特点,然而在实际应用中,能够提取到的说话人语音较短,导致识别性能不稳定。故需要对说话人模型的性能和学习能力再改进,而深度神经网络作为一种含有多个隐藏层的多层感知器,具有很强的非线性建模能力和特征表达能力,能够从大量的复杂数据中学习到合适且有效的特征。因此用它构建说话人模型可以进一步提高说话人识别系统的性能和学习能力。
最近几年,深度学习发展越来越迅速,深度神经网络dnn技术已经在学术界和商业界研究人员的密切合作下,在语音识别领域得到了广泛的应用。p.kenny提出联合因子分析(jfa)方法,认为gmm均值超矢量中蕴含着说话人空间和信道空间,分别对两个空间的差异来建模以此来降低信道带来的干扰,得到对说话人身份更准确的描述。n.dehak和p.kenny提出身份认证矢量(i-vector)模型,i-vector模型将说话人差异和信道差异作为一个整体建模,可以有效去除信道中携带的部分说话人信息,随后,基于i-vector的说话人识别模型成为说话人识别领域的一种主流框架,因其具有强大的特征学习能力所以被广泛应用到说话人识别技术中。虽然在说话人确认系统的这些研究已经取得了令人满意的效果,然而这些传统的方法都集中在减少开发、注册和验证过程中所需语音的长度方面,这会造成短语音说话人确认识别的准确率降低,系统性能下降。因此,短语音说话人确认系统的识别准确率和性能还有待提升。
技术实现要素:
本发明的目的在于提供一种基于t分布概率线性判别的深度神经网络模型短语音说话人确认方法,旨在克服现有之缺陷,有效地解决训练过程中存在的梯度消失以及语音易受背景噪声、信道畸变影响偏离类中心的问题。
为了实现上述目的,本发明提供一种基于t分布概率线性判别的深度神经网络模型短语音说话人确认方法,包括:
对原始语音数据进行处理,以获得训练语音参数和测试语音参数;
采用所述训练语音参数对改进的深度神经网络模型进行训练,获得训练后模型,并采用所述测试语音参数对所述训练后的模型进行测试,以获得目标说话人确认的dnn模型;
通过模型的系统判决层接收所述目标说话人确认的dnn模型的分类结果,并输出对测试语音参数确认结果,以实现对短语音说话人的确认。
一种实现方式中,所述对原始语音数据进行处理,以获得训练语音参数和测试语音参数的步骤,包括:
对连续语音模拟信号进行采样和量化,编码成数字音频信号;
采用一阶fir高通滤波器再对得到的数字音频信号进行预加重处理;
将预加重处理的信号进行分帧,再从每帧提取片段后采用汉明窗对信号进行加权;
对语音信号利用短时过零率法和短时能量法相结合的方法进行端点检测;
对语音信号进行特征提取以获得训练语音参数和测试语音参数,其中,采用语音信号的梅尔频率倒谱系数作为特征提取的对象。
可选的,在所述获得目标说话人确认的dnn模型的步骤之后,所述方法还包括:
通过ht-plda信道补偿技术与所述目标说话人确认的dnn模型相结合对目标说话人的语音信道进行后端补偿;
所述通过模型的系统判决层接收所述目标说话人确认的dnn模型的分类结果,并输出对测试语音参数确认结果,以实现对短语音说话人的确认的步骤包括:
通过模型的系统判决层接收后端信道补偿后的所述目标说话人确认的dnn模型的分类结果,并输出对测试语音参数确认结果,以实现对短语音说话人的确认。
一种实现方式中,通过模型的系统判决层对测试语音参数确认结果的具体表达为:
其中,s表示假设说话人模型的个数,其对应的gmm模型参数分别λ1,λ2,…λs,x={xt,t=1,2,…t)为目标说话人语音样本的特征参数序列;p(λk)=1/s,(1≤k≤s)为说话人识别中每个说话人具有相同的先验概率,p(x)为先验概率的值,是固定值;
可选的,对深度神经网络进行改进的步骤包括:
采用nrelu代替sigmoid函数作为深度神经网络的激活函数;
使用逐层贪婪训练方法对各层的rbm进行逐层无监督训练,将下层rbm的输出作为上层rbm的输入,直至最后一层隐含层,并将最后一层隐含层输入到softmax分类器;
通过估计误差进行反向bp微调。
一种实现方式中,所述通过ht-plda信道补偿技术与所述目标说话人确认的dnn模型相结合对目标说话人的语音信道进行后端补偿的步骤:
将联合因子分析算法中说话人因子分量和信道因子分量同时映射在一个低维空间中,作为一个整体进行建模;
经因子分析提取的i-vector仍包含说话人信息和信道信息,采用服从t分布的plda系统对神经网络的后端信道进行补偿。
应用本发明实施例提供的一种基于t分布概率线性判别的深度神经网络模型短语音说话人确认方法,具备的有益效果如下:
(1)在说话人模型层面,考虑到神经网络中存在的梯度消失问题,采用nrelu与rbm预训练模型相结合的方式对深度神经网络进行改进。有效地解决训练过程中存在的梯度消失问题,在很大程度上提升了短语音说话人识别的准确率,减少了模型训练的时间,极大提高了模型性能。
(2)在说话人信道补偿方面,考虑到短语音说话人确认中待识别说话人语音长度较短的问题,设计了基于dnn-senone的ht-plda系统提取i-vectors并进行信道补偿的方法。解决了语音易受背景噪声、信道畸变影响偏离类中心的问题,提升了系统的后端信道补偿能力,并使得系统的性能有所提升。
附图说明
图1是本发明实施例一种基于t分布概率线性判别的深度神经网络模型短语音说话人确认方法的流程示意图。
图2是本发明基于ubm的i-vector提取流程图。
图3是本发明基于dnn-senone的i-vector提取流程图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
如图1本发明提供一种基于t分布概率线性判别的深度神经网络模型短语音说话人确认方法,包括:
s110,对原始语音数据进行处理,以获得训练语音参数和测试语音参数;
需要说明的是,对原始数据进行预处理,预处理部分包括采样和量化、分帧加窗、最后进行端点检测。具体的,对于语音原始数据,首先对连续语音模拟信号进行采样和量化,采样的过程是每隔一段时间对模拟信号取一个幅度值,根据奈奎斯特定理,为了保持原始模拟声音信号波形的完整性,需以至少是声音信号频谱的最高频率的两倍来对信号进行采样。再根据幅度将采样后的信号分成有限的区段集合,将相同的量化值分配给相同的区间,最后编码成数字音频信号。
在经过采样和量化之后,采用一阶fir高通滤波器再对得到的数字音频信号进行预加重,可以减少噪音对语音信号的影响。一阶fir高通滤波器的传递函数如下:
h(z)=1-az-1
其中,a表示预加重系统,本设计的a取值为0.9375。
再将信号进行分帧和加窗,在这一部分对信号分成若干部分进行分析,即分帧,再从每帧提取10-30ms,最后选用汉明窗对信号进行加权。
为了确定带有噪声语音的纯噪声段、以及含有噪声的段和每个语音段的起点和终点,对语音信号利用短时过零率法和短时能量法相结合的方法进行端点检测。再对语音信号进行特征提取获得符合深度网络模型输入的信号,本发明采用语音信号的梅尔频率倒谱系数(mfcc)作为特征提取的对象。mfcc作为一种“低级”特征因其固有的低复杂性而被广泛使用。
s120,采用所述训练语音参数对改进的深度神经网络模型进行训练,获得训练后模型,并采用所述测试语音参数对所述训练后的模型进行测试,以获得目标说话人确认的dnn模型;
可以理解的是,为有效地解决训练过程中存在的梯度消失问题,提高短语音说话人确认的性能,本发明采用nrelu激活函数和rbm预训练模型相结合,对深度神经网络进行改造,从而获得最佳的dnn模型。说话人建模层具体的工作步骤如下:
深度神经网络是传统前馈人工神经网络的扩展,是一个多隐藏的多层感知器,深度神经网络包括输入层、隐藏层和输出层。这里用0层表示输入层,用l层表示输出层。不同于浅层网络,dnn可以由多个隐层,当前隐藏层的输出为下一个隐藏层或者输出层的输入。
对于任意第l(0<l<l)层
zl=wlvl-1 bl
vl=f(zl)
其中,
本发明采用nrelu代替传统的sigmoid函数作为深度神经网络的激活函数。
整流线型单元函数的数学表达式为:
relu(z)=max(0,z)
考虑到relu的一个问题是其函数值无界,所以需要额外的惩罚因子对过大的参数进行限制。因此,根据以下公式对其权重和偏置进行调整:
将网络的输出修改为:
因此,只要满足
对于多分类任务,每个输出层代表一个类i∈{1,…,c},本发明用softmax函数把输入转换成各不同类别的后验概率来进行归一化,其数学表达式如下:
其中,
对于语音信号来说其特征取值是连续的,故本发明采用高斯-伯努利分布的rbm(gaussian-bernoullirbm)。为了使得各个神经单元都能表达更多的信息,将伯努利单元看作是m个单元的重复叠加,他们使用的是相同的权重和偏移量。在此基础上,对该模型进行修正,在原有偏移量的基础上加上轻微的偏移量,使得m个单元的权重和偏移量依然不发生变化。假设这些偏移量分别取-0.5,-1,-1.5...。得到整个模型的概率如下:
m为rbm网络中的神经单元个数,i(取值为1,2,…m)表示为rbm网络中的第i个神经元,x为引入的函数变量。
该模型相当于在平滑的整流线性单元中添加少量噪声,考虑到针对不同的单元使用不同的偏移会在计算每个整数值的概率时都需要使用sigmoid函数。使用relu会使神经元的取值为实数。故本发明采用了加入了噪声的relu,即nrelu。nrelu的函数如下所示:
max(0,x n(0,v))
其中,n(0,v)表示均值为0,方差为v的高斯分布。
然后,再利用逐层贪婪训练方法对各层的rbm进行逐层无监督训练。将下层rbm的输出作为上层rbm的输入,直到最后一层隐含层,再将最后一层隐含层输入到softmax分类器。
最后,利用估计误差进行反向bp微调。由多层rbm构成的网络通过无标签数据就可以学习到经验,减少对有标签数据的需求,节省了训练收敛的时间。
需要说明的是,为有效的解决语音段长度受限的问题,从而更好地确认说话人的身份,实现对短语音说话人的识别,本发明采用基于dnn-senone的ht-plda系统代替传统的基于gmm-ubm的gplda系统,基于t分布的概率线性判别方法其样本偏离均值可能性更大,与语音易受背景噪声,信道畸变影响偏离类中心的特性一致,因此对说话人因子的假设采用t分布可以获得更好的性能。同时dnn-senone在说话人识别方面具有良好的效果,基于有监督的dnn-senone后验方法可以积累足够的统计量。故本发明采用基于dnn-senone的ht-plda系统从信道补偿方面对现有深度网络加以改进。后端信道补偿层的具体工作步骤如下:
i-vector的提取,i-vector技术将说话人总变异空间的概念引入,将联合因子分析算法中说话人因子分量和信道因子分量同时映射在一个低维空间中,作为一个整体进行建模。可用以下公式表示:
m(s)=m0 tw ε
其中,m(s)是说话人语音在ubm上后验得到的均值超矢量;m0是ubm的均值超向量,与说话人和信道都无关,代表所有人在任意信道下的均值超向量的平均值;t为总变异空间,是一个低秩的全局差异空间矩阵;w为总变化因子,即i-vector低维矢量,服从标准正态分布n(0,1);ε为残差,服从分布n(0,n)。该模型中因子数由3个减小至1个,并且只需要估计一个空间矩阵t。在估计t之前,先计算baum-welch统计量,计算公式如下所示:
其中,c代表高斯元件下标,l代表语音帧数,xt代表f维语音特征向量,p(c|xt)代表xt在元件c下的后验概率,mc代表元件c的均值矢量。nc代表零阶统计量,由nc为主对角线元素可以构成cf×cf维的方阵n(s)。超矢量fc是f×1维的一阶统计量,
对于给定的一段语音,用以下公式提取相应的i-vector:
其中,σ为ubm的协方差矩阵;n是高斯元件的状态占有率;
基于ddnn-senone后验方法利用自动语音识别(asr)特征来计算dnn后验概率,并且使用说话人特征来进行充分的统计估计。dnn参数使用转录训练集进行训练。一旦积累了足够的统计数据,就以上述方式进行i-vectors提取。在开发和评估数据i-矢量特征提取后,可以采用与基于gmm-ubm的gplda相同的方法对其进行建模和打分。dnn-senone的i-vector提取流程图如附图3。
采用基于dnn-senone的ht-plda系统,经因子分析提取的i-vector仍包含说话人信息和信道信息,但由于i-vector是低维的,所以可以在此基础上运用复杂的信道补偿方法。ht-plda分布是一个重尾分布,与gplda相比,它们都是单峰的,但服从t分布的plda不易受到高斯建模的一些已知问题的影响。故本发明采用服从t分布的plda系统对神经网络的后端信道进行补偿。
本发明将训练语音参数输入到上述改进好的深度神经网络模型进行训练,获得训练后模型,并采用测试语音参数对训练后的模型进行测试,从而获得目标说话人确认的dnn模型。
目标说话人确认的dnn模型分为两部分:一部分是说话人训练,另一部分是说话人测试部分。在说话人训练部分,引入了一个深度学习模型,并且使用不同的语音特征作为输入数据。对于测试部分,使用长度不同的训练语音来测试并通过观察和分析获得测试结果。
在训练部分,所有训练语音都根据所述预处理操作将训练语音的特征参数提取出来,再将其以深度置信网络输入端的可视层神经元的状态输入至深度信念网络训练模型中。经过吉布斯采样,softmax等过程,通过迭代获得深度信念网络模型的每层参数,进而完成训练过程。
在说话人识别测试部分,为了得到深度学习模型的输入数据,需要通过预处理和特征提取来获取深度学习模型的输入数据,然后通过已经训练好的深度学习模型来获得测试语音的预测标签。将预测标签与已知测试语音对应的训练标签进行比较,若语音预测标签与训练标签相同,则说明该识别的结果是正确的,以此实现对短语音说话人的确认。
s130,通过模型的系统判决层接收所述目标说话人确认的dnn模型的分类结果,并输出对测试语音参数确认结果,以实现对短语音说话人的确认。
可以理解的是,对于一个完整的短语音说话人确认模型,在得到训练和测试语音信号的特征参数、完成了深度学习模型的训练后,通过模型的系统判决层接收了目标说话人确认的dnn模型的分类结果,并输出对测试语音参数确认结果,需要对输出的测试语音参数确认结果进行评分以实现对短语音说话人的确认。本发明采用的是基于传统gmm-ubm的gplda相同的方法对其打分。gmm模型可以通过m个高斯概率密度函数的线性加权获得。它用于拟合特定说话人语音特征向量xt的概率分布,概率计算公式如下公式所示:
其中,m为高斯概率密度函数的个数,wi为高斯混合权重,p(xt|λ)为计算所得的特定说话人语音特征向量xt的概率分布。高斯混合权重ωi为正实数,其和为1:
pi(xt)(i=1,···,m)为高斯混合模型中的概率密度函数:
其中,d为特征参数向量的维数;μi为第i个高斯分布的d维均值向量;∑i为第i个高斯分量的对角线协方差矩阵。当m很大时,可以将协方差矩阵设置为相同的矩阵。
在gmm模型中,需要进行估计的参数为:
λ={ωi,μi,∑i},1≤i≤m
其中,ωi为高斯密度函数的权重,μi为均值向量,∑i为协方差矩阵。
gmm模型的训练是基于最大似然准则(maximumlikelihood,ml),利用最大期望em算法来对特定说话人gmm的参数λ进行估计。在ml准则下,模型参数满足如下条件:
其中,假设目标说话人语音样本的特征参数序列是xt(t=1,2,…t),参数λ由期望最大(expectationmaximization,em)算法求得,当训练样本的各个特征参数xt之间独立并且不相关,则依据上述似然度计算公式可以求得gmm更新后的参数λ*。
em算法首先通过k均值聚类算法获得模型参数的初始值,然后计算模型参数可以分为两步:第一步是估计某个高斯分量的隐函数的参数估计值,将该步称为e步骤;第二步是最大化隐藏函数来获取
更新后的模型参数估计值,将此步称为m步骤。通过连续迭代将模型的参数调整为收敛,就可以得到新的模型参数,具体计算公式如下:
根据上述公式便可以计算得到gmm模型的权重wi(i=1,2,…m),均值μi(i=1,2,…m),协方差矩阵∑i(i=1,2,…m)这三个参数值,其中γi(xt)是特征向量xt属于第i个高斯上的后验概率,计算公式为:
最后,根据上述模型匹配,可以找到具有最大后验概率的目标说话人,并获得说话人识别结果,其表达式为:
其中,假设说话人模型有s个,其对应的gmm模型参数分别λ1,λ2,…λs,x={xt,t=1,2,…t)为目标说话人语音样本的特征参数序列。p(λk)=1/s,(1≤k≤s)为说话人识别中每个说话人具有相同的先验概率。p(x)为先验概率的值,是固定值。
其中,假设说话人模型有s个,其对应的gmm模型参数分别λ1,λ2,…λs,x={xt,t=1,2,…t)为目标说话人语音样本的特征参数序列。p(λk)=1/s,(1≤k≤s)为说话人识别中每个说话人具有相同的先验概率。p(x)为先验概率的值,是固定值。
通过采用最大后验概率(map)可以找到具有最大后验概率的目标说话人
需要说明的是,在完成了测试语音的预处理后得到其测试标签,再将测试标签和已知的训练标签进行比较,若语音测试标签与训练标签相同,则说明该识别的结果是正确的,由此可以判断待测试说话人的身份。通过大量的测试数据即可获得说话人确认系统的识别率。本发明采用的是等错误率(eer)和最小检测代价函数(mindcf)作为说话人确认系统的性能评价指标.等错误率是指错误拒绝率和错误接受率相等时的错误率,等错误率越低表示说话人系统性能越好。检测代价函数的计算公式如下所示:
dcf=frr×cfrr×ptarget far×cfar×(1-ptarget)
其中,cfrr和cfar分别为错误拒绝率代价、错误接受率代价,ptarget表示目标说话人的先验概率。一般,常采用最小检测代价评价系统性能。mindcf可以通过改变置信度门限θ,找到dcf的最低值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
本文用于企业家、创业者技术爱好者查询,结果仅供参考。