1、第 卷第期重 庆 大 学 学 报 年月 :基于知识蒸馏与 的声纹识别荣玉军,方昳凡,田鹏,程家伟(中移(杭州)信息技术有限公司,杭州 ;重庆邮电大学 自动化学院,重庆 )收稿日期:网络出版日期:基金项目:教育部中国移动科研基金资助项目();国家自然科学基金()。(),()作者简介:荣玉军(),男,高级工程师,主要从事人工智能、数字家庭、物联网方向研究,()。通信作者:方昳凡,女,硕士研究生,主要从事深度学习、声纹识别及说话人分离方向研究,()。摘要:针对声纹识别领域中存在信道失配与对短语音或噪声条件下声纹特征获取不完全的问题,提出一种将传统方法与深度学习相结合,以 模型作为教师模型对学生模型
2、进行知识蒸馏。构建基于度量学习的 网络,引入注意力统计池化层,捕获并强调声纹特征的重要信息,提高声纹特征的可区分性。设计联合训练损失函数,将均方根误差(,)与基于度量学习的损失相结合,降低计算复杂度,增强模型学习能力。最后,利用训练完成的模型进行声纹识别测试,并与多种深度学习方法下的声纹识别模型比较,等错误率(,)至少降低了,等错误率达到了 ,表明该模型能够更有效地进行声纹识别。关键词:深度学习;知识蒸馏;声纹识别;说话人识别中图分类号:文献标志码:文章编号:(),(,;,):,(),(),:;随着物联网、智能设备、语音助手、智能家居和类人机器人技术的发展,以及人们对安全的日益重视,生物识别技
3、术的应用越来越多,包括脸部、视网膜、声音和虹膜等识别技术。其中声纹识别因易于实现,使用成本低而被用户广泛接受。声音是一种生物行为特征,它传递一个人特征相关的信息,比如说话人的种族、年龄、性别和感觉。说话人识别是指根据人的声音识别人的身份。研究表明,声音因其独特的特征可以用来区分不同人的身份,除了虹膜、指纹和人脸外,语音提供了更高级别的安全性,是一种更加有效的生物识别技术。说话人识别可分为说话人确认和说话人辨认个任务,说话人确认是实现智能交互的关键技术,可广泛应用于金融支付、刑事侦查、国防等领域。说话人确认是一对一的认证,其中一个说话者的声音与一个特定的特征匹配,可以分为文本依赖型和文本独立型。
4、与文本相关的说话人确认系统要求从固定的或提示的文本短语产生语音,利用说话人语音的尺度不变性、特征不变性和文本相关不变性等特性,对说话人语音进行识别,而与文本无关的说话人确认系统操作的是无约束语音,是一个更具有挑战性与实用性的问题。等人在 年提出了高斯混合模型 通用背景模型(),它能够利用大量的数据进行计算,但是具有较高的计算复杂度,不能很好地区分多个说话人,表示较为复杂。等人在 年提出联合因子分析法(),它将 得到的均值超矢量所在的空间进一步建模,可以补偿信道变化带来的影响,但因其模型复杂度过高而不便应用。为了对 进行简化,提出了利用身份向量 的方法,因为它不对信道进行单独建模,所以要通过线性
5、判别分析(,),概率线性判别分析(,)等方法对其进行信道补偿。当前,深度学习方法广泛应用于语音识别、计算机视觉领域,并逐渐应用于说话人识别等其他领域,均取得了显著成效。年,的 使用神经网络隐层输出替代 ,虽然实验效果不如 ,但证明了神经网络方法的有效性。循环神经网络(,)在语音识别方面效果良好,在处理变长序列方面具有明显优势,现在也被应用在说话人识别任务中。年,等人使用时延神经网络提取帧级特征,语句级特征则从统计池化层聚合而来,利用 进行后端打分,处理短语音的效果优于 ,在它基础上加入离线数据增强后效果整体超过了 ,成为新的基准模型。目前,有方法将图像领域的卷积神经网络用于说话人识别语音信号的
6、预处理以提高说话人识别率,结构网络,深度残差网络 等卷积神经网络结构也被用于处理说话人识别任务。尽管深度学习的应用使得说话人识别技术有了巨大进步,但目前还存在以下问题:)对于短语的短时语音识别性能差;)缺乏对信道多变性的补偿能力;)对于噪声条件适应性不足,鲁棒性差。笔者提出一种采用知识蒸馏技术,将传统的 方法与深度学习相结合的方法,进行与文本无关的说话人确认。设计所使用的 网络模型结构,并对模型进行训练。比较不同打分后端下基准模型和增加数据增强后的实验结果,以及采用知识蒸馏的 模型与 网络相结合后的实验结果,并对实验结果进行了讨论。基于知识蒸馏与 的声纹识别笔者设计的声纹识别模型方法分为步,如
7、图所示。)对输入语音进行预处理;)对输入语音提取 ,采用训练好的 模型作为教师模型,为学生模型;)将 模型与 模型联合训练;)利用 方法或者余弦方法进行打分。重 庆 大 学 学 报第 卷图基于知识蒸馏与 的声纹识别模型框架图 语音预处理原始语音的预处理主要进行的步骤为:)提取语音数据的 ()特征。)对语音数据进行增强,包括使用噪声数据集与原始数据集叠加合频谱增强方法。特征提取 是频域特征,能更好反映语音信号的特性,由于使用了梅尔频率分布的三角滤波器组,能够模拟人耳的听觉响应特点。特征的提取步骤为:)首先使用一阶高通滤波器应用于原始信号,进行信号预加重,达到提高信号的信噪比与平衡频谱的目的,()
8、()(),()式中:()是预加重后的信号;()为原始语音信号;是预加重系数,其典型值为.或.。)将预加重后的语音分割成多个短时帧,每一帧之间具有部分重叠。接着利用 窗为每一个短时帧进行加窗操作,防止离散傅里叶变化过程中产生频谱泄露。().(),()式中:()即为窗函数;为该帧的采样点数量。)对加窗后的语音信号进行离散傅里叶变换()(),()其中:()为一个短时帧语音信号;()是其频率响应。根据频率响应计算功率频谱()()(),()最后使用梅尔频率均匀分布的三角滤波器对功率谱图进行滤波,得到了 特征,该特征模拟了非第期荣玉军,等:基于知识蒸馏与 的声纹识别线性的人耳的听觉响应。可以通过下列计算公
9、式进行频率和梅尔频率之间进行转换 (),()()。()通过上述过程即可得到作为网络输入的 特征。)特征是频域特征,而通道噪声是卷积性的,其在频域为加性噪声,因此利用倒谱均值归一化方法(,)抑制该噪声。之后利用语音活动检测(,)基于语音帧能量移除语音数据在中的静音段。数据增强在深度学习中,数据集大小决定了模型能够学习到内容的丰富性,对模型的泛化性与鲁棒性起着关键性作用。在研究中将采用种数据增强方式:)离线数据增强;)在线数据增强。离线数据增强方法在 模型中 最先使用,该方法采用个额外的噪声数据集 和 ,其中 数据集由大约 的音频组成,包括种类型:)语音数据,包括可公开获得的听证会、辩论等录音;)
10、音乐数据,包括爵士、说唱等不同风格音乐;)噪声数据,包括汽车声、雷声等噪声。数据集包括具有各种房间配置的模拟房间脉冲响应。离线数据增强的具体方式为,随机采用下列的一种方式进行增强:)语音叠加:从 数据集的语音数据中随机选取条语音,将其叠加后,再以 的信噪比与原始语音相加。)音乐叠加:从 数据集的音乐数据中随机选取一条音频,将其变换至原始语音长度,再以 的信噪比与原始语音相加。)噪声叠加:从 数据集的噪声数据中随机选取一条音频,以为间隔,的信噪比与原始语音相加。)混响叠加:从 数据集中随机选取一条音频,与原始信号进行卷积。在线语音增强方法是一种直接作用于频谱图上的方法,可以在网络接收输入后直接计
11、算。本研究中主要采用在线语音增强的其中种方式:频率掩膜与时间掩膜方式。如图所示,以下设置原始语音特征的频谱特征为:)频率掩膜:特征的频率维度是,设置频率掩膜区间长度为,为可调参数。然后从区间,中任意选取掩膜区间的开始位置,最后对语音特征的,区间进行掩膜操作,即将其区间内的值设置为,该操作可重复多次。)时间掩膜:特征的时间维度是,设置频率掩膜区间长度为,为可调参数。然后从区间,中任意选取掩膜区间的开始位置,最后对语音特征的,区间进行掩膜操作,即将其区间内的值设置为,该操作可重复多次。图频谱增强后的 特征 提取假设一帧语音特征的大小为,即 特则维度为,将数据集中第条语音的特征表示为重 庆 大 学
12、学 报第 卷(),式中:表示该语音的帧数;表示第帧的特征向量,。在 框架中,假设每一帧的特征向量 都由各自的高斯混合模型(,)生成,同一条语音中的不同语音帧特征由同一模型独立分布生成,而每条语音所对应的高斯混合模型都由通用背景模型(,)进行均值超向量平移操作得到(),()式中:,(),为第条语音对应的 的均值超向量,()为 的均值超向量;为 模型分量的数目;为 提取器,定义了总变化矩阵;为总变化空间内服从标准高斯分布的隐变量,对其进行 估计,即可得到 。因此,是一种概率分布模型,通常使用期望极大(,)算法进行训练。接着使用 计算零阶统计量 和一阶统计量 (),()()(),()式中,()为第个
13、高斯分量的后验概率()()(),()()(),(),()接着可通过以下计算得到 (),()式中:为()。()()是 第个分量的协方差矩阵;是,的第个分量。估计总变化矩阵的过程即为 模型的训练过程,使用 算法训练模型,其中步骤为,(),()步骤为 ,()式中,为数据集中包含的语音总数。利用 模型解决短时语音与信道失配问题,并学习到信息“教”给基于 的声纹识别模型。基于 的声纹识别设计笔者设计的基于 声纹识别模型结构如表所示。表 的具体结构 网络层结构输出大小输入层无(,)卷积层,(,)第期荣玉军,等:基于知识蒸馏与 的声纹识别续表网络层结构输出大小残差块,(,)残差块,(,)(,)残差块,(,)
14、(,)统计池化层无()全连接层 ,()批量归一化层无()全连接层 ,()在表中,表示卷积的卷积核的大小、通道数、卷积步长。输出大小中为输入特征的帧数。在每一个残差块后都接有批量归一化层与 激活函数。从表的结构中,网络输入是大小为(,)的张量,特征维度为,网络结构中的卷积层、残差块、残差块对输入采取了通道数翻倍、频率维度减半、时间维度减半的操作。全连接层的输出即为提取的声纹特征,全连接层为分类层,仅仅在训练过程中使用,为训练数据集包含的人数。统计池化层()是声纹识别模型中所特有的结构,用来处理语音输入序列变长问题。卷积层也可以接收不定大小的输入,但对于不同大小的输入,其输出大小也会不同,但在声纹
15、识别任务中,需要将不同大小的特征映射至固定维度大小的声纹特征。残差块将维度为的 特征变为形状为的多通道特征,其中:为通道数;和对应于网络原始输入中的特征维度和,。该特征为局部特征,即帧级特征,且该特征是相邻帧共享。统计池化层的输入为卷积块的输出,研究采用如图所示结构的注意力统计池化 将局部特征转化为全局特征,即语句级特征。图注意力统计池化层结构 首先为每个帧级特征计算标量分数 重 庆 大 学 学 报第 卷 (),()式中:()表示非线性激活函数;为第个通道的特征;,为要学习的参数,接着利用 函数在所有的帧上做归一化操作,得到归一化分数:,()将分数作为每一个通道特征的权重分数,然后计算加权平均
16、向量,()通过这种方式,利用加权平均提取到的语句级特征将关注到信息量更丰富的帧,接着使用加权标准差将统计池化与注意力机制相结合,()将加权平均值与加权标准差拼接后作为全连接层的输入,提高了语句级声纹特征的可区分性。将 提取到的声纹特征记为 。基于知识蒸馏的联合训练后端打分使用种后端打分策略:打分后端与余弦打分后端。)打分计算过程:记条语音的 分别为,使用对数似然比进行打分 (,)(,)()(),(),(),()式中:(,)为条语音来自同一说话人的似然函数,()与()分别为和来自不同说话人的似然函数。)余弦打分后端计算过程:记条语音的 分别为,使用向量的余弦距离计算得分 ,()。()训练损失函数研究使用的第一种损失函数是蒸馏损失,它是 与经 提取到的 之间的均方误差(,),将一个批次中的第个样本的 记为,提取到的 记为,两者之间的损失由以下公式计算d,()式中表示一个批次的大小。通过优化这一损失,可以使 提取到的 向 学习,由于 服从高斯分布,与 中的假设相符,所以使用这种损失可以提高以 为打分后端时的声纹识别模型性能。第二种损失为度量学习损失,采用的为 ()损失,它的计算过程为 ()(