APP下载

基于改进TDNN 的带噪声纹识别算法

2021-06-20罗娅娅

现代电子技术 2021年12期
关键词:声纹识别残差梯度

罗娅娅,杨 乘,2,张 旺,余 萍,3

(1.贵州师范大学 物理与电子科学学院,贵州 贵阳 550001;2.贵州省教育厅汽车电子技术特色重点实验室,贵州 贵阳 550001;3.贵州省射电天文数据处理重点实验室,贵州 贵阳 550025)

声纹识别可根据说话人声纹的唯一性来进行身份识别,具有简单方便的特点。在无噪声环境下声纹识别技术已较为成熟,其中以i⁃vector[1]算法为主流,采用一个通用背景模型(UBM)收集大量的统计信息,投影矩阵T把UBM 的高维统计信息映射到低维,提取i⁃vector 进行识别,但该方法的建模能力和带噪声环境下的声纹识别率还存在很大的挑战。随着人工智能时代的发展,使用深度神经网络(DNN)[2]来对说话人的语音特征进行增强是声纹识别的一大热潮。

在早期的研究中,通过训练DNN 自动编码器进行预处理[3]将噪声环境下的语音映射为纯净语音,但该方法在提高系统鲁棒性的同时增大了计算复杂度。此外,谷歌的Heigold 等人提出深度神经网络可直接应用于分离相同和不同说话者,在语音帧级进行分类,用嵌入的方法取代i⁃vector,提高了声纹识别率[4]。文献[5]采用数据扩充来提高TDNN 嵌入性能从而增强系统鲁棒性,用深层神经网络来训练说话人识别器直接分类提取说话人信息。TDNN 中的临时池层捕获说话人特征[5],将训练后的语音信息映射到固定维度的说话人嵌入上,再用线性概率分析(PLDA)[6]对嵌入信息进行打分识别。TDNN 算法的各方面性能都优于i⁃vector,但由于TDNN是一维的卷积神经网络。随着网络深度的增加,训练时容易出现梯度消失和网络退化现象[7],使得训练效果不佳,从而影响了该算法在噪声环境下的声纹识别率。

基于以上TDNN 算法所存在的问题,从提高噪声环境下声纹识别的鲁棒性和缓解神经网络退化、梯度消失现象的角度出发,本文提出一种带噪声环境下改进时延神经网络的声纹识别算法。先利用残差神经网络的输入层能对输出层进行不断修正以减少信息损失的特点,缓解网络退化作用的同时提高系统鲁棒性;再直接在TDNN 的网络中引入残差神经网络和批量归一化处理,形成新的网络框架,从而使声纹识别率得到提高。

1 深度学习网络

1.1 时延神经网络

TDNN 的优势在于每个隐藏层的特征不仅与此刻的输入有关,还和未来时刻的输入有关。TDNN 系统模型结构如图1 所示。

图1 TDNN 系统模型结构

TDNN 算法采用24 维滤波器组,帧长为25 ms,用语音动态检测法(VAD)[8]消除静音帧提取出声学模型。可变长度语音序列作为TDNN 的输入,经过激活函数后,在时延神经网络层提取帧级别的说话人特征,而统计池层用来聚合,完全连接层获取了低维度的话语级信息后传输到输出层。网络经过训练后在完全连接层把语音直接映射到固定维度的说话人嵌入上,称之为x⁃vector,再将x⁃vector 提取出来后用PLDA 算法进行打分。

1.2 残差神经网络

残差神经网络通常用于图像处理,若利用语音信号的频谱结构,ResNet 的概念也可用于语音识别任务[9]。本文采用的残差神经网络与其应用于语音频谱图的方法不同,直接用残差神经网络对TDNN 网络框架上进行修改,并未对语谱图进行处理。一个浅层残差神经网络的输入输出关系可由式(1)表示,输入为x,输出为H(x),此时的残差为0。

但随着深度神经网络隐藏层数目的增加,网络训练的信息损耗是不可忽略的。式(1)被式(2)所代替,残差的公式由式(2)表示。这样让冗余层更新参数更为简单,且在反向传播更新参数时,用短路连接(Shortcut)使得梯度为0 的现象很难出现,这样便不会导致梯度消失和网络退化情况的发生。残差神经网络结构如图2所示。

图2 残差神经网络结构

1.3 批量归一化

批量归一化(Batch Normalization)是由Loffer 等人提出来的,让不同维度的输入有着相似的分布[10]。BN通过减均值除方差操作把每一层的输出均值和方差相对固定,将输出从饱和区拉到了非饱和区,从而提高网络泛化能力,很好地解决了梯度消失或梯度爆炸问题。设x=(x1,x2,…,xk)为某一层的k维输入,E(xk)为均值,Var(xk)为方差。批量归一化公式为:

下一层的输入为zk:

式中,拉升参数γk和偏移参数βk为模型的可学习参数。

2 ResTDNN 设计

2.1 ResTDNN 设计思路

TDNN 算法应用于声纹识别时会存在两个影响识别率的问题:第一,在TDNN 网络深度增加的同时,精度会逐渐达到饱和,从而使网络性能迅速退化。此现象并非由过拟合引起,而是因为随着训练层数的增加,误差也随之增大[11]。第二,随着网络隐藏层数目的增加,容易出现梯度消失或梯度爆炸的现象,致使神经网络无法收敛[12]。

本文设计ResTDNN 网络思路在于将残差神经网络和批量归一化应用到时延神经网络系统中,从而解决TDNN 网络所存在的问题。首先,利用残差神经网络的输入层能对输出层进行不断修正的特点,来减少网络训练中特征信息的损耗和丢失,从而弥补TDNN 所存在的网络退化的缺陷。在提高精度的同时,进一步提高带噪声环境下声纹识别的鲁棒性。其次,采用批量归一化处理使每一层的平均值和方差限制在一定范围内,提高了网络泛化的能力,进而缓解梯度消失或梯度爆炸现象的发生。

2.2 ResTDNN 网络设计

2.2.1 BN 层设计

激活函数采用线性整流函数(ReLu),在每一层的激活函数激活前均进行归一化处理。不仅使每一层的均值和方差固定在一定范围内,还能提高神经网络对初始化的鲁棒性。

2.2.2 残差模块设计

残差神经网络是基于卷积神经网络提出来的,又因TDNN 网络为一维的CNN 网络,可直接在TDNN 网络上进行残差网络的引入。本文选择两层残差块,因为卷积核的大小直接影响到训练的复杂度,故卷积核大小选择3×3,同时为解决收敛速度问题,卷积核数量分别设置为128,256。设计残差模块结构如图3 所示。

图3 残差模块结构

2.2.3 ResTDNN 模块设计

设置TDNN1 的输出维度和TDNN4 的维度一致,均为512 维,使其满足恒等跳跃连接映射的要求,故在此加入残差模块。TDNN4 层可根据TDNN1 层的输出对语音帧进行不断修正,保证信息的相对完整性。ResTDNN网络共5 层TDNN 层,在每一个TDNN 层之前均设置归一化处理和ReLu 激活函数,其中TDNN2 层和TDNN3 层是残差模块的卷积层,信息聚合在统计池层后传递到完全连接层,在完全连接层的Segment6 处提取映射降至512 维的x⁃vector 信息。ResTDNN 网络模型结构如图4所示。

图4 ResTDNN 网络模型结构

ResTDNN 网络的特点是23 维MFCC,帧长为25 ms,在长达3 s 的滑动窗口处进行平均归一化,采用VAD 过滤非语音帧。ResTDNN 网络配置如表1 所示。

表1 ResTDNN 网络结构

主要功能分成三组,第一组1~5 层,在帧级对语音进行上下文拼接处理,假设TDNN 的输入为F维的T个语音帧组成的序列,以当前t帧为中心,例如:TDNN1 层的输入为{t-2,t-1,t,t+1,t+2}共5 帧进行拼接处理后,把输出的5 帧拼接成一个新的帧集合t,再以t为中心拼接{t-2,t,t+2}上下文4 帧为一个新的帧集合t,作为TDNN2层的输入,即在前一层的上下文基础上进行拼接输出,在TDNN2 可看到9 帧的上下文,同理在TDNN3 可看到15 帧的上下文,由于采用恒等Shortcut 连接,要求两个输入维度必须一致,加入残差,TDNN3 的输出与TDNN1的输出进行拼接作为TDNN4 的输入。TDNN5 无任何附加时间上下文。第二组,第6 层,统计池层接收TDNN5的输出作为输入,捕获第5 层的信息并计算每个维度的平均值和标准差,统计信息连接在一起来生成3 000 维向量。第三组,第7~9 层,在ReLu 激活之前,在第7 层实现嵌入提取映射到512 维x⁃vector。第8 层也可以进行提取,但提取效果不如Segment6 层。最后是Softmax 输出层,L为输出层的输出维度。

2.3 训 练

本文提出一种新型的网络结构,即将残差神经网络及批量归一化应用于TDNN 网络,该网络是对可变长语音进行分类而不是对帧进行操作。TDNN 的特性是对输入上下文进行拼接输出,通过降维提取的x⁃vector 能充分利用10 s 左右的语音信息捕捉说话人声纹信息,采用交叉熵损失函数解决了激活函数算法收敛速度问题。基于实验,删除小于5 s 和静音的语音,利用自然梯度随机下降法[13]对网络进行训练,其中在无噪声环境下训练3 组数据,有噪声环境下训练6 组数据。

2.4 PLDA 打分

用线性判别分析(LDA)进行降维到150 维,降维后对x⁃vector 进行长度归一化。训练PLDA 后,通过计算两条语音分别来自不同空间的似然函数来衡量两条语音是否属于同一说话人。

2.5 声纹识别系统流程

声纹识别主要包括训练和测试两个过程,图5 为声纹识别系统流程。

图5 声纹识别系统流程

1)数据准备:下载数据集并解压成训练集、测试集和验证集,准备相应的语言文件;

2)数据预处理:分别对训练集和测试集进行数据预处理、加噪、删除静音和小于5 s 的语音等过程;

3)特征提取:分别提取相应的梅尔倒谱系数(MFCC);

4)训 练ResTDNN 网络和提取x⁃vector:训 练ResTDNN 网络并进行归一化处理,提取x⁃vector,得到每一条语音的x⁃vector;

5)训练PLDA:对训练集中的语音进行PLDA 模型训练;

6)打分判决:对分别来自训练集和测试集的x⁃vector进行PLDA 打分得到识别结果。

3 实 验

3.1 实验数据

ResTDNN 网络是基于kaldi[14]平台构建的。使用来自希壳贝儿公司的178 h 开源中文普通话数据集Aishell[15]进行训练和识别,Aishell的采样频率为16 kHz,其中train 集包括已知说话人的话语(254 人);dev 集包括已知说话人的未知话语(42 人);test 集包括未知说话人的未知话语(44 人)。用RIR[16]中的混响和MUSAN[17]中噪声、音乐等对Aishell 数据集的train、dev 和test 进行加噪处理,得到带噪环境下的数据集,其中RIR 和MUSAN 的采样频率均设置为16 kHz,将babble、music、noise、reverb 随机加入数据集中。

3.2 对比实验

本文采用4 组对比实验,实验一采用时延神经网络算法对录音环境安静且普通话标准的Aishell 数据集进行声纹识别;实验二中数据集仍和实验一一致,但采用的是加入残差神经网络的TDNN 算法对说话人信息进行提取,从而进行打分识别;实验三与实验一的区别在于在数据集随机加入了混响、音乐、噪声、脉冲,使数据集变成了含噪声的数据集,用TDNN 算法对带噪声的数据集进行了声纹识别操作;实验四中针对有噪声情况下选取ResTDNN 算法对数据集进行训练,提取x⁃vector,实现声纹识别。

3.3 评价指标

1)等错误率(EER):当错误接收率(FAR)与错误拒绝率(FRR)相等时,该值即为等错误率(EER),EER越小代表系统性能越好。其中:式(5)为错误接收率的公式,式(6)为错误拒绝率的公式。

2)最小检测代价(minDCF):FAR 和FRR 的加权和函数称之为检测代价函数(DCF),式(7)为DCF 的定义公式,minDCF 用来表示系统取得最优性能。

式中:CMiss为错误拒绝的权重;CFalseAlarm为错误接收的权重;Ptarget为错误拒绝的概率。按2010 年NIST 比赛中的minDCF 测评指标进行参数设定:CMiss=CFalseAlarm=1。

3.4 实验结果

通过不同的对比实验,得到相应的EER 以及Ptarget分别为0.01 和0.001 时的minDCF。实验结果对比如表2 所示。

表2 实验结果对比

1)由实验一和实验二可知,在无噪声环境下,残差神经网络结合归一化处理提高了系统的性能,使声纹识别率提高到了96.811%,等错误率相对降低了15.6%,而minDCF(10-2)和minDCF(10-3)分别相对改善了18.6%和17.2%。由此可见,ResTDNN 网络减轻了梯度消失和网络退化的情况。

2)由实验一和实验三可知,在有噪声情况下,TDNN 算法的系统性能相对下降19.2%~24.9%,说明TDNN 网络在有噪声情况下的鲁棒性还有待提高。

3)由实验三和实验四可知,当对TDNN 网络进行改进后,在有噪声情况下,等错误率(EER)相对降低35.8%,minDCF(10-2)和minDCF(10-3)分别相对降低了29.3%和24.4%,声纹识别率提高到了96.768%。表明ResTDNN 算法使系统在噪声环境下的声纹识别鲁棒性得到很好的提升。

4)由实验一、实验二和实验四可知,ResTDNN 系统在有噪和无噪环境下的声纹识别率均高于TDNN 系统,说明ResTDNN 系统的整体性能优于TDNN 系统。

4 结语

本文提出一种在TDNN 神经网络框架中引入残差网络和批量归一化进行噪声环境下的声纹识别算法。残差网络的短路连接使网络的输入层能对输出层进行不断修正,保护特征信息的完整性,以及批量归一化处理通过减少内部协变量的移位,提高网络的泛化能力。ResTDNN 算法不仅缓解了梯度消失和网络退化情况,还提高了噪声环境下的鲁棒性,进而提高了声纹识别率。通过对比TDNN 算法和ResTDNN 算法实验结果表明,无噪声环境下系统的声纹识别率提高到了96.811%,有噪声环境下声纹识别率提高到了96.768%,这在声纹识别领域是一次很有意义的发现。在未来的工作中,将继续研究残差神经网络在声纹识别方向上的应用,找到一个与之更为匹配的网络结合使用。

猜你喜欢

声纹识别残差梯度
基于双向GRU与残差拟合的车辆跟驰建模
一个改进的WYL型三项共轭梯度法
基于残差学习的自适应无人机目标跟踪算法
一种自适应Dai-Liao共轭梯度法
基于递归残差网络的图像超分辨率重建
一类扭积形式的梯度近Ricci孤立子
声纹识别中的区分性训练
基于i—vector声纹识别上课点名系统的设计与实现
面向移动终端的语音签到系统
平稳自相关过程的残差累积和控制图