APP下载

基于声纹图和网络迁移的说话人识别

2021-07-20南兆营

网络安全技术与应用 2021年6期
关键词:声纹源域语音

◆南兆营

(中国刑事警察学院 辽宁 110854)

1 引言

说话人识别又称为声纹识别,是一种将某个语音样本与其他语音样本相比较,从而判断两者是否来自同一人的技术,研究基础是基于语音的个体差异性和短时不变性。说话人识别已经成为一种类似于指纹识别和人脸识别的新型身份认证方式[1],被广泛应用于军事、司法以及银行、互联网金融等领域[2]。随着技术的不断进步,说话人识别方法也从早期的听觉检验、声纹图检验发展到现在的自动识别。自动说话人识别包括半自动说话人识别和全自动说话人识别,半自动说话人识别仍然需要人工提取语音特征,仍然依赖鉴定人的经验。由于语音特征提取方法众多,不同方法提取出的语音特征对识别效果的影响是不一致的。另外,语音特征建模难,语音的复杂性无法用一个简单的模型来表达;噪音也是影响说话人识别的关键因素,电脑无法分辨哪些声音是目标声音,也无法像人耳一样专注于目标声音。

深度学习的发展,使上述问题逐步得到解决。有实验表明,深度学习提取的语音特征分类效果要好于传统的MFCC、PLP 等特征[3]。相对于传统的说话人识别,基于深度学习的说话人识别具有以下优点:(1)深度学习强大的非线性表达和自动学习能力,使网络对数据有更好的识别效果,解决了人为无法用数学表达式对语音精确建模的问题。张涛涛等人利用深度网络的非线性特点提取语音特征,去除语音信号中信道和噪声的干扰,系统错误率低于传统的MFCC 特征[4]。(2)深度学习技术可以自动从数据中提取特征,弥补了传统说话人识别中人为提取特征不全面、容易忽略细微特征的问题。(3)深度学习在学习训练过程中将对识别有消极作用的特征赋予负梯度,逐渐弱化其对识别结果的影响,对噪声有很强的抑制能力。(4)深度学习通过对大量数据的学习训练,形成对数据强大的表达能力,这种表达能力可以将不完整的数据恢复成完整的数据。这种数据联想能力,可以帮助人类解决很多复杂的难题。

卷积神经网络是当前应用广泛的一种深度学习模型,该模型模仿人类理解图像的思维方式,通过卷积和池化计算提取图像特征,在计算机视觉领域取得了非常好的成绩,尤其擅长处理图像分类问题。研究人员也将卷积神经网络应用到自然语音处理中,提取语音的深层空间特征[5-6]。卷积神经网络由多个卷积层和池化层组成,网络层数越多,特征提取能力越强,但是随着网络层数的增加,神经元的个数也成倍增长。为了使网络更好的表达数据,需要大量的数据来训练网络,但在现实情况中,经常很难找到大量的可训练数据集,即便可以收集到足够的数据,前期的数据处理也需要大量的人力和时间。

迁移学习是机器学习的一个分支,是一种借助于已训练好的网络,在其基础之上完成新数据集训练的方法。迁移学习早期主要解决的是图像领域的问题,Bengio 等人发现经过对网络的迁移可以提高图像的识别效果,并且迁移学习缩小了源域和目标域中数据特征的差距,增强了网络的泛化能力[7]。Mishkin 在文献[8]中指出将预训练的网络参数迁移到新的任务中,训练效果比随机参数的初始化训练效果要好的多。迁移学习利用先验知识来实现对目标域数据的训练,这种学习方式不但降低了对数据量的要求,还可以缩短网络的训练时间,同时也可提高模型的泛化能力。基于这种思想,本文提出了一种基于网络迁移的说话人识别方法。

2 算法描述

说话人识别的任务是识别输入语音片段属于谁,也就是说系统的输入是语音信号,输出是该语音片段对应的标签。基于网络迁移的说话人识别架构图如图1所示。

图1 基于网络迁移的说话人识别架构图

基于网络迁移的说话人识别核心思想是先将说话人语音信号转换成声纹图,然后将源域声纹图输入训练模型,模型训练至一定轮数时保存预训练模型,将预训练模型参数迁移到目标域,最终实现对目标域数据的分类。从图1 可以看出,说话人迁移模型有两个关键模块,分别是声纹图生成模块和参数迁移模块。

(1)声纹图生成模块,首先对语音信号进行预处理,包括预加重、分帧、加窗,再将处理的语音信号转换成随时间变化的二维图像。

(2)参数迁移模块,由于目标域的数据量较小,无法很好地训练神经网络,源域比目标域数据量要大得多,首先使用目标域数据训练网络的特征提取能力,再将预训练模型的参数迁移到目标域。卷积神经网络的卷积和池化是提取图像特征的过程,参数迁移通过固定某些卷积层的学习率使其不参与到目标域数据的训练,只让一部分卷积层参与训练。这种迁移方式不但可以降低对目标域数据的要求,还可以提高网络的泛化能力,加快模型的收敛速度,缩短模型的训练时间。

3 模型搭建

卷积神经网络是一种仿生的网络结构,由多层卷积层、下采样层以及全连接层构成,具有很强的非线性表达能力,可以通过观测数据使计算机进行自我学习。AlexNet 是典型的卷积神经网络结构,曾在2012年图像识别比赛中获得冠军[9],本文参考AlexNet 网络结构,针对说话人识别任务做出修改,使其可以更好为说话人识别服务。网络各层参数设置如表1所示:

表1 网络参数设置

其中第一层(卷积层)输入为图像的像素参数,声纹图格式为RGB,实验中目标域共有50 人的语音样本,故最后一层的输出向量设置为50。

4 模型训练方法

基于迁移学习的说话人识别训练过程主要包括以下四个步骤:

(1)模型预训练

模型预训练是使用源域数据作为输入的训练模型,经过多次迭代训练模型,达到一定识别能力时停止训练,将模型各层权值参数保存用于迁移。本文使用的源域数据集包括ImageNet 数据集和自建库数据集,科研工作人员做了大量基于ImageNet 数据集的训练工作,我们可以在互联网上直接找到基于ImageNet 数据集的AlexNet 模型参数。

(2)模型迁移

模型迁移过程是将预训练模型应用于目标域,在预训练的基础上继续对目标域数据进行训练,迁移模型时需要根据目标域数据类别对模型最后的全连接层进行修改,使模型可以适用于目标域。这个过程不需要对卷积层和池化层的参数进行修改,直接将其复用即可。

(3)模型参数调整

源域数据与目标域数据在图像的类型和图像质量上都存在一定的差异,如果直接迁移网络参数进行目标域训练,会导致网络的泛化能力和识别效果较差,需要根据目标域类别数调节Softmax 的神经元个数,使其保持一致性。

研究表明,卷积神经网络的前几层提取的是图像边角或颜色等一般特征,随着层数的加深,网络提取特征的能力增强。由于源域的数据量足够大,可以充分训练网络提取一般特征的能力,如果在目标域训练中继续对这些卷积层训练,会导致网络出现过拟合现象,所以我们在迁移过程中不需要再对这些卷积层进行训练。通过控制卷积层的学习率,在目标域训练中使这些不需要改变的层权值参数不参与到训练中。本文只研究三层之后各层对识别效果的影响,通过冻结部分层的训练方式,对比模型不同层的特征提取能力。

(4)模型预测

将测试集数据作为输入,模型对数据进行特征提取,最后经Softmax 层对数据进行分类预测,得到分类结果。模型训练过程如图2所示,对应的识别算法如表2所示。

表2 基于网络迁移的说话人识别算法

图2 模型训练示意图

5 实验与结果分析

5.1 数据集

实验室录制的自建库,包含250 位说话人,每位说话人语音时长在2-3 分钟,采样率为8000HZ,采用中文普通话的方式阅读固定文本,参与者的年龄在18-25 岁。从语音库中选择200 人作为源域数据集,50 人作为目标域数据集,并且每个数据集按照4:1 的比例分成训练集和测试集。

实验首先将所有语音转换成声纹图,每1.5s 生成一张声纹图,不足1.5s 的语音片段以留白的形式处理。对语音进行预处理,帧长设置为512,帧移为60,窗型为Hanning 窗。因为人类语音主要的频带范围在500-3000HZ,所以选取0-4000HZ 范围内的语音信号,最后生成的声纹图大小为256dpi*256dpi。

5.2 实验结果分析

实验在 Windows10 系统上搭建了 Tensorflow 环境,基于Python3.5 语言开发,显卡为GeForce GTXl060Ti,内存为16GB。

在卷积神经网络初始化中,如果将权值w 初始化为0 或其他常数,会导致网络在更新参数时各层出现等比例变化,这种情况不利于网络训练,并且权值初始化过大可能导致网络出现梯度爆炸,过小也可导致网络出现梯度消失,无论是梯度爆炸还是梯度消失都不是我们想要的。本文将权值w 初始化以均值为0,方差为0.01 的正态分布,偏置b 初始化为0,Batch size 设置为100,将网络的最后一层的输出设置为50,Dropout 层的比率设置为0.2。

由于ImageNet 数据集图像与声纹图无关,为了检验源域与目标域相关性对网络迁移的影响,本文分别使用ImageNet 数据集和自建库进行迁移实验。

实验首先载入ImageNet 数据训练好的AlexNet 模型,选取不同层进行迁移,实验结果如图3所示。从实验结果可知,冻结fc1-3 的识别效果最差,冻结fc1-4 的识别效果相对较好,但是冻结fc1-5 时识别效果又显著下降。有一种可能的解释:卷积神经网络的各层之间存在复杂的关系,前几层卷积层提取的特征是图像的浅层特征,这些浅层特征不含或者只含有少量与图像种类相关的信息,通过迁移学习可以继承预训练模型的特征提取能力,随着卷积和池化的次数增加,网络逐渐提取图像的深层特征,这些深层特征与图像的类别相关,直接迁移导致网络的识别能力下降,所以迁移学习只适合迁移浅层特征。

图3 迁移ImageNet 数据集识别率变化曲线

利用搭建的AlexNet 模型对自建库的源域数据进行训练并保存训练模型,训练结果如图4所示。模型迭代5000 次时,训练集准确率为79.5%,验证集准确率为80.6%。载入预训练模型并微调模型参数对目标域数据进行迁移学习,其识别结果如图5所示。

图4 自建库源域数据训练变化曲线

图5 迁移自建库数据集识别率变化曲线

从图5 可以看出,三种冻结卷积层的迁移方式首次识别率在20%以上,在迭代50 次左右时冻结fc1-4 识别率达到60%以上,其余两种识别率在50%左右。从源域预训练曲线中可以看出,网络的首次识别率不到10%,在迭代1000 次时识别率在40%左右,可知迁移学习提高了网络的识别率,加快了网络的收敛速度。与跨域迁移相比,自建库三种冻结卷积层的识别效果与跨域迁移相似,但是总体识别率要高于迁移ImageNet 数据集。由此可知,迁移学习可以提高网络的识别能力,且同域迁移要比跨域迁移的效果好,不同迁移方式结果对比如表2所示。

表2 不同迁移方式结果对比

通过实验结果我们可以看出,使用源域数据训练模型,将预训练模型参数迁移到目标域的方法是可行的。源域和目标域的相关性对迁移学习有一定的影响,同域迁移比跨域迁移的效果要好。无论是同域迁移还是跨域迁移都要注意冻结层对迁移的影响,迁移浅层特征可以提高网络的识别能力,加快训练速度,深层特征属于数据集特有的属性,不适用于不同数据集的迁移。

6 总结与展望

本文提出了一种基于声纹图和网络迁移的说话人识别方法,传统的说话人识别都是以语音信息或者语音特征作为输入,由于声纹图可以反映出说话人的语音特征,以识别声纹图的方式从另外的角度来实现说话人识别,可以成为一种新的研究方向。

伴随着科学技术的发展,说话人识别技术不断提高,迁移学习在图像识别、自然语音处理等领域取得了显著的成效,但是如何利用已有的网络以及参数实现目标域的任务,并且在提高识别率的基础上进一步提高识别效率,这些工作依然有待继续研究。

猜你喜欢

声纹源域语音
基于参数字典的多源域自适应学习算法
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
对方正在输入……
屏幕即指纹识别
从映射理论视角分析《麦田里的守望者》的成长主题
基于数字水印的人脸与声纹融合识别算法
声纹
声纹的妙用