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

一种基于角度间隔损失函数的声纹识别方法技术

技术编号:21402129 阅读:18 留言:0更新日期:2019-06-19 07:52
本发明专利技术公开了一种基于角度间隔损失函数(简称AM‑Softmax)的声纹识别方法,包括使用AM‑Softmax损失函数训练模型的步骤,以及对说话人身份进行识别和验证的步骤:首先利用已标注过说话人身份的语音数据,以AM‑Softmax损失函数为训练准则,训练深度神经网络模型;最后在识别和验证系统中,通过训练得到的深度神经网络模型提取表示说话人身份的特征向量,并和数据库中注册的人的特征向量进行比对,识别或验证说话人的身份。

【技术实现步骤摘要】
一种基于角度间隔损失函数的声纹识别方法
本专利技术涉及一种基于角度间隔损失函数(简称AM-Softmax)的声纹识别方法,涉及使用AM-Softmax损失函数的深度神经网络算法,特别适用于说话人声音接近,普通方法难以区分的情形。
技术介绍
声纹识别用于判断给定语音属于哪个身份,声纹验证用于判断给定语音是否和目标身份相匹配。目前,安全领域中声纹识别和声纹验证的需求正在快速增长。声纹数据采集方便,是最为经济、可靠、简便和安全的身份识别方式。声纹识别和声纹验证使用场景广泛,例如在银行、证券等金融领域的辅助身份验证环节;智能手机,智能门锁,智能音箱等智能设备的身份验证环节。主流的声纹识别算法,在过去的十年中由基于高斯混合模型-通用背景模型GMM-UBM提取的有效语音身份向量i-vector+PLDA(ProbabilisticLinearDiscriminantAnalysis,概率线性判别分析)逐渐演化为深度神经网络模型。I-vector是语音信号在低维全变量空间中说话人信息向量,后端使用PLDA来补偿信道。普通的深度神经网络模型通常使用交叉熵损失函数Softmax或者三元组损失函数TripletLoss。I-vector模型在长语音情况下保持着足够精度,但是在短语音的情况下,深度神经网络模型更加准确。基于交叉熵损失函数的神经网络在说话人声音很接近的情况下难以区分细微的差别,基于三元组损失函数的神经网络的训练时长与训练集规模成正比。随着声纹识别用户数的增加,越来越多声音接近的说话人的出现,交叉熵损失函数和三元组损失函数难以快速训练高精度深度神经网络模型,越来越多的短语音识别也使得i-vector效果难以达标。
技术实现思路
专利技术目的:目前的主流声纹验证方法包括基于高斯混合模型-通用背景模型GMM-UBM提取所述有效语音身份向量i-vector和通过深度神经网络模型提取的声纹特征向量。I-vector在短语音中效果不如深度神经网络,交叉熵损失函数和三元组损失函数难以快速训练高精度神经网络模型。针对上述问题,本专利技术提供了一种基于角度间隔损失函数(简称AM-Softmax)的声纹识别方法,采用增大角度间隔损失函数(简称AM-Softmax)来提升深度神经网络模型训练精度,同时深度神经网络提取的特征向量可以用于声纹识别和声纹验证的任务中。技术方案:一种基于角度间隔损失函数的声纹识别方法:首先初始化深度神经网络模型,使用AM-Softmax损失函数训练深度神经网络模型,再用训练好的深度神经网络模型提取代表说话人身份的声纹特征向量,和数据库中注册的声纹特征向量进行比对。包括使用AM-Softmax损失函数的深度神经网络模型训练方法,以及使用提取的特征向量进行声纹识别和声纹验证的流程。所述使用AM-Softmax损失函数的深度神经网络模型训练方法的具体步骤为:步骤100,利用已标记说话人的语音数据集,提取快速傅里叶变换得到的语音特征,作为深度神经网络模型的输入,对应说话人的身份作为训练的标签;步骤101,搭建深度神经网络模型,同时初始化深度神经网络模型各层的参数;步骤102,随机采集训练样本进行前向运算,归一化最后全连接层的权重和输入,使用AM-Softmax损失函数计算目标函数;步骤103,通过误差反向传播算法计算要训练模型参数的梯度,对参数进行更新;步骤104,保存训练后的深度神经网络模型的参数;基于训练完的深度神经网络模型进行声纹识别的具体步骤为:步骤200,使用目标语音作为深度神经网络模型的输入,进行前向运算;步骤201,判断目标说话人是否在训练数据集中。若是,则执行步骤202,若否,则执行步骤203,204;步骤202,使用深度神经网络模型最后一层的输出向量,取最大元素所在的位置对应的身份作为识别结果;步骤203,收集所需要识别的每个身份至少一条语音作为输入,通过神经网络前向运算,获得特定表示层(常用倒数第二层)的输出向量,作为声纹特征向量存于数据库中以备后续比对。同一身份的多条语音的多条声纹特征向量平均后存储;步骤204,使用神经网络特定表示层(常用倒数第二层)的特征向量,与数据库中已注册的声纹特征向量计算余弦距离,余弦距离最大的数据库声纹特征向量对应的身份作为识别结果;基于训练完的深度神经网络模型进行声纹验证的具体步骤为:步骤301,收集所需要验证的每个身份至少一条语音作为输入,通过神经网络前向运算,获得特定表示层(常用倒数第二层)的输出向量,作为声纹特征向量存于数据库中以备后续比对。同一身份的多条语音的多条声纹特征向量平均后存储;步骤302,使用神经网络特定表示层(常用倒数第二层)的输出向量,与数据库中已注册的对应身份的声纹特征向量计算余弦距离,余弦距离大于阈值表示验证成功,低于阈值表示验证失败;所述模型训练的具体流程为:首先搭建深度神经网络模型框架,然后随机初始化所要训练的模型参数,进入训练过程:先进行前向运算,计算基于AM-Softmax损失函数的目标函数,通过误差反向传播算法计算要训练模型参数的梯度,对参数进行更新;定义模型的目标函数如下:其中,L为损失函数,N为语音训练样本数,s为余弦距离的放缩因子超参数,yi为第i个样本的标签,为第i个样本和第i个标签分类角度,θj,i为第i个样本和第j个标签分类角度,c为训练样本中说话人总数,m为增加的角度间隔。将训练样本输入深度神经网络,进行前向运算,归一化深度神经网络模型最后全连接层权重,归一化最后一层输入,计算损失函数L,利用误差反向传播算法计算深度神经网络模型各层的梯度,并对参数进行更新;不断迭代本过程,直到训练完毕。本专利技术方法提供的声纹识别方法,可适用于各类设备的声纹识别系统,各类系统均可训练声纹模型和提取声纹特征向量,并配置在终端中,包括但不限于移动通信终端,个人计算机终端,便携式终端和其他语音交互的终端。附图说明图1为本专利技术实施的声纹模型训练工作流程图;图2为本专利技术实施的声纹识别工作流程图;图3为本专利技术实施的声纹验证工作流程图;图4为传统交叉熵损失函数的分类效果;图5为AM-Softmax损失函数的分类效果。具体实施方式下面结合具体实施例,进一步阐明本专利技术,应理解这些实施例仅用于说明本专利技术而不用于限制本专利技术的范围,在阅读了本专利技术之后,本领域技术人员对本专利技术的各种等价形式的修改均落于本申请所附权利要求所限定的范围。基于角度间隔损失函数(简称AM-Softmax)的声纹识别方法,训练工作流程如图1所示。首先整理有标记说话人的语音数据集,为每个说话人分配训练标签(步骤10)。接着搭建深度神经网络模型,初始化深度神经网络模型各层的参数(步骤11)。对有标记说话人的数据集进行采样,采样的数据通过快速傅里叶变换变换作为深度神经网络模型的输入(步骤12),进行前向运算,归一化最后全连接层的输入和权重(步骤13)。然后基于AM-Softmax损失函数计算深度神经网络模型的目标函数(步骤14),再利用误差反向传播算法计算各层的梯度并对参数进行更新(步骤15)。从步骤12开始迭代,每迭代一轮,通过模型在验证集上的表现判断模型是否训练完成(步骤16),若训练未完成则继续迭代,否则输出训练结果并保存模型(步骤17)。AM-Softmax损失函数首先在人脸识别任务中本文档来自技高网
...

【技术保护点】
1.一种基于角度间隔损失函数的声纹识别方法,其特征在于:首先初始化深度神经网络模型,使用AM‑Softmax损失函数训练深度神经网络模型,再用训练好的深度神经网络模型提取代表说话人身份的声纹特征向量,和数据库中注册的声纹特征向量进行比对;包括使用AM‑Softmax损失函数的深度神经网络模型训练方法,以及使用提取的特征向量进行声纹识别和声纹验证的流程。

【技术特征摘要】
1.一种基于角度间隔损失函数的声纹识别方法,其特征在于:首先初始化深度神经网络模型,使用AM-Softmax损失函数训练深度神经网络模型,再用训练好的深度神经网络模型提取代表说话人身份的声纹特征向量,和数据库中注册的声纹特征向量进行比对;包括使用AM-Softmax损失函数的深度神经网络模型训练方法,以及使用提取的特征向量进行声纹识别和声纹验证的流程。2.如权利要求1所述的基于角度间隔损失函数的声纹识别方法,其特征在于:所述使用AM-Softmax损失函数的深度神经网络模型训练方法的具体步骤为:步骤100,利用已标记说话人的语音数据集,提取快速傅里叶变换得到的语音特征,作为深度神经网络模型的输入,对应说话人的身份作为训练的标签;步骤101,搭建深度神经网络模型,同时初始化深度神经网络模型各层的参数;步骤102,随机采集训练样本进行前向运算,归一化最后全连接层的权重和输入,使用AM-Softmax损失函数计算目标函数;步骤103,通过误差反向传播算法计算要训练模型参数的梯度,对参数进行更新;步骤104,保存训练后的深度神经网络模型的参数。3.如权利要求1所述的基于角度间隔损失函数的声纹识别方法,其特征在于:基于训练完的深度神经网络模型进行声纹识别的具体步骤为:步骤200,使用目标语音作为深度神经网络模型的输入,进行前向运算;步骤201,判断目标说话人是否在训练数据集中。若是,则执行步骤202,若否,则执行步骤203,204;步骤202,使用深度神经网络模型最后一层的输出向量,取最大元素所在的位置对应的身份作为识别结果;步骤203,收集所需要识别的每个身份至少一条语音作为输入,通过神经网络前向运算,获得特定表示层的输出向量,作为声纹特征向量存于数据库中...

【专利技术属性】
技术研发人员:李武军樊磊余亚奇
申请(专利权)人:南京大学
类型:发明
国别省市:江苏,32

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

1