说话人确认旨在根据说话人声音的生物信息来确定话者的身份。该项技术在语音识别、语音合成、特定说话人语音提取等领域有重要的应用价值。当前主流的说话人识别系统是基于神经网络的,通常需要昂贵的存储和计算资源,从而阻碍了它们在移动设备上的部署。
近期,上海交通大学听觉认知与计算声学实验室的论文“Towards Lightweight Speaker Verification via Adaptive Neural Network Quantization”被语音领域顶级期刊IEEE/ACM Transactions on Audio, Speech and Language Processing (TASLP) 接收。该论文首先提出了一种新颖的基于K均值聚类的单一精度量化方法。为提升低比特量化模型的性能,进一步引入了混合精度量化算法和多阶段微调策略。此外,我们还设计了两种不同的二值量化方案,以减轻1比特量化模型性能的下降。实验结果表明,该方法能够在ResNets和DF-ResNets上实现8倍无损压缩。与现有轻量级系统相比,我们提出的模型在各尺寸范围内的表现显著优于现有的方法。现对该论文进行简要的解读和分享。

Towards Lightweight Speaker Verification via Adaptive Neural Network Quantization

作者列表:刘贝,王浩宇,钱彦旻

论文:https://ieeexplore.ieee.org/document/10623284


背景动机

说话人确认指的是给定注册和测试语音,系统自动判定是否属于同一个说话人[1]。一般来说,说话人确认系统存在两个模块,一是向量提取器,用来从语音中提取说话人向量表征;二是向量相似度打分器。目前主流的系统都是基于神经网络的,包含帧级别特征提取器、段级别向量聚合器以及说话人分类器。为了提升系统的性能和鲁棒性,研究者在模型架构、池化策略和损失函数等方面进行了研究。
针对模型架构,最近不同类型的网络模型被提出,包括:延时神经网络(TDNN)[2]、卷积神经网络(CNN)[3]和Transformer[4]等。延时神经网络的代表性工作有x-vector、ECAPA-TDNN等。卷积神经网络有ResNet及其各种变体。此外,最近的研究表明,增加神经网络的深度可以带来性能的持续提升。一些基于深度优先的网络结构被设计出来,例如 DF-ResNets[5]。
尽管参数规模更大、更复杂的架构已带来显著的性能提升,但这些系统的大量存储和计算需求通常会对在移动设备上部署它们造成障碍。事实上,设计适合移动设备的轻量级说话人确认系统是一项具有挑战性的任务。
首先我们提出了一种基于 K 均值聚类的自适应单一精度量化算法,可以根据每层权重的分布动态地生成量化中心点。另外,为了进一步提升低比特量化模型的性能,我们引入了一种与多阶段微调策略先结合的混合精度量化方法,它可以根据每一层敏感度的不同分配相应的量化比特数。最后,针对 1 比特量化场景,我们提出了一种两种不同的改进策略,分别是静态二值量化和动态二值量化。

方案

自适应单一精度量化


图2 自适应单一精度量化流程


该算法具体分为三个步骤:

1. 划分区间:将预训练的权重分布按照等间距进行区分。

2. 聚类:利用 K-Means 聚类算法,对于每一个部分单独生成质心。

3. 按比例映射:将得到的质心重新映射到 [-1, 1]之间。


图3 不同量化算法中心点对比


混合精度量化


图4 混合精度量化流程


我们进一步提出混合精度量化,具体流程如下:

1. 确定候选量化精度:根据指定的压缩比,确定相应的可选择比特数。

2. 混合精度搜索:根据每个网络层敏感度的不同,搜索最优的精度组合。

3. 微调:根据每层量化精度的不同进行多次微调。


二值量化


图5 二值量化算法


静态量化:


动态量化:


实验配置

实验数据

本文采用Voxceleb1&2[6-7]作为实验数据,其中Voxceleb2 dev作为训练集(包含5,994个说话人和1,092,009语句)、Voxceleb1作为测试集。此外,使用了三种不同的数据增广技术用来提高训练集的多样性,包括:Speed Perturb、Online Data Aug和SpecAugment。


评估指标

使用余弦距离作为说话人向量之间的相似度指标,同时采用动态分数归化 (AS-Norm)用于后端处理。等错误率(EER)和最小检测成本函数(MinDCF)当作模型性能度量。


实验结果

单一精度量化效果评估

实验结果如表1和表2所示。从结果中可以看出,在ResNets和DF-ResNets上,我们提出的KMQAT在4比特量化的情况下,达到了接近8倍的压缩比,同时模型性能几乎没有损失。此外,与传统的单一精度量化算法相比,我们的方法在低比特量化场景中表现更为优异。这充分证明了我们方法的有效性和鲁棒性,说明通过聚类得到的中心点能够更好地匹配实际权重的分布。


表1 全精度和量化后的ResNets 性能



表2 全精度和量化后的DF-ResNets 性能


混合精度量化效果评估

实验结果如表1和表2所示。我们发现,在ResNets和DF-ResNets上,与单一精度相比,混合精度在相似压缩比条件下能够实现更优的性能表现。在实验中,我们采用了不同的候选比特数,生成了多种等效量化模型,并分析了四种不同情况:2比特、1.7比特、1.3比特和1.1比特。这些模型在不同情况下均实现了性能提升。这表明,不同网络层对性能的敏感度各不相同,通过合理分配不同的精度,可以更好地保持量化后模型的性能。

混合精度量化效果评估

从表1和表2可以看出,原始的量化方法在1比特场景下与全精度模型相比,性能下降显著。我们设计的两种二值量化算法显著提升了性能,进一步验证了我们方法的优越性。


模型性能和规模分析


图6 各模型性能和规模比较


从图6可以看出,无论在何种模型和规模下,我们的量化算法相比传统的单一精度方法,实现了更优的平衡。


权重分布分析


图7 ResNet34权重分布图


从图7可以看出,预训练权重的分布呈现钟形,其中大部分的权重集中在0附近。传统的量化算法无法准确的匹配真实权重的分布,导致产生比较大的量化误差。相比之下,我们提出的KMQAT策略可以更好的符合真实分布。


与其他系统的对比


表3 和各种不同轻量化系统的结果比较


我们跟现有的轻量化模型结果做了一个全面的比较和分析。如表3所示,我们所提出的模型在各种尺寸范围内都优于之前发布的说话人确认系统,实现了最好的性能。


总结

本文探索了用于轻量级说话人确认的自适应神经网络量化。首先,我们引入了一种创新的自适应单一精度量化技术。为了进一步提升低比特量化模型的性能,我们开发了一种将混合精度量化与多阶段微调策略相结合的算法。随后,针对1比特场景,我们提出了两种二值量化方案。实验结果显示,ResNets和DF-ResNets在实现4比特单一精度量化时,性能几乎没有损失。此外,与均匀精度方法相比,混合精度量化在模型大小相近的情况下表现出更优异的性能。同时,我们设计的1比特量化方案显著提升了性能。最终,与现有的轻量级系统相比,我们的模型在各种场景下表现更为出色。

参考文献

[1] N. Dehak, P. J. Kenny, R. Dehak, P. Dumouchel, and P. Ouellet, “Front-end factor analysis for speaker verification,” IEEE Trans. Audio, Speech, Lang. Process., vol. 19, no. 4, pp. 788–798, May 2011.

[2] B. Desplanques, J. Thienpondt, and K. Demuynck, “ECAPA-TDNN: Emphasized channel attention, propagation and aggregation in TDNN based speaker verification,” in Proc. Interspeech, 2020, pp. 3830–3834.

[3] H. Zeinali, S. Wang, A. Silnova, P. Matˇejka, and O. Plchot, “But system description to VoxCeleb speaker recognition challenge 2019,” 2019, arXiv:1910.12592.

[4] B. Han, Z. Chen, and Y. Qian, “Local information modeling with selfattention for speaker verification,” inProc. IEEE Int. Conf. Acoust., Speech, Signal Process., 2022, pp. 6727–6731.

[5] B. Liu, Z. Chen, and Y. Qian, “Depth-first neural architecture with attentive feature fusion for efficient speaker verification,” IEEE Trans. Audio, Speech, Lang. Process., vol. 31, pp. 1825–1838, 2023.

[6] A. Nagrani, J. S. Chung, and A. Zisserman, “Voxceleb: A large-scale speaker identification dataset,” in Proc. Interspeech, 2017, pp. 2616–2620.

[7] J. S. Chung, A. Nagrani, and A. Zisserman, “VoxCeleb2: Deep speaker recognition,” in Proc. Interspeech, 2018, pp. 1086–1090.