首页 > 乐器声学 专利正文
一种端到端的文本无关声纹识别方法及系统与流程

时间:2022-02-18 阅读: 作者:专利查询

一种端到端的文本无关声纹识别方法及系统与流程

1.本发明涉及语音信号处理及深度学习领域,尤其涉及一种端到端的文本无关声纹识别方法及系统。


背景技术:

2.信息化迅速发展的今天,身份识别的需求越来越广泛。声纹识别是一种生物识别技术,它利用人类语音的独特特征对身份进行识别,作为第三大生物特征识别技术,声纹识别开始进入人们的生活。目前声纹识别技术已经在部分银行投入使用,用户登录手机银行app,进行转账、支付等交易。以新出现的声纹识别为例,除了进入金融领域、侦查领域外,也开始进入公共安全、智能家居、智能汽车、智慧教育、智能社区等行业,让相关行业在原有识别技术的基础上实现了互补、突破和语音智能化等。声纹识别也是实现人机交互第一关键技术点。
3.本技术发明人在实施本发明的过程中,发现现有技术中存在如下技术问题:
4.基于目前技术对原始语音信号的特征提取方法不够成熟,由此,在进行文本无关的声纹识别过程中识别精准度仍然需要提高。上述现有技术中常用的文本无关声纹识别主要还是基于传统的语音特征提取方法,如:mfcc、fbank等,或者是模型的融合和叠加,这样的文本无关声纹识别方法识别精准度仍然不高或过于复杂的模型增加了延时而无法应用于工业界,影响用户的体验和感受。


技术实现要素:

5.本发明提出了一种端到端的文本无关声纹识别方法及系统,用于解决或者至少部分解决现有技术中的方法存在声纹识别精度不高的技术问题。
6.为了解决上述技术问题,本发明第一方面提供了一种端到端的文本无关声纹识别方法,包括:
7.s1:获取大量的说话人语音数据,作为训练数据集;
8.s2:构建声纹识别模型,其中,声纹识别模型包括帧级特征提取层、话语级特征提取层、高阶注意力池化层以及全连接层,帧级特征提取层包括三个时延神经网络tdnn,用于提取输入语音数据中的帧级特征;话语级特征提取层包括三个门控循环单元gru,用于对帧级特征进行全局特征提取和时序表示,生成话语级特征;高阶注意力池化层包括高阶统计池化层和高阶注意力池化层,高阶统计池化层用于将话语级特征提取层输出的话语级特征拼接成句级说话人表示,高阶注意力池化层用于对帧级特征提取层输出的帧级特征进行加权计算,得到帧级说话人嵌入;全连接层用于将句级说话人表示与帧级说话人嵌入进行拼接,得到全面的说话人表示;
9.s3:将训练数据集输入声纹识别模型,并构建am

softmax损失函数进行训练,得到训练好的声纹识别模型;
10.s4:利用训练好的声纹识别模型对输入语音进行识别。
11.在一种实施方式中,第一个tdnn网络设有基于sinc函数的滤波器,该滤波器用于对原始语音的输入波形和有限脉冲响应之间执行时域卷积,用以提取最具表征说话人稳定性和唯一性的声纹特征。
12.在一种实施方式中,第二个tdnn网络和第三个tdnn网络用于根据第一个tdnn网络的输出,通过多层次卷积操作提取局部语音特征,得到最终的帧级特征。
13.在一种实施方式中,gru用于对帧级特征提取层输出的帧级特征通过卷积、池化和聚合操作,提取说话人嵌入,作为话语级特征。
14.在一种实施方式中,步骤s3中构建am

softmax损失函数为:
[0015][0016]
其中,n表示一个输入训练的批量,c表示在训练数据集中说话人的数量,x
i
为最后输出的全面的说话表示,y
i
表示训练数据集中第i个说话人样本的真实标签,l
a,m,s
表示am

softmax损失函数;z为中间变量;s为缩放因子;表示目标角度;m为一个大于1的整数,cosθ
j
表示计算x
j
在类别y
j
的区域。
[0017]
基于同样的发明构思,本发明第二方面提供了一种端到端的文本无关声纹识别系统,包括:
[0018]
训练数据集获取模块,用于获取大量的说话人语音数据,作为训练数据集;
[0019]
声纹识别模型构建模块,用于构建声纹识别模型,其中,声纹识别模型包括帧级特征提取层、话语级特征提取层、高阶注意力池化层以及全连接层,帧级特征提取层包括三个时延神经网络tdnn,用于提取输入语音数据中的帧级特征;话语级特征提取层包括三个门控循环单元gru,用于对帧级特征进行全局特征提取和时序表示,生成话语级特征;高阶注意力池化层包括高阶统计池化层和高阶注意力池化层,高阶统计池化层用于将话语级特征提取层输出的话语级特征拼接成句级说话人表示,高阶注意力池化层用于对帧级特征提取层输出的帧级特征进行加权计算,得到帧级说话人嵌入;全连接层用于将句级说话人表示与帧级说话人嵌入进行拼接,得到全面的说话人表示;
[0020]
模型训练模块,用于将训练数据集输入声纹识别模型,并构建am

softmax损失函数进行训练,得到训练好的声纹识别模型;
[0021]
识别模块,用于利用训练好的声纹识别模型对输入语音进行识别。
[0022]
本技术实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
[0023]
本发明提供的一种端到端的文本无关声纹识别方法,构建了声纹识别模型,包括帧级特征提取层、话语级特征提取层、高阶注意力池化层以及全连接层,采用了混合神经网络结构,通过时延神经网络(tdnn)和门控循环单元(gru)生成不同层次的互补说话人信息(帧级特征和话语级特征),采用多级池化策略,池化层加入注意力机制(attention),对时延神经网络层和门控循环单元层输出的特征进行拼接,提取全面的表征说话人特征的信息,提高了特征提取的准确性,并通过am

softmax损失函数进行训练,可以增大不同说话人的类间距离,并减小相同说话人的类内距离,从而更好的区分特征相似说话人,因此,提高
了声纹识别的精度。
[0024]
进一步地,本发明在第一个tdnn网络设计基于sinc函数的滤波器,可以对原始语音样本捕获重要的窄带扬声器特性,提高了特征提取的准确性。
附图说明
[0025]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0026]
图1为本发明实施例提供的一种端到端的文本无关声纹识别方法的流程图;
[0027]
图2为本发明实施例测试语音的识别流程图;
[0028]
图3为本发明实施例中tdnn的原理图;
[0029]
图4为本发明实施例中声纹识别模型的原理图;
[0030]
图5为本发明实施例中提供的一种端到端的文本无关声纹识别系统的结构框图。
具体实施方式
[0031]
本发明提供了一种端到端的文本无关声纹识别方法及系统,解决了现有的文本无关声纹识别精准度不高以及过于复杂的融合模型延时导致影响用户体验、感受问题。
[0032]
本发明的主要创新如下:
[0033]
通过设计基于sinc函数的滤波器对原始语音样本捕获重要的窄带扬声器特性;然后使用时延神经网络(tdnn)和门控循环单元(gru)生成不同层次的互补说话人信息的混合神经网络结构,采用多级池化策略,池化层加入注意力机制(attention),从时延神经网络层和门控循环单元层提取最具有表征说话人帧级、话语级特征,对说话人向量提取层进行正则化处理;接着通过am

softmax损失函数进行训练,最后通过嵌入模型与识别模型相似度计算实现端到端文本无关声纹识别过程。从而提高端到端文本无关声纹识别的准确率和适用性。
[0034]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0035]
实施例一
[0036]
本发明实施例提供了一种端到端的文本无关声纹识别方法,包括:
[0037]
s1:获取大量的说话人语音数据,作为训练数据集;
[0038]
s2:构建声纹识别模型,其中,声纹识别模型包括帧级特征提取层、话语级特征提取层、高阶注意力池化层以及全连接层,帧级特征提取层包括三个时延神经网络tdnn,用于提取输入语音数据中的帧级特征;话语级特征提取层包括三个门控循环单元gru,用于对帧级特征进行全局特征提取和时序表示,生成话语级特征;高阶注意力池化层包括高阶统计池化层和高阶注意力池化层,高阶统计池化层用于将话语级特征提取层输出的话语级特征拼接成句级说话人表示,高阶注意力池化层用于对帧级特征提取层输出的帧级特征进行加
权计算,得到帧级说话人嵌入;全连接层用于将句级说话人表示与帧级说话人嵌入进行拼接,得到全面的说话人表示;
[0039]
s3:将训练数据集输入声纹识别模型,并构建am

softmax损失函数进行训练,得到训练好的声纹识别模型;
[0040]
s4:利用训练好的声纹识别模型对输入语音进行识别。
[0041]
具体来说,请参见图1,为本发明实施例提供的一种端到端的文本无关声纹识别方法的流程图。
[0042]
步骤s2构建的声纹识别模型,通过三个tdnn网络层进行帧级说话人信息提取,最终得到帧级特征。帧级特征提取层输出的帧级特征通过话语级特征提取层的gru进行全局特征提取和时序表示,产生说话人级表示。通过gru可以实现长距离依赖,同时保留时序信息,从而能提取到说话人语音相关的更多信息。高阶统计池化层可以将话语级特征拼接成句级说话人表示,高阶注意力池化层可以对帧级特征提取层输出的帧级特征进行加权计算,对每个帧级特征赋予不同的权重,可以实现精准的声纹特征表示,句级说话人表示与帧级说话人嵌入再通过全连接层进行拼接,最终得到最具说话人表征的全面的说话人表示。
[0043]
s3:通过am

softmax损失函数训练,可以增大不同说话人的类间距离和减小相同说话人的类内距离,可以更好的区分特征相似说话人。
[0044]
请参见图2,为本发明实施例测试语音的识别流程图。其中,嵌入模型是指测试语音对应的模型(通过本发明同样的方法训练得到一个嵌入模型(embedding)),识别模型是利用训练数据集构建的模型。举例来说,训练集中有10个人,通过本发明的方法可以训练得到与这个10个说话人对应的识别模型,通过嵌入(embedding)模型得到的结果与识别模型的结果做相似度计算,如果相似度大于阈值,则识别成功,为训练模型中的一个说话人,否则,识别失败。
[0045]
在一种实施方式中,第一个tdnn网络设有基于sinc函数的滤波器,该滤波器用于对原始语音的输入波形和有限脉冲响应之间执行时域卷积,用以提取最具表征说话人稳定性和唯一性的声纹特征。
[0046]
具体地,滤波器可以从原始语音信号中分离表征说话人稳定性和唯一性的特征,确定提取的n维语音信号参数可以用于下一层神经网络的建模。从第一层tdnn神经网络输出的n维语音特征参数经过下面两层tdnn神经网络(第二个和第三个tdnn网络)进行帧级特征处理,帧级特征处理的是局部短跨度的声学特征,建立帧级语音特征模型。
[0047]
具体实施过程中,滤波器的设计包括:fir滤波器、预定义函数g执行卷积,带通滤波器和加窗滤波。
[0048]
具体来说,滤波器对原始语音采样与有限脉冲响应(fir)滤波器做时域卷积,提取的语音特征参数,每个时域卷积计算定义如下:
[0049][0050]
其中,x[n]是输入的原始语音信号,h[n]是长度为l的滤波器,y[n]是语音信号通过滤波器卷积后的输出,在标准tdnn网络中,每个滤波器的所有l元素都是从数据中学习的。l表示滤波器中的元素,l表示元素长度,n表示信号。所以滤波器卷积可以使用一个预定
义函数g执行卷积,该函数g仅依赖于几个可学习的参数θ,计算如下:
[0051]
y[n]=x[n]*g[n,θ]
[0052]
受数字信号处理中标准滤波的启发,一个合理的选择是定义一个由矩形带通滤波器组成的滤波器组g。在频域中,一般带通滤波器的幅值可以写成两个低通滤波器的差值:
[0053][0054]
其中f1和f2分别是学习的低截止频率和高截止频率,rect(
·
)是幅度频率域中的矩形函数(rect(
·
)函数相位被认为是线性的)。还原回时域使用逆傅里叶变换,变换过程函数g变为:
[0055]
g[n,f1,f2]=2f2sinc(2πf2n)

2f1sinc(2πf1n)
[0056]
其中sinc函数定义为sinc(x)=sinx/x。
[0057]
一个理想的带通滤波器,当通带完全平坦且阻带衰减无限大时,需要无限个元素l。g的任何截断都不可避免地导致理想滤波器的近似,其特征是通带波纹,阻带衰减有限。缓解这个问题的一个流行的解决方案是窗口。窗口化是通过将截断的函数g与窗口函数w相乘来实现的,其目的是消除g末端的突变不连续。
[0058]
g
w
[n,f1,f2]=g[n,f1,f2]
·
w[n]
[0059]
窗函数的选择可以基于宽窗有利于低频,频域分辨不佳,时域分辨较好;窄窗有利于高频,频域分辨较好,时域分辨不佳,所以选择居中的汉明窗。
[0060]
sinc函数滤波中涉及的所有操作都是完全可微的,滤波器的截止频率可以通过随机梯度下降(sgd)或其他基于梯度的优化例程与其它网络参数联合优化。
[0061]
在一种实施方式中,第二个tdnn网络和第三个tdnn网络用于根据第一个tdnn网络的输出,通过多层次卷积操作提取局部语音特征,得到最终的帧级特征。
[0062]
具体来说,第一个tdnn网络的卷积通过基于sinc函数的滤波器来实现,第二,第三个tdnn网络层的卷积为常规卷积,通过多层次卷积操作来提取更细致的帧级局部语音特征,帧级特征提取层处理的是局部短跨度的声学特征。
[0063]
在一种实施方式中,gru用于对帧级特征提取层输出的帧级特征通过卷积、池化和聚合操作,提取说话人嵌入,作为话语级特征。
[0064]
请参见图4,为本发明实施例中声纹识别模型的实现原理图,sincfilter为第一个tdnn网络的卷积层,用以提取最具表征说话人的声纹特征,三个tdnn构成的帧级特征提取层用于提取帧级说话人信息,三个gru构成的话语级特征提取层用于提取说话人表示,高阶统计池化层(statisticpooling)用于进行话语级建模,高阶注意力池化层(attentionpooling)用于进行帧级加权计算,再通过全连接层进行拼接,最后构建am

softmax损失函数进行学习、训练。
[0065]
具体地,经过第一层sinc卷积后输出语音特征参数输入到第二个tdnn神经网络层。inputlayer(输入层)为一个声纹特征系数矩阵,横向为帧,纵向为每一帧包含的语音特征参数,通过三个tdnn网络层,提取语音特征的帧级说话人信息,建立帧级模型。tdnn的一个子单元处理过程,在tdnn中,基本单元通过引入延迟d进行修改,如图3所示。(说明:tdnn中一个子单元为u
i
,而每个子单元通过权重w
i+1
~w
i+n
与d1~d
n
的积对这个基本单元进行修改,最后u
j
个子单元∑构成tdnn;u表示一个tdnn子单元,u
i
,u
j
表示第i个,第j个子单元;w表
示隐单元权重,d表示延迟)。例如,对于n=2和j=16、需要48个权重来计算16个输入的加权总和,现在每个输入在三个不同的时间点进行测量。这样,tdnn单位能够将当前输入与过去的事件进行关联和比较。
[0066]
经过tdnn建立的帧级模型(即帧级特征提取层),将帧级特征输入到话语级特征提取层,通过三个gru网络层提取说话人表示,gru计算过程如下:
[0067]
r
t
=σ(w
r
·
[h
t
‑1,x
t
])
[0068]
z
t
=σ(w
z
·
[h
t
‑1,x
t
])
[0069][0070]
h
t
=1

z
t
*h
t
‑1+z
t
*h
t
])
[0071]
y
t
=σ(w
o
·
h
t
)
[0072]
其中,t表示时间步;r
t
表示第t个时间步的重置门结果;x
t
表示第t个时间步的输入向量,即输入序列x的第t个分量;t

1表示第t

1个时间步;w
r
表示重置门权重参数矩阵;w
z
表示更新门权重参数矩阵;表示权隐藏状态权重参数矩阵;w
o
表示输出隐单元权重参数矩阵;h
t
‑1保存前一个时间步t

1的信息,即隐单元;σ表示sigmoid函数;z
t
表示第t个时间步的更新门结果;tanh表示tanh函数;表示时间t的候选隐藏状态;h
t
表示时间t的隐藏状态;y
t
表示t时刻的输出。
[0073]
下面介绍时间平均池化的相关内容,其作用是将输入序列逐帧输入到网络中提取编码,然后对该输入序列的所有帧取平均值,得到句子级别的特征编码,公式如下:
[0074][0075]
其中,x(t)表示第t帧的输入,h表示平均池化值,t表示一句说话人的帧数。
[0076]
需要说明的是,一个特征提取过程包括就卷积

激活

时间平均池化,本技术的模型中tdnn,gru在进行特征提取时,进行卷积操作之后,都会进行激活、时间平均池化操作。其中,时间平均池化操作的原理如上所述。
[0077]
通过话语级特征提取层生成话语级特征之后经过高阶统计池化层拼接成说话人语句级向量。其中,基于从帧级特征提取层输出的帧级特征直接通过高阶注意力池化层进行帧级特征加权计算,由于每一帧在一个语句中的声纹特征重要性不一样,因此可以根据重要性给予权重进行分权计算;话语级特征提取层输出的话语级特征通过高阶统计池化层,生成句级说话人表示。最后将高阶统计池化层和高阶注意力池化层的输出进行拼接,这有助于互补信息,并产生一个全面说话人表示。
[0078]
在一种实施方式中,步骤s3中构建am

softmax损失函数为:
[0079][0080]
其中,n表示一个输入训练的批量,c表示在训练数据集中说话人的数量,x
i
为最后输出的全面的说话表示,y
i
表示训练数据集中第i个说
话人样本的真实标签,l
a,m,s
表示am

softmax损失函数;z为中间变量;s为缩放因子;表示目标角度;m为一个大于1的整数,cosθ
j
表示计算x
j
在类别y
j
的区域。
[0081]
通过本实施例中的此训练方法的,可以将不确定的边界说话人特征进行最大角度的划分,也就是增大说话人类间距离,减小说话人类内距离,从而能够获取最具表征说话人模型来实现文本无关的说话人声纹识别。
[0082]
相对于现有技术,本发明的有益效果是:
[0083]
本发明通过设计滤波器对原始语音信号进行最具表征说话人特征的提取,提高了声纹识别的精准度和降低了模型的时延;同时,基于tdnn神经网络对于帧级特征提取的优势,gru对于说话人表示和时序表示优势进行结合,通过高阶注意力统计池化进行加权帧级特征和说话人表示拼接,输出说话人向量;再经过am

softmax损失函数训练说话人模型,从而提高了文本无关声纹识别的识别精准度、降低了模型时延,改善用户体验和感受。
[0084]
实施例二
[0085]
基于同样的发明构思,本实施例提供了一种端到端的文本无关声纹识别系统,请参见图5,该系统包括:
[0086]
训练数据集获取模块201,用于获取大量的说话人语音数据,作为训练数据集;
[0087]
声纹识别模型构建模块202,用于构建声纹识别模型,其中,声纹识别模型包括帧级特征提取层、话语级特征提取层、高阶注意力池化层以及全连接层,帧级特征提取层包括三个时延神经网络tdnn,用于提取输入语音数据中的帧级特征;话语级特征提取层包括三个门控循环单元gru,用于对帧级特征进行全局特征提取和时序表示,生成话语级特征;高阶注意力池化层包括高阶统计池化层和高阶注意力池化层,高阶统计池化层用于将话语级特征提取层输出的话语级特征拼接成句级说话人表示,高阶注意力池化层用于对帧级特征提取层输出的帧级特征进行加权计算,得到帧级说话人嵌入;全连接层用于将句级说话人表示与帧级说话人嵌入进行拼接,得到全面的说话人表示;
[0088]
模型训练模块203,用于将训练数据集输入声纹识别模型,并构建am

softmax损失函数进行训练,得到训练好的声纹识别模型;
[0089]
识别模块204,用于利用训练好的声纹识别模型对输入语音进行识别。
[0090]
由于本发明实施例二所介绍的系统,为实施本发明实施例一中端到端的文本无关声纹识别方法所采用的系统,故而基于本发明实施例一所介绍的方法,本领域所属技术人员能够了解该系统的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的系统都属于本发明所欲保护的范围。
[0091]
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。