🚀 Wav2Vec2-Large-Robust在Switchboard上微调
本模型基于Facebook的Wav2Vec2,是在wav2vec2-large-robust模型基础上进行微调得到的。它可用于语音识别任务,能处理多种语音数据,在嘈杂的电话语音数据上表现出色。
🚀 快速开始
本模型是 wav2vec2-large-robust 模型的微调版本。它在以下数据集上进行了预训练:
随后,该模型在300小时的 Switchboard 电话语音语料库(嘈杂的电话数据)上进行了微调。
使用该模型时,请确保输入的语音采样率为16Khz。
相关论文:Paper Robust Wav2Vec2
作者:Wei - Ning Hsu, Anuroop Sriram, Alexei Baevski, Tatiana Likhomanenko, Qiantong Xu, Vineel Pratap, Jacob Kahn, Ann Lee, Ronan Collobert, Gabriel Synnaeve, Michael Auli
摘要
语音表征的自监督学习是一个非常活跃的研究领域,但大多数工作都集中在单一领域,例如有大量标注和未标注数据的朗读有声书籍。在本文中,我们探索了更通用的设置,即预训练的未标注数据领域与微调的标注数据领域不同,而这两者又可能与测试数据领域不同。我们的实验表明,在预训练期间使用目标领域数据可在各种设置下大幅提高性能。在大规模竞争设置中,我们发现对未标注的领域内数据进行预训练可使在领域内和领域外标注数据上训练的模型之间的差距缩小66% - 73%。这具有明显的实际意义,因为获取未标注的目标领域数据比获取标注数据容易得多。此外,我们发现对多个领域进行预训练可提高在训练期间未见过的领域上的泛化性能。代码和模型将在指定的URL上提供。
原始模型可在 https://github.com/pytorch/fairseq/tree/master/examples/wav2vec#wav2vec-20 找到。
✨ 主要特性
- 多领域预训练:在多个不同的语音数据集上进行预训练,包括有声书籍、众包语音和电话语音等,增强了模型的泛化能力。
- 特定领域微调:在Switchboard电话语音语料库上进行微调,使其在嘈杂的电话语音识别任务中表现出色。
📦 安装指南
暂未提供安装步骤相关内容,若有需要,可参考原始模型的安装说明。
💻 使用示例
基础用法
from transformers import Wav2Vec2Processor, Wav2Vec2ForCTC
from datasets import load_dataset
import torch
processor = Wav2Vec2Processor.from_pretrained("facebook/wav2vec2-large-robust-ft-swbd-300h")
model = Wav2Vec2ForCTC.from_pretrained("facebook/wav2vec2-large-robust-ft-swbd-300h")
ds = load_dataset("patrickvonplaten/librispeech_asr_dummy", "clean", split="validation")
input_values = processor(ds[0]["audio"]["array"], return_tensors="pt", padding="longest").input_values
logits = model(input_values).logits
predicted_ids = torch.argmax(logits, dim=-1)
transcription = processor.batch_decode(predicted_ids)
高级用法
暂未提供高级用法的相关代码示例。
📚 详细文档
数据集信息
属性 |
详情 |
训练数据集 |
Libri - Light、CommonVoice、Switchboard、Fisher |
微调数据集 |
Switchboard |
注意事项
⚠️ 重要提示
使用该模型时,请确保输入的语音采样率为16Khz。
🔧 技术细节
本模型基于自监督学习,通过在多个不同的语音数据集上进行预训练,学习到语音的通用特征。然后在Switchboard电话语音语料库上进行微调,以适应嘈杂的电话语音环境。实验表明,在预训练期间使用目标领域数据可显著提高模型在各种设置下的性能,对多个领域进行预训练可提高模型在未见过领域上的泛化能力。
📄 许可证
本模型使用的许可证为 apache - 2.0
。