- runtime模块重磅发布 -
ASV-Subtools是厦门大学智能语音实验室(XMUSPEECH)于2020年6月推出的一套高效、易于扩展的声纹识别开源工具,该工具是基于Kaldi与Pytorch开发的,充分结合了Kaldi 在语音信号和后端处理的高效性以及PyTorch 开发和训练神经网络的便捷灵活性。
ASV-Subtools 自开源以来,就以卓越的性能和灵活便捷的框架受到国内外重点科研院所和研发人员的青睐,先后在东方语种、CNSRC等竞赛中提供基线系统,并且在VoxCeleb数据集上取得了SOTA的结果。
CNSRC脚本和此次更新得到厦门天聪智能软件有限公司(TalentedSoft)的协助。
PyTorch 是一个 Python 优先的深度学习框架,能够在强大的 GPU 加速基础上实现张量和动态神经网络。然而,在工业生产环境下,纯Python形式调用无法适应不同的系统环境,并存在性能过低的问题,难以达到低延迟和严格部署的要求,C++往往是更通用的选择。而为了让训练出来的声纹模型可以快速地部署并满足实时率的要求,我们为ASV-Subtools设计增加了Runtime模块。
【 Runtime模块工程结构图 】
Runtime模块工程分为四个部分。
首先,frontend模块负责前端处理语音信号与特征提取功能。
其次,extractor模块涉及embedding的提取,是整个模块的核心部分,主要负责读取模型及模型推理。
然后,processor模块为后续打分模块,提取的x-vector通过score模块打分并与阈值对比进而判断是否为正例。
最后,utils模块为一些通用工具,比如日志,配置文件读取等。
【 Runtime模块调用流程示意图 】
在这个流程中,原始语音首先经过frontend模块,语音转化成数字信号后,在计算声学特征之前转化为tensor形式的数据类型,随后利用Kaldifeat计算声学特征。extractor模块首先读取之前准备好的模型并进行初始化,接收声学特征后进行embedding提取。此外,在此模块中也集成了常用的均值归一化(CMN)以及基于能量的语音活动检测(VAD)功能。最后,将提取的x-vector存储后进入后处理(processor)模块,后处理模块实现了余弦近似度打分,得到阈值后对样例进行判断。
现在开源的代码已经封装好了整个Runtime的工程,并提供Cmake一键构建项目,即生成可执行文件。
【 Conformer xvector 网络结构图 】
Conformer是一种混合架构,它将注意力机制与卷积相结合,即通过Self-attention学习全局交互,而CNN捕获局部信息。这种的卷积与自注意机制的混合设计可以很好地对长短信息建模,而且通常认为自注意力机制的网络模型容量大于卷积网络,因此更适合对大规模数据进行建模。
实验结果表明,Conformer基本上能达到ECAPA的效果。此外,ASV下的通用方法诸如Large-Margin finetune、AS-Norm在Conformer xvector中同样适用。实验数据为VoxCeleb2的开发集,ECAPA选择1024 Channel配置,而Conformer为与经典ASR-Conformer配置。6L-256D-4H-4Sub代表6层4头256维,下采样4,其参数量与ECAPA相当,此时效果与ECAPA相当。而两倍下采样配置保留更多声学信息,效果超过了ECAPA,代价是更多的计算量。
此外,我们在Runtime下单线程测试了主流模型实时率(RTF)。4倍下采样Conformer相比同参数ECAPA架构RTF下降约64.7%,由于自注意力机制的二次复杂性,2倍下采样的RTF约是4倍下采样的3倍。从部署方面看,Conformer主要由线性层构成,而Pytorch中动态量化支持线性层与RNN结构,相比CNN结构更易实现,实际模型大小及RTF可进一步降低。
更多细节可查看论文
①新增Subtools使用文档,文档内容包括了基本的声纹理论知识和ASV-Subtools的环境配置流程以及基础实验步骤。
②大家可以根据文档很快上手
ASV-Subtools~ (点击下方链接下载文件)
https://github.com/Snowdar/asv-subtools/tree/master/doc
③新增large-Margin finetune策略脚本。
1.GitHub
https://github.com/Snowdar/asv-subtools
欢迎各位读者关注、点星、提意见~
2.参考文献
如果工具对你有用的话,请添加如下引用
Fuchuan Tong, Miao Zhao, Jianfeng Zhou, Hao Lu, Zheng Li, Lin Li, Qingyang Hong, “ASV-Subtools: Open Source Toolkit for Automatic Speaker Verification”, ICASSP 2021.
https://ieeexplore.ieee.org/document/9414676/