语言: "英文"
缩略图:
标签:
- 自动语音识别
- CTC
- 注意力机制
- pytorch
- speechbrain
许可证: "apache-2.0"
数据集:
- librispeech
评估指标:
- 词错误率(WER)
- 字错误率(CER)
基于LibriSpeech训练的CRDNN结合CTC/注意力机制与RNNLM模型
本仓库提供了一套完整的工具,用于在SpeechBrain框架下执行基于LibriSpeech(英文)预训练的端到端自动语音识别系统。为了获得更好的体验,我们建议您深入了解SpeechBrain。该模型的性能如下:
发布日期 |
测试集词错误率 |
使用的GPU |
2020-05-22 |
3.09% |
1块V100 32GB |
系统架构描述
该ASR系统由三个相互关联的模块组成:
- 分词器(基于unigram算法):将单词转换为子词单元,使用LibriSpeech训练集文本进行训练。
- 神经语言模型(RNNLM):在完整的1000万词数据集上训练。
- 声学模型(CRDNN + CTC/注意力机制):CRDNN结构包含N个卷积神经网络块,在频域进行归一化和池化操作,随后连接双向LSTM和最终的全连接网络,生成同时供给CTC与注意力解码器的声学表征。
系统训练采用16kHz采样率(单声道)的音频。调用transcribe_file时,代码会自动对输入音频进行标准化处理(如重采样和单声道选择)。
安装SpeechBrain
首先执行以下命令安装SpeechBrain:
pip install speechbrain
建议您阅读官方教程以深入了解SpeechBrain。
英文音频文件转录示例
from speechbrain.inference.ASR import EncoderDecoderASR
asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-crdnn-rnnlm-librispeech", savedir="pretrained_models/asr-crdnn-rnnlm-librispeech")
asr_model.transcribe_file('speechbrain/asr-crdnn-rnnlm-librispeech/example.wav')
GPU加速推理
在调用from_hparams
方法时添加run_opts={"device":"cuda"}
参数即可启用GPU推理。
批量并行推理
请参考此Colab笔记本了解如何使用预训练模型并行转录多个音频文件。
训练流程
该模型基于SpeechBrain(提交哈希:'2abd9f01')训练。从零开始训练的步骤如下:
- 克隆仓库:
git clone https://github.com/speechbrain/speechbrain/
- 安装依赖:
cd speechbrain
pip install -r requirements.txt
pip install -e .
- 启动训练:
cd recipes/LibriSpeech/ASR/seq2seq/
python train.py hparams/train_BPE_1000.yaml --data_folder=您的数据目录
训练结果(模型、日志等)可在此链接查看。
使用限制
SpeechBrain团队不对该模型在其他数据集上的表现提供任何性能保证。
关于SpeechBrain
- 官网: https://speechbrain.github.io/
- 代码库: https://github.com/speechbrain/speechbrain/
- HuggingFace主页: https://huggingface.co/speechbrain/
引用SpeechBrain
如果您在研究中使用了SpeechBrain,请引用我们的工作:
@misc{speechbrain,
title={{SpeechBrain}: 通用语音工具包},
author={Mirco Ravanelli等},
year={2021},
eprint={2106.04624},
archivePrefix={arXiv},
primaryClass={eess.AS},
note={arXiv:2106.04624}
}