Wespeaker: 面向研究与产品的说话人表征学习工具包
发布网友
发布时间:2024-08-20 03:57
我来回答
共1个回答
热心网友
时间:2024-08-30 11:10
Wenet 社区推出了 wespeaker,一个专注于研究和产品的说话人表征学习框架。wespeaker 以其高质量、轻量级、面向产品、支持工业级数据训练和在线数据增强等特点受到欢迎。ICASSP 2023已接收相关工作,论文预览版可在 arxiv.org/pdf/2210.1701 查阅。
说话人表征学习是语音识别中关键的一环,被广泛应用于说话人身份认证、个性化交互等领域。近年来,固定维度的向量表征成为说话人建模的主要形式,从基于因子分析的i-vector逐渐过渡到流行的神经网络方案。
典型的说话人网络包括帧级别的特征学习层、特征聚合层和段级别表征学习层,通过说话人区分性的训练准则进行学习,并在段级别层提取说话人表征。
wespeaker 的系统流程包括本地数据准备、在线特征准备、模型训练、模型部署、说话人表征提取以及相关下游任务使用。其官方repo简洁明了,整体架构清晰。
在数据管理方面,wespeaker 支持UIO方式,对不同规模的数据集进行支持。对于小数据集,采用lmdb格式存储;对于大规模数据集,推荐采用shard模式。此外,为了兼容业界常用的kaldi特征存储格式,wespeaker也保留了feats接口。
在线特征准备相较于传统的离线特征准备具有两大优势。wespeaker支持流行的、性能表现良好的主流模型,包括margin based softmax系列训练准则、精细的学习率调节方案与损失函数的margin调节方案,以及比赛中常用到的长语音、large margin finetune recipe。
wespeaker 提供了cosine打分策略、PLDA打分策略、分数规整策略、EER/DCF/DER计算策略与相关的 DET 作图支持。目前,wespeaker包括了三个recipe:VoxCeleb、CNCeleb和VoxConverse,分别关注说话人确认任务和说话人日志任务。
wespeaker 支持onnx格式导出,并提供了triton inference server的相关实现。同时,wespeaker 提供了在两个开源数据集上的 resnet34 预训练模型,包括 runtime 的onnx 版本与 pytorch 的pt checkpoint。
pip install / 预训练模型体验
为了方便用户聚焦于下游任务,wespeaker 提供了中文、英文的预训练模型,并且提供了 工具包的python binding。
未来,wespeaker 将更关注轻量化的代码框架、sota模型以及部署相关的实现。
欢迎大家使用wespeaker,服务于各种下游任务,也欢迎社区的贡献和宝贵建议!