ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

ESPnet2 哈萨克语语音识别(KSC)Transformer 基线配方:配置、复现与 WER/CER/TER 评测结果解析

ESPnet2 哈萨克语语音识别(KSC)Transformer 基线配方:配置、复现与 WER/CER/TER 评测结果解析 人工智能语音音频深度学习NLP【免费下载链接】espnetEnd-to-End Speech Processing Toolkit项目地址https://gitcode.com/gh_mirrors/es/espnet点击查看免费下载本篇文章围绕 ESPnetEnd-to-End Speech Processing Toolkit仓库中哈萨克语语音识别KSC, Kazakh Speech CorpusASR 配方展开以 RESULTS.md 记录的实验结果为核心结合 run.sh、conf/train.yaml、conf/decode.yaml 等仓库文件完整呈现该 Transformer 基线系统的数据准备、BPE 词表、模型结构、解码策略与全部评测指标。读者阅读后可掌握 ESPnet2 在低资源/中等资源语音识别配方中的标准做法并可直接复现该基线结果。一、配方背景KSC 哈萨克语语音库与目录结构KSC 配方位于egs2/ksc/asr1/目录属于 ESPnet2 的 egs2 实验体系espnet/espnet 仓库egs2目录按语料库组织配方。从 download_data.sh 可以看到数据来自 OpenSLR 的ISSAI_KSC_335RS_v1.1_flac编号 102压缩包下载后解压为 FLAC 音频、逐句转写文本Transcriptions与切分元信息Meta目录下的 CSV三个部分。从目录名中的 335RS 可以推断该语料约为 335 小时的朗读语音Read Speech属于中型规模语料适合验证中低资源语言上端到端 ASR 基线的搭建流程。该配方目录的核心文件包括文件作用run.sh一键入口声明数据集划分、token 类型、配置路径后调用通用asr.shasr.shESPnet2 通用 ASR 流水线数据准备 → 特征 → token 化 → 训练 → 解码 → 打分conf/train.yaml训练配置Transformer 编码器/解码器、SpecAugment、优化器conf/decode.yaml解码配置beam search 参数local/data.sh调用下载与数据整理脚本local/prepare_data.sh由 CSV 元信息生成data/{train,dev,test}目录RESULTS.md本文核心环境信息、模型链接与 WER/CER/TER 结果表数据整理阶段prepare_data.sh会遍历Meta/下每个 CSV 文件逐个生成对应的data/子目录并为每个语句写入三行 Kaldi 风格数据转写文本写入textFLAC 路径写入wav.scp以语句 ID 作为说话人写入utt2spk最后调用utils/fix_data_dir.sh与utils/validate_data_dir.sh校验目录完整性。CSV 文件名即集合名因此最终产出data/train、data/dev、data/test三个集合与 run.sh 中train_settrain、valid_setdev、test_setstest dev的声明一一对应。二、训练配置解析Transformer SpecAugment 基线conf/train.yaml 定义了一套标准的 Transformer 编码器-解码器 ASR 模型所有参数以 YAML 形式传给 ESPnet2 的训练入口。各配置段含义如下。2.1 通用训练策略batch_type: folded batch_size: 128 accum_grad: 1 max_epoch: 100 patience: 5 init: xavier_uniform best_model_criterion: - - valid - acc - max keep_nbest_models: 10 use_amp: truebatch_type: folded配合batch_size: 128按总样本数折叠成等量 batch避免长短句混批时浪费显存max_epoch: 100与patience: 5最多训练 100 个 epoch验证集指标连续 5 个 epoch 不改善即早停best_model_criterion指定以验证集准确率valid/acc最大化为模型选择依据keep_nbest_models: 10保留历史最优的 10 个 checkpoint供解码时选取valid.acc.ave平均模型使用use_amp: true启用混合精度训练加快速度并降低显存占用。2.2 Transformer 编码器与解码器encoder: transformer encoder_conf: output_size: 256 attention_heads: 4 linear_units: 2048 num_blocks: 12 dropout_rate: 0.1 positional_dropout_rate: 0.1 attention_dropout_rate: 0.0 input_layer: conv2d normalize_before: true decoder: transformer decoder_conf: attention_heads: 4 linear_units: 2048 num_blocks: 6 dropout_rate: 0.1 positional_dropout_rate: 0.1 self_attention_dropout_rate: 0.0 src_attention_dropout_rate: 0.0编码器为 12 层 Transformer模型维度output_size: 256、FFN 隐层linear_units: 2048、4 头注意力属于较小规模的编码器配置input_layer: conv2d表示输入采用 Conv2D 子采样层ESPnet 中用于对 FBank 特征进行时间和频域降采样在送入 Transformer 前压缩帧率解码器为 6 层 Transformer结构与编码器对应normalize_before: true采用 Pre-Norm 结构LayerNorm 置于子层之前训练更稳定。2.3 模型级超参数CTC 与标签平滑model_conf: ctc_weight: 0.3 lsm_weight: 0.1 length_normalized_loss: falsectc_weight: 0.3最终损失为 CTC 与注意力attention损失的加权和CTC 占 0.3。CTC 分支在训练时提供额外监督在解码时可参与 beam search 融合该配方解码配置中ctc_weight: 0.1即使用该 CTC 分支lsm_weight: 0.1标签平滑权重 0.1缓解过拟合length_normalized_loss: false注意力损失不做长度归一化。2.4 优化器与学习率调度optim: adam optim_conf: lr: 1.0e-4 scheduler: warmuplr scheduler_conf: warmup_steps: 30000采用 Adam 优化器初始学习率1.0e-4配合 ESPnet 内置的warmuplr调度器前 30000 步线性 warmup 到峰值后按1/√step衰减这是 Transformer 类 ASR 训练的标准做法。2.5 SpecAugment 数据增强specaug: specaug specaug_conf: apply_time_warp: true time_warp_window: 5 time_warp_mode: bicubic apply_freq_mask: true freq_mask_width_range: - 0 - 27 num_freq_mask: 2 apply_time_mask: true time_mask_width_ratio_range: - 0. - 0.05 num_time_mask: 10时间弯曲窗口 5 帧双三次插值频率掩码宽度 027、施加 2 个时间掩码宽度为帧长的 05%、施加 10 个该增强在训练时动态作用于 FBank 特征是提升鲁棒性与最终 CER/WER 的关键组件之一。三、解码配置与模型选择conf/decode.yaml 仅两行却决定了推理的核心行为beam_size: 10 ctc_weight: 0.1beam_size: 10beam search 宽度为 10ctc_weight: 0.1解码时在注意力得分基础上按 0.1 权重融合 CTC 得分其余 0.9 权重来自 Transformer 解码器。在 ESPnet2 中--inference_asr_model默认选择valid.acc.ave.pth验证准确率最高的若干 checkpoint 的平均权重见 asr.sh 中inference_asr_modelvalid.acc.ave.pth与训练配置里best_model_criterion的valid/acc max相互呼应。RESULTS.md 中记录的解码目录正是decode_asr_model_valid.acc.ave即使用该平均模型进行推理的结果。四、运行入口run.sh 的关键参数run.sh 是复现本配方的唯一入口其参数组合直接决定了实验属性./asr.sh \ --token_type bpe \ --nbpe 2000 \ --use_lm false \ --max_wav_duration 30.0 \ --speed_perturb_factors 0.9 1.0 1.1 \ --asr_config ${asr_config} \ --inference_config ${inference_config} \ --train_set ${train_set} \ --valid_set ${valid_set} \ --test_sets ${test_sets} \ --bpe_train_text data/local/text $--token_type bpe --nbpe 2000使用 SentencePiece 学习 2000 词元的 BPE 词表unigram 模式bpemode默认unigram。从 asr.sh 可见训练目录名会据此自动生成为asr_train_raw_bpe2000_sp_sp后缀来自速度扰动开关与 RESULTS.md 的实验目录完全一致--use_lm false不训练外部语言模型属于纯 E2E仅编码器-解码器基线这解释了为什么结果表没有 LM 重打分带来的增益--max_wav_duration 30.0过滤超过 30 秒的长语音asr.sh 中max_wav_duration默认 20此处显式放宽到 30同时--min_wav_duration默认 0.1 秒--speed_perturb_factors 0.9 1.0 1.1三倍速扰动0.9/1.0/1.1相当于把训练数据扩充 3 倍是低资源语料上最常用的无监督数据增强--bpe_train_text data/local/text指定 BPE 词表训练的文本来源。数据流经 asr.sh 的 stage 流水线Stage 1 数据准备local/data.sh→ Stage 2 速度扰动 → Stage 3 音频格式统一feats_typeraw下由scripts/audio/format_wav_scp.sh将 wav.scp 重写为可直接读取的格式audio_formatflac、fs16k→ Stage 4 长短句过滤 → Stage 5 BPE token 生成spm_train训练 2000 词元模型tokens.txt首尾分别为blank与sos/eos→ 之后为统计、训练、解码与打分阶段。五、实验结果详解WER / CER / TER 全表以下三张表格完整摘自 RESULTS.md对应模型exp/asr_train_raw_bpe2000_sp/decode_asr_model_valid.acc.ave速度扰动 2000 BPE Transformer 的验证集最优平均模型。表头中Snt为句子数Wrd为词/字/音素参考总数Corr/Sub/Del/Ins分别表示正确率、替换率、删除率、插入率百分比Err为总错误率S.Err为句子级错误率。5.1 WER词错误率datasetSntWrdCorrSubDelInsErrS.Errtest33343588490.68.60.81.110.555.1dev32833527589.010.01.01.212.159.0词级指标上测试集 WER 10.5%正确率 90.6%开发集 12.1%。值得注意的是S.Err句子级错误率高达 55.1% / 59.0%说明尽管词级错误被压到 10% 左右仍有超过一半的句子至少含一个词错误——这是中低资源语言 ASR 的典型分布错误集中在少数难句上多数句子可以整句正确。5.2 CER字符错误率datasetSntWrdCorrSubDelInsErrS.Errtest333425955297.91.20.90.82.955.1dev328325360097.41.41.21.03.559.0字符级指标明显更优测试集 CER 仅 2.9%正确率 97.9%。参考总数为 259552 字约为词数35884的 7.2 倍符合哈萨克语西里尔字母书写词长较长的特征。CER 远低于 WER说明词错误主要来自词内字符组合层面的替换而非字符识别本身。5.3 TER音素/音节类错误率datasetSntWrdCorrSubDelInsErrS.Errtest33347170791.95.62.51.19.255.1dev32836942890.56.72.81.310.859.0测试集 TER 9.2%介于 WER 与 CER 之间。TER的参考单元数为 71707test介于词35884与字符259552之间其删除率2.5/2.8明显高于 WER 与 CER反映了中间粒度单元上对齐的不确定性。三表横向对比test 集WER 10.5% TER 9.2% CER 2.9%符合不同粒度评估的常规层级关系三张表的 S.Err 完全一致55.1% / 59.0%印证 ESPnet2 打分脚本对三种粒度使用相同的句子级判定逻辑。六、运行环境与复现条件RESULTS.md 记录的实验环境即作者复现时的实测环境非仓库的硬性要求dateMon May 15 16:32:55 CST 2023python version3.8.16 (default, Mar 2 2023, 03:21:46) [GCC 11.2.0]espnet versionespnet 202304pytorch versionpytorch 1.13.1Git hash3949a7db023d591e91627efb997eda353b54005dCommit dateThu May 11 17:54:50 2023 0800复现要点按 README.md 与tools/下安装脚本完成 ESPnet2 环境安装在egs2/ksc/asr1/下设置 db.sh 中的KSC路径默认downloads即由脚本自动下载 OpenSLR 语料也可改为本地已下载的语料目录并确认cmd.sh中的并行调度方式本地 run.pl / PBS / Slurm直接执行./run.sh即可按 asr.sh 的 stage 顺序完成全部流程若只做推理验证可用--skip_train true跳过训练阶段。七、结果表的生成机制RESULTS.md 并非手写而是由 ESPnet2 的show_asr_result.sh脚本自动生成文件首行注释!-- Generated by scripts/utils/show_asr_result.sh --即为证据。该脚本位于 show_asr_result.sh其工作流程如下打印运行日期、Python/ESPnet2/PyTorch 版本、Git hash 与 commit date形成「Environments」小节遍历exp/目录下所有实验子目录检测score_wer/result.txt、score_cer/result.txt、score_ter/result.txt对 WER/CER/TER 三种指标分别解析result.txt中的Sum/Avg统计行转换为 Markdown 表格输出。因此用户每次重新训练或解码后都可在此目录下重新运行scripts/utils/show_asr_result.sh刷新自己的结果表与官方 RESULTS.md 对比复现一致性。八、模型发布该基线模型以khassan_KSC_transformer为模型标识发布在 Hugging Face 平台的 espnet 组织下见 RESULTS.md 的 HuggingFace model link 小节。结合 asr.sh 中的--hf_repo与skip_upload_hf参数可知ESPnet2 支持在训练/打包后自动将模型上传到 Hugging Face 仓库便于社区直接下载权重进行推理或微调这也是 ESPnet 官方 Recipe 的标准发布路径。总结egs2/ksc/asr1是 ESPnet2 上一个完整、可复现、结果透明的哈萨克语 ASR 基线配方以 2000 词元 BPE 速度扰动 12 层 Transformer 编码器/6 层解码器 SpecAugment 为骨架在不使用外部语言模型的情况下于 KSC 测试集取得 WER 10.5%、CER 2.9%、TER 9.2% 的成绩。无论是希望复现该基线、在其上继续调优如加入 LM、改用 Conformer、增大 BPE 词表还是把它作为低资源语系 ASR 的模板配方本配方及其结果表都提供了清晰完整的参照。赞分享人工智能语音音频深度学习NLP【免费下载链接】espnetEnd-to-End Speech Processing Toolkit项目地址https://gitcode.com/gh_mirrors/es/espnet点击查看免费下载相关推荐ESPnet LRS3 音频语音识别ASR基线实验Transformer 无语言模型配置的 WER/CER/TER 结果解读与复现ESPnet LRS3 音频语音识别ASR基线实验Transformer 无语言模型配置的 WER/CER/TER 结果解读与复现 导读 本文围绕 ESP人工智能语音音频深度学习NLPESPnet2 低资源语言语音识别实战Puebla 纳瓦特尔语 ASR 配方全流程与 WER/CER/TER 结果解读ESPnet2 低资源语言语音识别实战Puebla 纳瓦特尔语 ASR 配方全流程与 WER/CER/TER 结果解读 本文围绕 egs2/puebla_na人工智能语音音频深度学习NLPESPnet2 方言语音识别实战iwslt22_dialect 配方评测结果、Conformer/Transformer 配置与复现指南ESPnet2 方言语音识别实战iwslt22_dialect 配方评测结果、Conformer/Transformer 配置与复现指南 导读 本文以 ESP人工智能语音音频深度学习NLP上一篇N_m3u8DL-RE多流下载:双音轨一次全拿下下一篇网盘直链解析工具终极指南告别限速的完整解决方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表