CN113129897B - 一种基于注意力机制循环神经网络的声纹识别方法 - Google Patents
一种基于注意力机制循环神经网络的声纹识别方法 Download PDFInfo
- Publication number
- CN113129897B CN113129897B CN202110375477.8A CN202110375477A CN113129897B CN 113129897 B CN113129897 B CN 113129897B CN 202110375477 A CN202110375477 A CN 202110375477A CN 113129897 B CN113129897 B CN 113129897B
- Authority
- CN
- China
- Prior art keywords
- voiceprint
- network architecture
- attention mechanism
- layer
- voice data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000007246 mechanism Effects 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 31
- 125000004122 cyclic group Chemical group 0.000 title claims description 6
- 238000012549 training Methods 0.000 claims abstract description 45
- 238000012795 verification Methods 0.000 claims abstract description 11
- 238000007781 pre-processing Methods 0.000 claims abstract description 6
- 230000003044 adaptive effect Effects 0.000 claims abstract description 5
- 238000012360 testing method Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 14
- 230000000306 recurrent effect Effects 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 125000000205 L-threonino group Chemical group [H]OC(=O)[C@@]([H])(N([H])[*])[C@](C([H])([H])[H])([H])O[H] 0.000 claims description 6
- 238000009432 framing Methods 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 5
- 238000001228 spectrum Methods 0.000 claims description 4
- 230000001629 suppression Effects 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 238000002474 experimental method Methods 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 15
- 230000000694 effects Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 241000238558 Eucarida Species 0.000 description 8
- 238000013527 convolutional neural network Methods 0.000 description 7
- 238000013135 deep learning Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 241000592183 Eidolon Species 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/18—Artificial neural networks; Connectionist approaches
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于注意力机制循环神经网络的声纹识别方法,包括:S1.采集不同说话人多个相同文本的语音数据,并将采集的语音数据进行前端预处理,得到处理后的语音数据;S2.生成与处理后的语音数据相对应的固定长度的语谱图;S3.通过自适应滤波器提取语谱图中的声纹特征系数;S4.构建基于循环神经网络GRU与注意力机制结合的网络架构,将不同说话人的声纹特征系数输入至构建的网络架构中进行训练,得到声纹识别模型;S5.将用户注册和验证阶段的语音声纹特征输入声纹识别模型,声纹识别模型输出最终的识别结果。本发明与传统神经网络相比,提高了模型的泛化能力和学习能力,实验中的网络模型平均错误率达到1.81%,显著提升了识别率,成功移植嵌入式平台。
Description
技术领域
本发明涉及声纹识别技术领域,尤其涉及一种基于注意力机制循环神经网络的声纹识别方法。
背景技术
声纹识别是生物特征识别中的重要组成部分,由于声纹采集的过程十分简单、且声音短期内具有不变的特性,能够作为身份认证的关键特征。其过程是对说话人的语音特征提取,并于原有的特征进行对比,来确定说话人的身份。声纹识别以其便捷、安全可靠等特点,在安防领域、司法公安领域、医疗以及军事领域都有广泛的应用前景。
声纹识别技术在内容上可分为文本相关和文本无关两个类别。在文本无关的声纹识别方法中,不规定说话人的发音内容,说话人的文本可以随机产生,但模型的建立相对困难,且识别效果较差,所以在实际使用中的推广存在很大的局限性。在文本相关的识别方法中,说话者必须按照固定的文本来讲话,且训练语音和测试语音的文本必须相同,这种识别方法的模型较小,且能达到较高的准确率,在现阶段落地应用范围较广。
声纹技术通常包括语音信号预处理、特征提取及模型匹配三个阶段。其中声纹特征的提取是识别过程的基础,特征表达的性能对后续识别的效果影响较大。传统的声纹识别方法如高斯混合通用背景模型(GMM-UBM)、动态时间规整、矢量量化(VQ)等,但此类算法多基于最大后验概率或最大似然回归准则训练模型,为每个说话人建模时会占用大量存储资源且效果很难达到指定标准。随着深度学习神经网络逐渐深入各个领域,声纹识别技术也开始转向深度学习领域进行探索。传统声纹识别的深度学习方法主要是包括卷积神经网络(CNN)和长短期记忆网络(LSTM),基于CNN的声纹识别技术提取声纹特征时忽略了语音原本的时间序列特征,而LSTM虽然考虑了语音特征的时间序列,但由于LSTM网络巨大的参数量和运算需求,无法达到移植嵌入式平台计算量小的需求。
发明内容
本发明的目的是针对现有技术的缺陷,提供了一种基于注意力机制循环神经网络的声纹识别方法。
为了实现以上目的,本发明采用以下技术方案:
一种基于注意力机制循环神经网络的声纹识别方法,包括步骤:
S1.采集不同说话人多个相同文本的语音数据,并将采集的语音数据进行前端预处理,得到处理后的语音数据;
S2.生成与处理后的语音数据相对应的固定长度的语谱图;
S3.通过自适应滤波器提取语谱图中的声纹特征系数;
S4.构建基于循环神经网络GRU与注意力机制结合的网络架构,将不同说话人的声纹特征系数输入至构建的网络架构中进行训练,得到声纹识别模型;
S5.将用户注册和验证阶段的语音声纹特征输入声纹识别模型,声纹识别模型输出最终的识别结果。
进一步的,所述步骤S1具体包括:
S11.采集不同说话人多个相同文本的语音数据,并对采集的语音数据进行静音抑制VAD处理,得到声音的有效信息;
S12.将得到的声音有效信息划分为训练集和测试集,并对训练集随机添加噪声;所述训练集随机添加的噪声包括高斯噪声、谐波干扰、不同环境下的底噪。
进一步的,所述步骤S2具体包括:
S21.对语音数据进行预加重、分帧、加窗操作,通过短时傅里叶变换将训练集和测试集中的每个语音数据转化为语谱图,并保存转换后的语谱图;
S22.选定固定帧数,对保存的语谱图从后向前截取,得到固定长度的语谱图。
进一步的,所述步骤S21中对语音数据进行预加重操作,表示为:
H(z)=1-uz-1 (1)
其中,μ表示滤波器系数;H(z)表示输出信号的频域结果;z表示频率;
所述对语音数据进行加窗操作,表示为:
S′(n)=S(n)×W(n) (2)
其中,S(n)表示分帧后的语音信号;n表示第几帧;n=0,1,…,N-1,N表示帧的大小;S′(n)表示加窗后的语音信号;W(n)表示汉明窗函数,表示为:
其中,a表示窗口系数。
进一步的,所述步骤S21中通过短时傅里叶变换将训练集和测试集中的每个语音数据转化为语谱图,表示为:
其中,x(n)表示输入的语音信号,M表示傅里叶变换的点数;Xa(k)表示短时傅里叶变换后每帧在频域上的能量分布;k表示傅里叶变换采集的第几个点。
进一步的,所述步骤S3具体为:
S31.将保存的语谱图中所包含的能量谱通过一组Mel尺度的三角形滤波器进行处理;其中滤波器的频率响应表示为:
其中,Hm(k)表示若干带通滤波器,1≤m≤M;f(m)表示中心频率;f(m+1)表示后一个时刻的中心频率;f(m-1)表示前一个时刻的中心频率;
S32.计算每个滤波器输出的对数能量,得到声纹特征系数;表示为:
其中,S(m)表示对数运算后的声纹特征系数。
进一步的,所述步骤S4具体如下:
整个网络架构从上到下一共六层,包括三个GRU层、一个全连接层和一个注意力机制层,最后连上一个L2正则层,每一层的输入是上一层的输出;样本批次选择4个人每个人5句话作为网络架构的Batch,每个语谱图截取的帧数为后70帧,并且使用40维的对数Fbank声纹特征参数,即网络架构的输入大小为:70*20*40;
网络架构的第一层、第二层和第三层均是GRU层,且隐状态节点个数均为128,步长均为70,得到的输出大小为70*20*128;
网络架构的第四层为全连接层,输入的维度为128,特征的映射维度为64,输出大小为70*20*64;
网络架构的第五层为注意力机制层,每个时刻乘以一个权重,对所有时刻进行加权平均,得到输出大小为20*64;
注意力机制的表达式为:
其中,et表示每个时刻隐状态所进行线性转换的结果;t表示第t个时刻;表示线性转换参数的转置;ht表示全连接层输出的t时刻的状态;b表示线性转换参数;T′表示最后一个时刻;
将转换结果进行归一化操作,得到:
其中,αt表示每个时刻所对应的权重,然后进行加权均值操作得:
其中,ω表示注意力机制层输出的结果;
网络架构的第六层为L2正则层,相当于对注意力机制层的输出做批归一化,而不改变网络架构的输出。
进一步的,所述步骤S4中还包括将广义损失函数引入构建的网络架构中,并作为网络架构的目标函数,具体为:
将每个批次的声纹特征系数构建出一个列向量,表示为:
其中,xAB表示为第A个人的第B句话的Fbank特征系数;Batch表示输入网络架构的小批次样本总数;
将列向量输入网络架构,并对输出的高阶声纹特征系数进行L2正则化处理,表示为:
其中,f()表示Batch从输入到输出的网络架构表达式;w表示网络架构的参数;eji表示网络架构输出的高阶声纹特征系数;
计算列向量中的声纹特征矩阵内的余弦相似度,表示为:
Sji,k=w1·cos(eji,ck)+b1 (9)
其中,w1,b1表示相似度内可训练的参数;ck为第k个人的质心;Sji,k表示第j个人的第i句话与第k个人的质心所计算的余弦相似度;且0<k≤j;
将余弦相似度输入至广义损失函数中进行前馈神经网络训练,表示为:
其中,Batchi′表示网络架构输入的第i′个批次,w′表示网络架构参数变量。
进一步的,所述步骤S5具体包括:
S51.将用户注册和验证阶段的语音声纹特征输入识别模型中,分别提取声纹高阶特征;
S52.计算提取的声纹高阶特征之间的余弦相似度,从而得到最终识别的结果,并将计算的余弦相似度与阈值对比,若计算的余弦相似度大于阈值,则说明是同一个人。
进一步的,所述步骤S52中将计算的相似比与阈值对比,表示为:
0≤Sthres<Sv,r(ev,cr)≤1 (11)
其中,Sthres表示阈值;Sv,r(ev,cr)表示计算的余弦相似度;ev表示验证时输入的声纹特征系数;cr表示注册时的质心。
本发明与传统神经网络相比,减少了模型的参数量,提高了模型的泛化能力和学习能力,使识别准确率有显著提升,实验中的网络模型平均错误率达到1.81%,显著提升了识别率,并成功移植嵌入式平台。
附图说明
图1是实施例一提供的一种基于注意力机制循环神经网络的声纹识别方法流程图;
图2是实施例一提供的一种基于注意力机制循环神经网络的声纹识别方法模型架构图;
图3是实施例一提供的语谱图示意图;
图4是实施例一提供的加噪和无噪语音波形的对比示意图;
图5是实施例一提供的广义损失函数输入的批次形状示意图;
图6是实施例一提供的GRU模型和注意力机制混合模型的结构原理图;
图7是实施例一提供的训练损失函数变化示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
本发明的目的是针对现有技术的缺陷,提供了一种基于注意力机制循环神经网络的声纹识别方法。
实施例一
本实施例提供一种基于注意力机制循环神经网络的声纹识别方法,如图1-2所示,包括步骤:
S1.采集不同说话人多个相同文本的语音数据,并将采集的语音数据进行前端预处理,得到处理后的语音数据;
S2.生成与处理后的语音数据相对应的固定长度的语谱图;
S3.通过自适应滤波器提取语谱图中的声纹特征系数;
S4.构建基于循环神经网络GRU与注意力机制结合的网络架构,将不同说话人的声纹特征系数输入至构建的网络架构中进行训练,得到声纹识别模型;
S5.将用户注册和验证阶段的语音声纹特征输入声纹识别模型,声纹识别模型输出最终的识别结果。
本实施例的一种基于注意力机制循环神经网络的声纹识别方法包括训练阶段和测试阶段;其中步骤S1-S4为训练阶段,步骤S5为测试阶段。
在步骤S1中,采集不同说话人多个相同文本的语音数据,并将采集的语音数据进行前端预处理,得到处理后的语音数据;具体包括:
S11.采集不同说话人多个相同文本的语音数据,并对采集的语音数据进行静音抑制VAD处理,得到声音的有效信息。
将不同说话人的语音数据进行静音抑制VAD处理,然后给定一个分贝阈值,当语音数据的分贝小于该阈值时,则被视为静音,此时去掉语音信号前后端静音,保留声音的有效信息。
S12.将得到的声音有效信息划分为训练集和测试集,并对训练集随机添加噪声。
对处理后的语音数据进行划分,90%的数据划分为训练集,10%的数据划为测试集,并对训练集随机添加噪声,添加的噪声包括10%的高斯噪声,10%的谐波干扰,使语音信号产生频偏,并且为了克服测试应用阶段不同恶劣环境下的噪声,再对训练集添加不同环境下的底噪,例如地铁、飞机场、餐厅、车内、厨房、公交、办公室等不同环境下的噪声,添加噪声能提高模型的泛化能力。
在步骤S2中,生成与处理后的语音数据相对应的固定长度的语谱图。
如图3所示为语谱图示意图,具体包括:
S21.对语音数据进行预加重、分帧、加窗操作,通过短时傅里叶变换将训练集和测试集中的每个语音数据转化为语谱图,并保存转换后的语谱图;具体包括:
S211.对语音数据进行预加重操作,表示为:
H(z)=1-uz-1 (1)
其中,μ表示滤波器系数,μ的值取0.9-1.0之间,在本实施例中取0.97;H(z)表示输出信号的频域结果;z表示频率。
如图4所示为加噪和无噪语音波形的对比示意图。
S212.对预加重后的语音片段进行分帧处理,并保持帧与帧之间的连续性及其平滑过渡;
S213.对语音数据进行加窗操作,其中窗函数汉明窗表示为:
其中,n=0,1,…,N-1,N表示帧的大小;a表示窗口系数,不同的a值会产生不同的汉明窗,本实施例中a取0.46;
每一帧语音乘以汉明窗,表示为:
S′(n)=S(n)×W(n) (3)
其中,S(n)表示分帧后的语音信号;n表示第几帧;S’(n)表示加窗后的语音信号;W(n)表示汉明窗函数。
S214.对加窗后的每一帧进行短时傅里叶变换得到频谱上的上的能量分布,从而得到语谱图,表示为:
其中,x(n)表示输入的语音信号,M表示傅里叶变换的点数;Xa(k)表示短时傅里叶变换后每帧在频域上的能量分布;k表示傅里叶变换采集的第几个点。
S22.选定固定帧数,对保存的语谱图从后向前截取,得到固定长度的语谱图。
在步骤S3中,通过自适应滤波器提取语谱图中的声纹特征系数;具体为:
S31.将保存的语谱图中所包含的能量谱通过一组Mel尺度的三角形滤波器进行处理;其中滤波器的频率响应表示为:
其中,Hm(k)表示若干带通滤波器,1≤m≤M;每个滤波器具有三角滤波器的特性,f(m)表示中心频率;f(m+1)表示后一个时刻的中心频率;f(m-1)表示前一个时刻的中心频率;
S32.计算每个滤波器输出的对数能量,得到声纹特征系数;表示为:
其中,S(m)表示对数运算后的Fbank特征系数,即为提取出来声纹特征。
在步骤S4中,构建基于循环神经网络GRU与注意力机制结合的网络架构,将不同说话人的声纹特征系数输入至构建的网络架构中进行训练,得到声纹识别模型。
在本实施例中,循环神经网络GRU与注意力机制结合的网络架构具体为:
整个网络架构从上到下一共六层,包括三个GRU层,一个全连接层和一个注意力机制层,最后连上一个L2正则层,每一层的输入是上一层的输出,样本批次选择4个人5句话作为网络架构的batch,每个声谱图截取的帧数为后70帧,并且使用40维的对数Fbank声纹特征参数,即网络架构的输入大小为:70*20*40;
网络架构的第一层、第二层和第三层均是GRU层,且隐状态节点个数均为128,步长均为70,得到的输出大小为70*20*128;
网络架构的第四层为全连接层,输入的维度为128,特征的映射维度为64,输出大小为70*20*64;
网络架构的第五层为注意力机制层,每个时刻(即步长)乘以一个权重,对所有时刻进行加权平均,得到输出大小为20*64;
注意力机制的表达式为:
其中,et表示每个时刻隐状态所进行线性转换的结果;t表示第t个时刻;表示线性转换参数的转置;ht表示全连接层输出的t时刻的状态;b表示线性转换参数;T′表示最后一个时刻。
将转换的结果进行归一化操作,得到:
其中,αt表示每个时刻所对应的权重,然后进行加权均值操作得:
其中,ω表示注意力机制层输出的结果;
网络架构的第六层为L2正则层,相当于对注意力机制层的输出做批归一化,不改变网络架构的输出。
在本实施例中,引入广义损失函数(general-loss)作为网络架构的目标函数,包括:
将每个批次的声纹特征系数构建出一个列向量,表示为:
其中,xAB表示为第A个人的第B句话的Fbank特征系数;Batch表示输入网络架构的小批次样本总数;
将列向量输入网络架构,并对输出的高阶声纹特征系数进行L2正则化处理,表示为:
其中,f()表示Batch从输入到输出的网络架构表达式;w表示网络架构的参数;eji表示网络架构输出的高阶声纹特征系数;
计算列向量中的声纹特征矩阵内的余弦相似度,表示为:
Sji,k=w1·cos(eji,ck)+b1 (12)
其中,w1,b1表示相似度内可训练的参数;ck为第k个人的质心;Sji,k表示第j个人的第i句话与第k个人的质心所计算的余弦相似度;且0<k≤j;
将余弦相似度输入至广义损失函数中进行前馈神经网络训练,表示为:
其中,Batchi′表示网络架构输入的第i′个批次,w′表示网络架构参数变量。
如图5所示为广义损失函数输入的批次形状示意图;图6为GRU模型和注意力机制混合模型的结构原理图;图6为模型训练损失函数变化示意图;图7为模型构建代码和注释示意图。
在步骤S5中,将用户注册和验证阶段的语音声纹特征输入声纹识别模型,声纹识别模型输出最终的识别结果;具体包括:
S51.将用户注册和验证阶段的语音声纹特征输入识别模型中,分别提取声纹高阶特征;
S52.计算提取的声纹高阶特征之间的余弦相似度,从而得到最终识别的结果,并将计算的余弦相似度与阈值对比,若计算的余弦相似度大于阈值,则说明是同一个人。
其中,将计算的相似比与阈值对比,表示为:
0≤Sthres<Sv,r(ev,cr)≤1 (14)
其中,其中,Sthres表示阈值;Sv,r(ev,cr)表示计算的余弦相似度;ev表示验证时输入的声纹特征系数;cr表示注册时的质心,当计算的相似度大于阈值时,则判别为同一个人,反之,则相反,由此得到识别结果。
本实施例与传统神经网络相比,减少了模型的参数量,提高了模型的泛化能力和学习能力,使识别准确率有显著提升,并成功移植嵌入式平台。
实施例二
本实施例提供的一种基于注意力机制循环神经网络的声纹识别方法与实施例一的不同之处在于:
本实施例为了实现应用于一款耳机的文本相关声纹锁,使用Python语音并基于TensorFlow深度学习开源框架实现了模型的搭建,实验器材以及所用的开源库版本清单如表1所示。
表1实验器材以及所使用的开源库版本清单
Pycharm版本 | Professional 2020.1 |
Python版本 | 3.7.1 |
TensorFlow版本 | 1.14.0 |
Numpy | 1.16.0 |
Matplotlib | 3.3.3 |
Librosa | 0.7.2 |
Wheel | 0.36.1 |
显卡 | GTX2060 Ti |
内存 | 16GB |
CPU | R7-4800u |
硬盘 | 512GBSSD |
实验数据:
使用的数据集是开源VCTK-Corpus以及公司内部siri和天猫精灵数据集,其中VCTK-Corpus包括109个人每个人说一句相同文本的句子,每个句子文本为“Please CallStella”的1-4s的短句。siri数据集包括1043个人每个人说1到5个0-3s的短句,总共有5740个同样文本“嘿,siri”的句子。天猫精灵数据集包括1020个每个人说1到5个0-2s的短句,总共有5200个同样文本“天猫精灵”的句子。由于VCTK-Corpu数据集为英文数据集,且数据量较小,故实验主要使用siri和天猫精灵数据集来作为测试模型准确度的语料,VCTK-Corpus数据集用来测试模型的超参数调整对模型效果的影响。
算法模型平均错误率实验:
使用上文所说的siri和天猫精灵数据集进行实验,选取4个人,5句话作为模型的输入,则模型的Batch为20,输出模型后计算每句话之前相互的余弦相似度,得到相似度矩阵后放入广义损失函数进行训练,在文本相关声纹识别方面上,需要采用平均错误率(EER)作为模型效果的评判标准,表达式为:
其中FN为同一说话人被判别为不同说话人的个数,TN为同一说话人判断对的个数,FP为不同说话人被判断同一说话人的个数,TP为不同说话人被判断对的个数;
其中FNR为同一说话人被判别为不同说话人的比例,FPR为不同说话人被判断为同一说话人的比例,EER为平均错误率。
在迭代100000次后分别在测试集上看模型的EER,选用CNN模型和LSTM模型作为基准模型,以此来判定GRU和注意力机制模型对识别效果的提升。实验结果如表2所示。
表2文本相关声纹识别平均错误率测试结果
从表2中可以看出,循环神经网络的效果在文本相关方面的识别率是优于卷积神经网络的,且提出的GRU和注意力机制的混合模型相比于LSTM和CNN的模型,平均错误率在siri数据集上分别提高了0.34%和0.5%;在天猫精灵数据集上分别提高了0.31%和0.57%。因此可以得出结论,GRU和注意力机制模型相对于CNN和LSTM深度学习算法,识别率有了较大的提高。
模型参数量对比
为了达到移植嵌入式平台的标准,要使得算法模型的参数量尽可能的小,将上述三个模型的参数量进行对比,实验结果如表3所示。
表3声纹识别模型参数量对比结果
可以从表3中看出,GRU和注意力机制混合模型的对比比LSTM模型降低了114879个参数量;对比于ResNetCNN模型降低了23,462,973个参数量,使模型所占的内存有了明显减少,达到了在不降低声纹识别平均错误率的前提下,移植嵌入式设备计算量小,所占存储空间小的需求。
加噪训练和无噪训练的对比:
上述的实验都是直接使用原始数据集进行训练的,而siri和天猫精灵数据集都是在接近于理想环境下录制的,其语音中的背景噪声可以忽略不计。然而在设备实际的使用过程中,录音时所在的复杂环境难免会有各种各样的噪声,从而导致模型的效果变差。因此为了测试噪声对模型训练的影响,设计了如下实验。
先定义一下信噪比,信噪比的表达式为:
其中,SNR代表信噪比,单位为db,PS表示信号的功率,Pn表示噪声的功率。
设置添加噪声的信噪比为20db,对siri和天猫精灵数据集随机添加各种复杂环境下的噪声,包括高斯白噪声、地铁噪声、车内噪声、公交噪声等,再输入模型进行训练,跟无噪训练版本在测试集上对比,实验结果如表所示。
表4加噪训练和无噪训练在测试数据集上的结果
由表4可以看出,对于加噪训练的模型,在测试集上的效果是优于无噪训练的结果,虽然下降不是很明显,但在一定程度上提升了模型的泛化能力。
实验结论:
从实验结果中可以总结出如下结论:(1)GRU和注意力机制的混合模型对比于深度学习算法的识别率有显著的提升;(2)为了满足移植嵌入式平台的需求,GRU和注意力机制的混合模型的参数量有了巨大的减少,所占的存储内存有了明显的减少,提升了嵌入式平台的运算性能;(3)在加噪训练的情况下,模型对于测试集的识别效果有了比较高的提升,说明加噪训练的模型有了很强的泛化能力,并且提高了算法的鲁棒性。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (9)
1.一种基于注意力机制循环神经网络的声纹识别方法,其特征在于,包括步骤:
S1.采集不同说话人多个相同文本的语音数据,并将采集的语音数据进行前端预处理,得到处理后的语音数据;
S2.生成与处理后的语音数据相对应的固定长度的语谱图;
S3.通过自适应滤波器提取语谱图中的声纹特征系数;
S4.构建基于循环神经网络GRU与注意力机制结合的网络架构,将不同说话人的声纹特征系数输入至构建的网络架构中进行训练,得到声纹识别模型;
S5.将用户注册和验证阶段的语音声纹特征输入声纹识别模型,声纹识别模型输出最终的识别结果;
步骤S4具体如下:
整个网络架构从上到下一共六层,包括三个GRU层、一个全连接层和一个注意力机制层,最后连上一个L2正则层,每一层的输入是上一层的输出;样本批次选择4个人每个人5句话作为网络架构的Batch,每个语谱图截取的帧数为后70帧,并且使用40维的对数Fbank声纹特征参数,即网络架构的输入大小为:70*20*40;
网络架构的第一层、第二层和第三层均是GRU层,且隐状态节点个数均为128,步长均为70,得到的输出大小为70*20*128;
网络架构的第四层为全连接层,输入的维度为128,特征的映射维度为64,输出大小为70*20*64;
网络架构的第五层为注意力机制层,每个时刻乘以一个权重,对所有时刻进行加权平均,得到输出大小为20*64;
注意力机制的表达式为:
其中,et表示每个时刻隐状态所进行线性转换的结果;t表示第t个时刻;表示线性转换参数的转置;ht表示全连接层输出的t时刻的状态;b表示线性转换参数;T′表示最后一个时刻;
将转换结果进行归一化操作,得到:
其中,αt表示每个时刻所对应的权重,然后进行加权均值操作得:
其中,ω表示注意力机制层输出的结果;
网络架构的第六层为L2正则层,相当于对注意力机制层的输出做批归一化,而不改变网络架构的输出。
2.根据权利要求1所述的一种基于注意力机制循环神经网络的声纹识别方法,其特征在于,步骤S1具体包括:
S11.采集不同说话人多个相同文本的语音数据,并对采集的语音数据进行静音抑制VAD处理,得到声音的有效信息;
S12.将得到的声音有效信息划分为训练集和测试集,并对训练集随机添加噪声;所述训练集随机添加的噪声包括高斯噪声、谐波干扰、不同环境下的底噪。
3.根据权利要求2所述的一种基于注意力机制循环神经网络的声纹识别方法,其特征在于,步骤S2具体包括:
S21.对语音数据进行预加重、分帧、加窗操作,通过短时傅里叶变换将训练集和测试集中的每个语音数据转化为语谱图,并保存转换后的语谱图;
S22.选定固定帧数,对保存的语谱图从后向前截取,得到固定长度的语谱图。
4.根据权利要求3所述的一种基于注意力机制循环神经网络的声纹识别方法,其特征在于,步骤S21中对语音数据进行预加重操作,表示为:
H(z)=1-uz-1 (1)
其中,u表示滤波器系数;H(z)表示输出信号的频域结果;z表示频率;
所述对语音数据进行加窗操作,表示为:
S′(n)=S(n)×W(n) (2)
其中,S(n)表示分帧后的语音信号;n表示第几帧;n=0,1,…,N-1,N表示帧的大小;S′(n)表示加窗后的语音信号;W(n)表示汉明窗函数,表示为:
其中,a表示窗口系数。
5.根据权利要求4所述的一种基于注意力机制循环神经网络的声纹识别方法,其特征在于,步骤S21中通过短时傅里叶变换将训练集和测试集中的每个语音数据转化为语谱图,表示为:
其中,x(n)表示输入的语音信号,M表示傅里叶变换的点数;Xa(k)表示短时傅里叶变换后每帧在频域上的能量分布;k表示傅里叶变换采集的第几个点。
6.根据权利要求4所述的一种基于注意力机制循环神经网络的声纹识别方法,其特征在于,步骤S3具体为:
S31.将保存的语谱图中所包含的能量谱通过一组Mel尺度的三角形滤波器进行处理;其中滤波器的频率响应表示为:
其中,Hm(k)表示若干带通滤波器,1≤m≤M;f(m)表示中心频率;f(m+1)表示后一个时刻的中心频率;f(m-1)表示前一个时刻的中心频率;
S32.计算每个滤波器输出的对数能量,得到声纹特征系数;表示为:
其中,S(m)表示对数运算后的声纹特征系数。
7.根据权利要求1所述的一种基于注意力机制循环神经网络的声纹识别方法,其特征在于,步骤S4中还包括将广义损失函数引入构建的网络架构中,并作为网络架构的目标函数,具体为:
将每个批次的声纹特征系数构建出一个列向量,表示为:
其中,xAB表示为第A个人的第B句话的Fbank特征系数;Batch表示输入网络架构的小批次样本总数;
将列向量输入网络架构,并对输出的高阶声纹特征系数进行L2正则化处理,表示为:
其中,f()表示Batch从输入到输出的网络架构表达式;w表示网络架构的参数;eji表示网络架构输出的高阶声纹特征系数;
计算列向量中的声纹特征矩阵内的余弦相似度,表示为:
Sji,k=w1·cos(eji,ck)+b1 (9)
其中,w1,b1表示相似度内可训练的参数;ck为第k个人的质心;Sji,k表示第j个人的第i句话与第k个人的质心所计算的余弦相似度;且0<k≤j;
将余弦相似度输入至广义损失函数中进行前馈神经网络训练,表示为:
其中,Batchi′表示网络架构输入的第i′个批次,w′表示网络架构参数变量。
8.根据权利要求1所述的一种基于注意力机制循环神经网络的声纹识别方法,其特征在于,步骤S5具体包括:
S51.将用户注册和验证阶段的语音声纹特征输入识别模型中,分别提取声纹高阶特征;
S52.计算提取的声纹高阶特征之间的余弦相似度,从而得到最终识别的结果,并将计算的余弦相似度与阈值对比,若计算的余弦相似度大于阈值,则说明是同一个人。
9.根据权利要求8所述的一种基于注意力机制循环神经网络的声纹识别方法,其特征在于,步骤S52中将计算的相似比与阈值对比,表示为:
0≤Sthres<Sv,r(ev,cr)≤1 (11)
其中,Sthres表示阈值;Sv,r(ev,cr)表示计算的余弦相似度;ev表示验证时输入的声纹特征系数;cr表示注册时的质心。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110375477.8A CN113129897B (zh) | 2021-04-08 | 2021-04-08 | 一种基于注意力机制循环神经网络的声纹识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110375477.8A CN113129897B (zh) | 2021-04-08 | 2021-04-08 | 一种基于注意力机制循环神经网络的声纹识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113129897A CN113129897A (zh) | 2021-07-16 |
CN113129897B true CN113129897B (zh) | 2024-02-20 |
Family
ID=76775357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110375477.8A Active CN113129897B (zh) | 2021-04-08 | 2021-04-08 | 一种基于注意力机制循环神经网络的声纹识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113129897B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113611314A (zh) * | 2021-08-03 | 2021-11-05 | 成都理工大学 | 一种说话人识别方法及系统 |
CN113763966B (zh) * | 2021-09-09 | 2024-03-19 | 武汉理工大学 | 一种端到端的文本无关声纹识别方法及系统 |
CN113793615B (zh) * | 2021-09-15 | 2024-02-27 | 北京百度网讯科技有限公司 | 说话人识别方法、模型训练方法、装置、设备及存储介质 |
CN113903344B (zh) * | 2021-12-07 | 2022-03-11 | 杭州兆华电子有限公司 | 基于多通道小波分解共同降噪的深度学习声纹识别方法 |
CN116647376B (zh) * | 2023-05-25 | 2024-01-26 | 中国人民解放军军事科学院国防科技创新研究院 | 一种基于声纹信息的水声网络节点身份认证方法 |
CN117370731A (zh) * | 2023-10-10 | 2024-01-09 | 广州远动信息技术有限公司 | 一种基于卷积神经网络的声音到达时间估计方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109326294A (zh) * | 2018-09-28 | 2019-02-12 | 杭州电子科技大学 | 一种文本相关的声纹密钥生成方法 |
CN109524014A (zh) * | 2018-11-29 | 2019-03-26 | 辽宁工业大学 | 一种基于深度卷积神经网络的声纹识别分析方法 |
CN110570870A (zh) * | 2019-09-20 | 2019-12-13 | 平安科技(深圳)有限公司 | 一种文本无关的声纹识别方法、装置及设备 |
WO2020024646A1 (en) * | 2018-07-31 | 2020-02-06 | Tencent Technology (Shenzhen) Company Limited | Monaural multi-talker speech recognition with attention mechanism and gated convolutional networks |
CN110992987A (zh) * | 2019-10-23 | 2020-04-10 | 大连东软信息学院 | 语音信号中针对通用特定语音的并联特征提取系统及方法 |
CN111554305A (zh) * | 2020-04-26 | 2020-08-18 | 兰州理工大学 | 一种基于语谱图和注意力机制的声纹识别方法 |
CN111613240A (zh) * | 2020-05-22 | 2020-09-01 | 杭州电子科技大学 | 一种基于注意力机制和Bi-LSTM的伪装语音检测方法 |
CN112053694A (zh) * | 2020-07-23 | 2020-12-08 | 哈尔滨理工大学 | 一种基于cnn与gru网络融合的声纹识别方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10354656B2 (en) * | 2017-06-23 | 2019-07-16 | Microsoft Technology Licensing, Llc | Speaker recognition |
-
2021
- 2021-04-08 CN CN202110375477.8A patent/CN113129897B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020024646A1 (en) * | 2018-07-31 | 2020-02-06 | Tencent Technology (Shenzhen) Company Limited | Monaural multi-talker speech recognition with attention mechanism and gated convolutional networks |
CN109326294A (zh) * | 2018-09-28 | 2019-02-12 | 杭州电子科技大学 | 一种文本相关的声纹密钥生成方法 |
CN109524014A (zh) * | 2018-11-29 | 2019-03-26 | 辽宁工业大学 | 一种基于深度卷积神经网络的声纹识别分析方法 |
CN110570870A (zh) * | 2019-09-20 | 2019-12-13 | 平安科技(深圳)有限公司 | 一种文本无关的声纹识别方法、装置及设备 |
CN110992987A (zh) * | 2019-10-23 | 2020-04-10 | 大连东软信息学院 | 语音信号中针对通用特定语音的并联特征提取系统及方法 |
CN111554305A (zh) * | 2020-04-26 | 2020-08-18 | 兰州理工大学 | 一种基于语谱图和注意力机制的声纹识别方法 |
CN111613240A (zh) * | 2020-05-22 | 2020-09-01 | 杭州电子科技大学 | 一种基于注意力机制和Bi-LSTM的伪装语音检测方法 |
CN112053694A (zh) * | 2020-07-23 | 2020-12-08 | 哈尔滨理工大学 | 一种基于cnn与gru网络融合的声纹识别方法 |
Non-Patent Citations (2)
Title |
---|
基于语谱图和神经网络的声纹识别研究;李蜜;;高师理科学刊;40(04);正文39-42页 * |
声纹识别:一种无需接触、不惧遮挡的身份认证方式;刘乐 等;《中国安全防范技术与应用》(第1期);正文33-40页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113129897A (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113129897B (zh) | 一种基于注意力机制循环神经网络的声纹识别方法 | |
CN103236260B (zh) | 语音识别系统 | |
CN107146601A (zh) | 一种用于说话人识别系统的后端i‑vector增强方法 | |
CN103065629A (zh) | 一种仿人机器人的语音识别系统 | |
CN112053694A (zh) | 一种基于cnn与gru网络融合的声纹识别方法 | |
Sinith et al. | A novel method for text-independent speaker identification using MFCC and GMM | |
CN110364168B (zh) | 一种基于环境感知的声纹识别方法及系统 | |
CN113539293B (zh) | 基于卷积神经网络和联合优化的单通道语音分离方法 | |
Mahboob et al. | Speaker identification using gmm with mfcc | |
CN112562725A (zh) | 基于语谱图和胶囊网络的混合语音情感分类方法 | |
Jalil et al. | Speaker identification using convolutional neural network for clean and noisy speech samples | |
KR100897555B1 (ko) | 음성 특징벡터 추출장치 및 방법과 이를 채용하는음성인식시스템 및 방법 | |
Rudresh et al. | Performance analysis of speech digit recognition using cepstrum and vector quantization | |
Kanagasundaram | Speaker verification using I-vector features | |
Usman | On the performance degradation of speaker recognition system due to variation in speech characteristics caused by physiological changes | |
Pandey et al. | Multilingual speaker recognition using ANFIS | |
Chauhan et al. | Speaker recognition using fusion of features with feedforward artificial neural network and support vector machine | |
Goh et al. | Robust computer voice recognition using improved MFCC algorithm | |
Shahin | Speaker identification in the shouted environment using suprasegmental hidden Markov models | |
Koolagudi et al. | Speaker recognition in the case of emotional environment using transformation of speech features | |
Li et al. | Adaptive threshold estimation of open set voiceprint recognition based on OTSU and deep learning | |
Pentapati et al. | Dilated Convolution and MelSpectrum for Speaker Identification using Simple Deep Network | |
Bouziane et al. | An open and free speech corpus for speaker recognition: The fscsr speech corpus | |
Maged et al. | Improving speaker identification system using discrete wavelet transform and AWGN | |
Zhipeng et al. | Voiceprint recognition based on BP Neural Network and CNN |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |