一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

深度神经网络模型和训练策略的制作方法

2021-08-24 16:08:00 来源:中国专利 TAG:
深度神经网络模型和训练策略的制作方法

本发明属于声纹识别技术领域,特别涉及一种用于说话人验证的深度神经网络模型和训练策略。

技术背景

说话人验证是一种通过验证语音和注册语音来验证说话人身份的过程。由于语音特征采集方便,用户接受度更高,成年人的声音可以在较长时期内保持相对稳定,因此说话人验证在金融、刑侦、民用等领域具有广泛的应用场景和应用需求。

近年来,采用深度神经网络进行说话人验证已成为主流。说话人验证系统使用深度神经网络把语音特征信号转换为可以区分的固定维度的嵌入矢量,如使用dnn、cnn、lstm或残差cnn网络与lstm结合的神经网络等,使用端到端的损失函数来训练神经网络对语音进行区分验证。

当前区分效果较好的模型一类是采用单个神经网络通路提取语音的嵌入矢量特征,根据神经网络计算所得到的结果寻找三元组,计算三元组损失函数来进行训练;另一类是采用两个孪生神经网络通路分别提取验证语音和注册语音的嵌入矢量特征,通过验证语音嵌入矢量和注册语音嵌入矢量的相似性来判断验证语音是否和注册语音属于同一人,采用交叉熵损失函数来训练网络。这两类模型要得到好的性能需要依赖于大的数据集,训练时间也比较长,对于短语音、较小的数据集则准确性不高。

三元组损失函数是目前应用广泛且性能较好的损失函数。形成三元组样本时,样本的数量会急剧上升,会产生大量冗余且信息量低的训练样本。三元组损失函数的一个问题是,只有正例和负例之间的差值大于某一阈值时,才会对梯度有贡献。使用三元组损失函数时,需要在小批量中找出有较多信息量的三元组,一方面,不可能把全部的训练样本放在一个小批量里,因此网络优化只能在一个小批量中进行,无法考虑全局数据分布,会造成局部最优;另一方面,在一个小批量中,信息量多的训练样本比较少,而且经过几次迭代训练后,大部分三元组就不会对梯度有贡献了,造成收敛慢,性能差。



技术实现要素:

1.一种神经网络模型,其特征在于:

1)输入为2m 1条语音声学特征矢量,其中m条来自说话人p1,为m条来自说话人p2,为一条来自p1或者p2的锚点语音xa,语音声学特征矢量可以是mel滤波器组fbank特征矢量或是mel倒谱系数mfcc特征矢量,也可以是原始语音段形成的特征矢量;

2)来自说话人p1的m条语音声学特征矢量送入到m个预设的神经网络,获得m条语音嵌入矢量来自锚点的语音声学特征矢量xa送入预设的神经网络,获得一条语音嵌入矢量ea,来自说话人p2的m条语音声学特征矢量送入到m个预设的神经网络,获得m条语音嵌入矢量预设的神经网络可以是dnn、cnn、rnn、lstm、gru或上述网络的各种组合;3)对来自说话人p1的m条语音嵌入矢量求平均值,得到说话人p1的说话人模型嵌入矢量对来自说话人p2的m条语音嵌入矢量求平均值,得到说话人p2的说话人模型嵌入矢量对来自锚点的语音嵌入矢量ea和说话人模型嵌入矢量cp1做预设相似度运算,得到锚点和p1说话人相似度对ea和说话人模型嵌入矢量cp2做预设相似度运算,得到锚点和p2说话人相似度预设相似度可以采用余弦相似度或欧式距离;

4)经过一个线性回归网络,得到一个输出也经过一个线性回归网络,得到一个输出两个线性回归网络相同;

5)如果锚点语音来自p1,则输出通路的目标为1,输出通路的目标为0,如果锚点语音来自p2,则输出通路的目标为0,输出通路的目标为1;

6)输出通路的损失函数定义为二进制交叉熵损失函数,输出通路的损失函数定义为二进制交叉熵损失函数,整个神经网络采用双损失函数进行多任务训练优化;

7)验证时,可以把和预定的阈值比较,如果大于阈值,则锚点语音来自于说话人p1,否则锚点语音不是来自于说话人p1,也可以把和预定阈值比较,如果大于阈值,则锚点语音来自于说话人p2,否则锚点语音不是来自说话人p2。

2.根据权利1要求的神经网络模型,其特征在于,其所述神经网络的迭代训练过程和策略为:

1)获取预设数量语音数据样本,把语音数据样本按对应的说话人身份分组,对每个语音数据样本进行活动端点检测(voiceactivitydetection,vad),将非语音的空白部分删去,把语音样本切割或补足为预定长度的标准语音段,得到标准的语音样本;

2)对每个标准的语音样本,按照预设的分帧参数进行分帧处理,获得语音帧组,然后再利用预设的滤波器提取语音帧组中每一个语音帧的预设类型声学特征,形成语音样本的语音声学特征矢量,所述预设滤波器可以是mel滤波器,所述预设类型声学特征可以是mel滤波器组fbank特征矢量或mel倒谱系数mfcc特征矢量,所述滤波器也可以是空的,则所述预设类型声学特征是原始语音形成的矢量;

3)把说话人按预定比例分为训练集和测试集;

4)从训练集中随机抽取n个两说话人组,从每个两说话人组中随机抽取2m 1条语音声学特征矢量,构成一个包含n个三元组的数据子集,按预定比例分为三元组训练集和三元组验证集,从测试集中随机抽取的两说话人组,从每个两说话人组中随机抽取语音声学特征矢量,构成三元组测试集;

5)把三元组数据子集分为b批,送入所述神经网络模型中进行迭代训练,训练次数设定为较小次数,迭代次数完成后,重复步骤4)和步骤5),直到测试达到了预设的损失或准确率;

3.一种神经网络模型结构,其特征在于:

1)由三个神经网络通路、说话人相似度计算模块、线性回归模块构成;

2)三个神经网络通路:包括2m 1个相同结构的预设孪生神经网络,其中m个构成用于说话人p1的m条语音声学特征矢量的通路p1,1个构成用于锚点的语音声学特征矢量xa的通路a,m个构成用于说话人p2的m条语音声学特征矢量的通路p2,通路p1输出m个预定维度的语音嵌入矢量通路a输出一个预定维度的语音嵌入矢量ea,通路p2输出m个预定维度的语音嵌入矢量预设的神经网络可以是dnn、cnn、rnn、lstm、gru或上述网络的各种组合,输出进行l2归一化;

3)说话人相似度计算模块:包括两个相同的相似度计算模块,每个模块包括一个均值计算模块和一个相似度计算模块,两个均值计算模块分别计算语音嵌入矢量的均值cp1和的均值cp2,两个相似度计算模块分别计算ea与cp1的相似度和ea与cp2的相似度

4)线性回归模块:是两个相同的线性回归网络,每一个都是由一个全连接层和激活函数组成,经过一个线性回归网络得到经过一个线性回归网络得到激活函数可以是sigmoid函数,也可以是tanh函数。

有益效果

本发明对比已有技术具有以下创新点:

1.提出了一种三元组神经网络模型,使用了三个神经网络通路分别对锚点语音、p1说话人语音和p2说话人语音进行特征提取。

2.采用多损失函数进行多任务训练优化,加速神经网络的收敛,提高验证性能。

3.对语音数据处理,形成语音声学特征数据集,对数据集多次采样构成多个数据子集,用多个数据子集对神经网络进行小迭代次数渐进式训练,克服局部最优,加速神经网络收敛。

本发明对比现有技术具有以下显著优点:

1.使用三元组神经网络模型,采用多损失函数对网络进行多任务训练优化,可以加快收敛速度,提高说话人验证的准确性。

2.采用多数据子集、小迭代次数渐进式训练策略,可以加快收敛速度,缩短训练时间,克服局部最优的问题。

附图说明

图1为本发明神经网络模型结构的示意图;

图2为本发明实施例的示意图;

具体实施方式

下面结合附图和实施例对本发明做进一步说明。

本发明的基本思想是用三元组深度神经网络实现说话人验证,用多损失函数训练优化三元组神经网络,用多数据子集、小迭代次数渐进式训练策略,加快收敛速度,缩短训练时间,提高说话人验证的准确性,克服局部最优。

实施例1

采用附图2所示的神经网络结构对本发明的原理和特征进行描述,所举实施例只用于解释本发明,并非用于限定本发明的范围。

本实施例的神经网络结构包括:

1)三个神经网络通路:包括2m 1个相同结构的孪生神经网络,m个用于说话人p1的m条语音声学特征矢量的网络,一个用于锚点语音声学特征矢量xa的网络a,m个用于说话人p2的m条语音声学特征矢量的网络,每个神经网络由单层或多层lstm神经网络构成,每个lstm输出的最后一帧经过一个l2归一化之后作为一个语音嵌入矢量,通路p1输出m个语音嵌入矢量通路a输出一个语音嵌入矢量ea,通路p2输出m个语音嵌入矢量

2)两个相似度计算模块:每个模块包括一个均值计算模块和一个相似度计算模块,两个均值计算模块分别计算语音嵌入特征矢量的均值cp1和的均值cp2,两个相似度计算模块分别计算ea和cp1说话人余弦相似度与ea和cp2的余弦相似度

3)两个线性回归网络:每个线性回归网络是一个全连接层,输出连接激活函数,激活函数为sigmoid函数,一个线性回归网络把转换为另一个线性回归网络把转换为来判断锚点语音是否来自说话人p1,用来判断锚点语音是否来自说话人p2;

4)采用两个交叉熵损失函数对网络进行优化。

本实施例中的深度神经网络模型的训练过程和策略为:

1)获取预设数量语音数据样本,把语音数据样本按对应的说话人身份分组,对每个语音样本进行活动端点检测(voiceactivitydetection,vad),删去语音样本中无话音的部分,把语音样本切割或补足为预定长度的标准语音段,得到标准的语音样本;

2)对每个标准语音样本按照预设的分帧参数进行分帧处理(预设的分帧参数例如:帧长为25ms,帧移为10ms),获得对应于语音样本的语音帧组,对每一帧用预设的滤波器,如mel滤波器,提取出声学特征,如40维mel滤波器组fbank特征,形成声学特征样本;

3)把声学特征样本按说话人以预定比例分为训练集和测试集;

4)从训练集中随机抽取的n个两说话人组,从每个两说话人组中随机抽取2m 1条语音声学特征矢量,构成一个包含n个三元组的数据子集,按预定比例分为三元组训练集和三元组验证集,从测试集中随机抽取的二说话人组,从每个二说话人组中随机抽取语音声学特征矢量,构成三元组测试集;

5)把三元组数据子集分为b批,送入到所述神经网络中进行迭代训练,训练次数设定为较小次数,迭代次数完成后,重复步骤4)和步骤5),直到测试达到了预设的损失或准确率;

采用本实施例的深度神经网络模型和采样训练策略,可以加快收敛速度,缩短训练时间,提高说话人验证的准确性,克服局部最优的问题。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜