当前位置: 首页 > 专利查询>清华大学专利>正文

基于DNN模型和支持向量机模型的说话人个数估计方法技术

技术编号:15725805 阅读:293 留言:0更新日期:2017-06-29 16:26
本发明专利技术提出基于DNN模型和支持向量机模型的说话人个数估计方法,属于语音信号处理和深度学习领域。模型训练阶段,首先获取N个说话人的训练语音数据,得到深度神经网络DNN模型;然后获取M个说话人的训练语音数据,每个说话人的梅尔倒谱特征对应DNN模型的N个输出概率,组成M个说话人的N维特征,建立M个支持向量机SVM模型;说话人个数估计阶段,将每条待测语音数据的梅尔倒谱特征输入DNN模型得到N维特征并依次输入M个SVM模型中评分,得分最高的SVM模型即为该条待测语音数据所对应的类别,类别总个数即为估计的说话人个数。该方法解决多说话人场景中说话人个数计算不准确的问题,提高语音数据中说话人个数估计的准确率。

【技术实现步骤摘要】
基于DNN模型和支持向量机模型的说话人个数估计方法
本专利技术属于语音信号处理领域和深度学习领域,具体涉及一种基于DNN模型和支持向量机模型的说话人个数估计方法。
技术介绍
随着语音信号处理技术和语音识别技术的快速发展,说话人标记的应用场景越来越复杂,从简单的如电话记录的两个说话人场景,到今天广泛应用的如会议记录的多个说话人场景。由于说话人标记的效果和说话人个数估计密切相关,提高说话人个数估计的准确率能够改进说话人标记系统,提升标记的准确率。说话人个数估计首先要对语音数据进行预处理,提取特征。最常用的特征是一种基于人耳听感知理论的梅尔倒谱特征,目前广泛应用于说话人识别、语种识别以及连续语音识别等。梅尔倒谱特征提取首先对语音数据进行预加重和分帧加窗,然后对分帧加窗后的数据进行快速傅里叶变换,得到对应的频谱,并通过梅尔频标三角窗滤波器进行滤波,最后进行离散余弦变换得到梅尔倒谱特征。现有的说话人数个数估计方法大多采用凝聚层次聚类(AgglomerativeHierarchicalCluster,AHC)方法,该方法首先进行说话人变化点检测,对语音数据进行分割,以达到对说话人进行分割,再对分割后的各段语音数据基于贝叶斯信息准则进行聚类,最终确定说话人数目。现有技术中估计说话人个数的结果的准确性完全依赖于说话人分割和聚类的准确性,而说话人分割受到步长的影响,步长多是根据经验确定,所以难免出现设定的步长不合适的情况,从而影响说话人分割的准确性及后续聚类的准确性;此外,在聚类时贝叶斯距离受语音时长的影响,主要表现为一般情况下语音时长越长其贝叶斯距离越大,因而在对不同时长的语音进行说话人聚类时,难以用统一的阈值进行聚类停止条件的判断,使得说话人数目判断存在较大误差,最终影响说话人标记的效果。支持向量机(SupportVectorMachine,SVM)是一种二类分类模型,需要找到特征空间上的间隔最大的线性分类器,即支持向量机模型的学习策略便是间隔最大化。它的最终模型只由少数支持向量决定,计算复杂度取决于支持向量的个数,而不是所有的样本,有助于抓住关键样本、剔除大量冗余样本,从而使算法更具稳健性,增加或删除一些训练样本对最终模型的影响很小,并可以很好地避免维数灾难和局部极小值问题。由于这些优点,SVM模型在说话人识别领域中广泛应用。深度神经网络(DeepNeuralNetwork,DNN)是一种模拟人脑神经网络,以实现类人工智能的机器学习技术。近年来,基于深度神经网络DNN模型的说话人识别系统受到越来越多的关注,相比于传统的高斯混合模型(GaussianMixtureModel,GMM),DNN模型的描述能力更强,能够更好地模拟非常复杂的数据分布,充分逼近复杂的非线性关系,基于DNN模型的说话人识别系统取得显著的性能提升。DNN模型包含输入层、隐含层和输出层。输入层对应语音数据的特征,输入层节点数根据特征的维数而定。输出层对应各个说话人的概率,输出层节点数根据总共需要识别的说话人的个数而定。隐含层层数和节点数根据应用需要及工程经验定义。DNN模型训练时,先进行非监督训练再进行监督训练。非监督训练时把每相邻的两层网络当成一个受限玻尔兹曼机,用CD‐k算法逐层进行训练。进行监督训练时,使用非监督训练得到的DNN模型参数作为初值,再用后向传播算法对DNN模型参数进行精确调整。
技术实现思路
本专利技术的目的是为克服已有技术的不足之处,提供一种基于DNN模型和支持向量机模型的说话人个数估计方法。该方法解决多说话人场景中说话人个数计算不准确的问题,提高语音数据中说话人个数估计的准确率。本专利技术提出的一种基于DNN模型和支持向量机模型的说话人个数估计方法,分为模型训练阶段和说话人个数估计阶段两个阶段,包括以下步骤:1)模型训练阶段;模型训练阶段分为DNN模型训练阶段和支持向量机SVM模型训练阶段两个阶段;具体包括以下步骤:1‐1)DNN模型训练阶段:获取N个说话人的训练语音数据,提取每条训练语音数据的特征,设置DNN模型的层数和节点数,对DNN模型进行训练,得到DNN模型参数;1‐2)支持向量机SVM模型训练阶段:获取M个说话人的训练语音数据,提取M个说话人的训练语音数据的特征,输入到步骤1‐1)得到的DNN模型中,产生M组说话人各自对应的N维特征,得到M个说话人的各自对应的SVM模型;2)说话人个数估计阶段,具体包括以下步骤:2‐1)获取待测语音数据,对待测语音数据进行预处理,得到待测语音数据对应的梅尔倒谱特征及其一阶、二阶导数,共60维;2‐2)将步骤2‐1)得到的每条待测语音数据的梅尔倒谱特征输入到步骤1‐1)得到的DNN模型中,每条待测语音数据的60维梅尔倒谱特征对应得到DNN模型的输出层输出的该条待测语音数据的N个输出概率,将得到的每条待测语音数据的N个输出概率组成该条待测语音数据的N维特征;2‐3)将步骤2‐2)得到的任意一条待测语音数据的N维特征依次输入到步骤1‐2)得到的M个说话人各自对应的对应的SVM模型中,每个SVM模型对该条待测语音数据进行评分,根据每个SVM模型评分结果判断该条待测语音数据对应的说话人和SVM模型所对应的M个说话人的相近程度,得分最高的SVM模型即为该条待测语音数据所对应的类别,该SVM模型所对应的说话人即为该条待测语音数据的近似说话人;2‐4)重复步骤2‐3),将所有待测语音数据的N维特征分别输入M个SVM模型中,对所有待测语音数据进行分类,得到的类别总个数Q即为估计得到的待测语音数据的说话人个数,Q≤M。所述步骤1-2)DNN模型训练阶段,具体包括以下步骤:1‐1‐1)获取N个说话人的训练语音数据;对训练语音数据进行预处理,提取每条训练语音数据的梅尔倒谱特征及其一阶、二阶导数,总共60维;1‐1‐2)设置DNN模型的层数和节点数;DNN模型分为输入层、隐含层和输出层三个层次;其中,输入层对应步骤1‐1‐1)得到的每条训练语音数据的梅尔倒谱特征及其一阶、二阶导数,共60维,则输入层节点数设置为60个;输出层的节点数等于所需识别的说话人个数N,每个节点的输出分别对应每个说话人的概率;隐含层用于自动提取不同层次的特征,每层隐含层的节点数代表该层隐含层所提取的特征的维度;1‐1‐3)对DNN模型进行训练,得到DNN模型参数;根据步骤1‐1‐1)得到的N个说话人的训练语音数据的梅尔倒谱特征及一阶、二阶导数,对DNN模型进行训练,得到DNN模型参数;DNN模型参数包括相邻两层的连接权重和每个节点的偏置;相邻两层的连接权重,表达式如式(1)所示:式中,Wi,i+1为有Pi行、Pi+1列的矩阵,其中表示DNN模型第i层的第m个节点和第i+1层的第n个节点的连接权重;每个节点的偏置,表达式如式(2)所示:式中,表示DNN模型第j层中第k个节点的偏置;对DNN模型先进行非监督训练:把DNN模型中每相邻的两层组成一个受限玻尔兹曼机,利用对比散度CD算法对每个受限玻尔兹曼机分别进行训练;依次训练所有的受限玻尔兹曼机,得到DNN模型参数的初始值;再进行监督训练:使用非监督训练得到的DNN模型参数初始值,利用后向传播算法对DNN模型参数进行精确调整,得到DNN模型参数的最终值。所述步骤1-3)支持向量机SVM模型训本文档来自技高网
...
基于DNN模型和支持向量机模型的说话人个数估计方法

【技术保护点】
一种基于DNN模型和支持向量机模型的说话人个数估计方法,其特征在于,分为模型训练阶段和说话人个数估计阶段两个阶段,包括以下步骤:1)模型训练阶段;模型训练阶段分为DNN模型训练阶段和支持向量机SVM模型训练阶段两个阶段;具体包括以下步骤:1‐1)DNN模型训练阶段:获取N个说话人的训练语音数据,提取每条训练语音数据的特征,设置DNN模型的层数和节点数,对DNN模型进行训练,得到DNN模型参数;1‐2)支持向量机SVM模型训练阶段:获取M个说话人的训练语音数据,提取M个说话人的训练语音数据的特征,输入到步骤1‐1)得到的DNN模型中,产生M组说话人各自对应的N维特征,得到M个说话人的各自对应的SVM模型;2)说话人个数估计阶段,具体包括以下步骤:2‐1)获取待测语音数据,对待测语音数据进行预处理,得到待测语音数据对应的梅尔倒谱特征及其一阶、二阶导数,共60维;2‐2)将步骤2‐1)得到的每条待测语音数据的梅尔倒谱特征输入到步骤1‐1)得到的DNN模型中,每条待测语音数据的60维梅尔倒谱特征对应得到DNN模型的输出层输出的该条待测语音数据的N个输出概率,将得到的每条待测语音数据的N个输出概率组成该条待测语音数据的N维特征;2‐3)将步骤2‐2)得到的任意一条待测语音数据的N维特征依次输入到步骤1‐2)得到的M个说话人各自对应的对应的SVM模型中,每个SVM模型对该条待测语音数据进行评分,根据每个SVM模型评分结果判断该条待测语音数据对应的说话人和SVM模型所对应的M个说话人的相近程度,得分最高的SVM模型即为该条待测语音数据所对应的类别,该SVM模型所对应的说话人即为该条待测语音数据的近似说话人;2‐4)重复步骤2‐3),将所有待测语音数据的N维特征分别输入M个SVM模型中,对所有待测语音数据进行分类,得到的类别总个数Q即为估计得到的待测语音数据的说话人个数,Q≤M。...

【技术特征摘要】
1.一种基于DNN模型和支持向量机模型的说话人个数估计方法,其特征在于,分为模型训练阶段和说话人个数估计阶段两个阶段,包括以下步骤:1)模型训练阶段;模型训练阶段分为DNN模型训练阶段和支持向量机SVM模型训练阶段两个阶段;具体包括以下步骤:1‐1)DNN模型训练阶段:获取N个说话人的训练语音数据,提取每条训练语音数据的特征,设置DNN模型的层数和节点数,对DNN模型进行训练,得到DNN模型参数;1‐2)支持向量机SVM模型训练阶段:获取M个说话人的训练语音数据,提取M个说话人的训练语音数据的特征,输入到步骤1‐1)得到的DNN模型中,产生M组说话人各自对应的N维特征,得到M个说话人的各自对应的SVM模型;2)说话人个数估计阶段,具体包括以下步骤:2‐1)获取待测语音数据,对待测语音数据进行预处理,得到待测语音数据对应的梅尔倒谱特征及其一阶、二阶导数,共60维;2‐2)将步骤2‐1)得到的每条待测语音数据的梅尔倒谱特征输入到步骤1‐1)得到的DNN模型中,每条待测语音数据的60维梅尔倒谱特征对应得到DNN模型的输出层输出的该条待测语音数据的N个输出概率,将得到的每条待测语音数据的N个输出概率组成该条待测语音数据的N维特征;2‐3)将步骤2‐2)得到的任意一条待测语音数据的N维特征依次输入到步骤1‐2)得到的M个说话人各自对应的对应的SVM模型中,每个SVM模型对该条待测语音数据进行评分,根据每个SVM模型评分结果判断该条待测语音数据对应的说话人和SVM模型所对应的M个说话人的相近程度,得分最高的SVM模型即为该条待测语音数据所对应的类别,该SVM模型所对应的说话人即为该条待测语音数据的近似说话人;2‐4)重复步骤2‐3),将所有待测语音数据的N维特征分别输入M个SVM模型中,对所有待测语音数据进行分类,得到的类别总个数Q即为估计得到的待测语音数据的说话人个数,Q≤M。2.如权利要求1所述的方法,其特征在于,所述步骤1-2)DNN模型训练阶段,具体包括以下步骤:1‐1‐1)获取N个说话人的训练语音数据;对训练语音数据进行预处理,提取每条训练语音数据的梅尔倒谱特征及其一阶、二阶导数,总共60维;1‐1‐2)设置DNN模型的层数和节点数;DNN模型分为输入层、隐含层和输出层三个层次;其中,输入层对应步骤1‐1‐1)得到的每条训练语音数据的梅尔倒谱特征及其一阶、二阶导数,共60维,则输入层节点数设置为60个;输...

【专利技术属性】
技术研发人员:何亮徐灿陈仙红刘艺田垚刘巍巍刘加
申请(专利权)人:清华大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1