首页/新闻资讯/正文详情

ESPnet JSUT 日语语音识别实战指南:E-Branchformer、Conformer 与 Transformer 全对比

发布时间:2026/9/25 7:22:55 来源:云帆数科 栏目:资讯中心
ESPnet JSUT 日语语音识别实战指南:E-Branchformer、Conformer 与 Transformer 全对比
人工智能语音音频深度学习NLP【免费下载链接】espnetEnd-to-End Speech Processing Toolkit项目地址https://gitcode.com/gh_mirrors/es/espnet点击查看免费下载本指南以 ESPnet 仓库中egs2/jsut/asr1配方及其 README 记录为核心系统讲解如何基于日语朗读语料库 JSUT 训练端到端语音识别ASR模型。文中完整收录 README 中 E-Branchformer、Conformer、Transformer 与 RNN 四类模型的配置与 CER 评测结果并结合仓库内真实配置文件和源码如espnet2/asr/encoder/e_branchformer_encoder.py逐项解读参数含义帮助你理解 ESPnet 2 配方的完整调用链数据准备 → 特征提取 → 模型训练 → 解码评测并掌握 E-Branchformer 这一兼顾全局注意力与局部卷积建模能力的新一代编码器。JSUT 数据集与配方目录结构JSUTJapanese Speech corpus of Saruwatari laboratory, University of Tokyo是日语单说话人朗读语音数据集采样率 48kHz包含 basic5000、loanword128、onomatopee300、repeat500、travel1000 等多个子集。在 ESPnet 中egs2/jsut/asr1配方将其降采样到 16kHz 用于 ASR 实验README 中同时记录了 16k 与 48k 两套实验的历史结果。配方目录关键文件如下文件/目录作用run.sh一键训练入口封装对asr.sh的调用asr.shESPnet2 通用 ASR 流水线主脚本conf/tuning/各模型调优配置E-Branchformer/Conformer/Transformer/RNNconf/decode_transformer.yaml解码参数配置conf/train_lm.yaml语言模型训练配置local/download.sh数据集自动下载脚本local/data_prep.sh、local/change_sampling_rate.sh数据切分与降采样db.sh语料路径配置JSUTdownloads表示自动下载从 db.sh 第 101 行可以看到JSUTdownloads配合 local/download.sh 中的逻辑脚本会通过wget http://ss-takashi.sakura.ne.jp/corpus/jsut_ver1.1.zip下载并解压语料同时从r9y9/jsut-lab克隆 full-context label 用于对齐标签扩展若目标目录已存在则自动跳过Already exists. Skipped.。一键运行run.sh 入口参数全解析JSUT asr1 的 run.sh 展示了 ESPnet2 配方的标准启动方式fs16000 opts if [ ${fs} -eq 48000 ]; then # To suppress recreation, specify wav format opts--audio_format wav else opts--audio_format flac fi train_settr_no_dev valid_setdev test_setsdev eval1 asr_configconf/tuning/train_asr_conformer8.yaml inference_configconf/decode_transformer.yaml lm_configconf/train_lm.yaml ./asr.sh \ --ngpu 4 \ --lang jp \ --token_type char \ --feats_type raw \ --fs ${fs} \ --speed_perturb_factors 0.9 1.0 1.1 \ --local_data_opts --fs ${fs} \ --asr_config ${asr_config} \ --inference_config ${inference_config} \ --lm_config ${lm_config} \ --train_set ${train_set} \ --valid_set ${valid_set} \ --test_sets ${test_sets} \ --lm_train_text data/${train_set}/text \ ${opts} $各参数含义--fs 16000目标采样率。JSUT 原始音频为 48kHz配方默认降采样到 16kHz当设为 48000 时需追加--audio_format wav避免重采样。--token_type char日语按字符假名/汉字字符建词表对应中文等表意文字场景常见做法。--feats_type raw直接以原始波形作为输入由前端frontend在线计算 Fbank 特征无需离线 dump 特征。--speed_perturb_factors 0.9 1.0 1.1三倍速度扰动数据增强是 README 中_spspeed perturb后缀实验的由来。--ngpu 4使用 4 张 GPU 训练。--train_set tr_no_dev / --valid_set dev / --test_sets dev eval1训练集为剔除 dev 后的剩余数据验证集与测试集均为 dev 与 eval1各 250 句README 评测表格中Snt250即由此而来。--lm_train_text data/${train_set}/text以训练集文本训练 RNN 语言模型用于解码重打分。执行./run.sh即可按asr.sh流水线依次完成语料下载、数据准备、特征提取原始波形、词表构建、ASR 模型与 LM 训练、解码与评分。E-Branchformer 模型配置与源码级原理README 的第一部分记录的是当前仓库的旗舰实验asr_train_asr_e_branchformer_e16_conv15_raw_jp_char_spESPnet 202301 版本PyTorch 1.13.1参数量 44.24M预训练模型链接见 README 中 pyf98/jsut_e_branchformer。其训练配置为 conf/tuning/train_asr_e_branchformer_e16_conv15.yaml完整内容如下# frontend related frontend: default frontend_conf: n_fft: 512 win_length: 400 hop_length: 160 # encoder related encoder: e_branchformer encoder_conf: output_size: 256 attention_heads: 4 attention_layer_type: rel_selfattn pos_enc_layer_type: rel_pos rel_pos_type: latest cgmlp_linear_units: 1024 cgmlp_conv_kernel: 15 use_linear_after_conv: false gate_activation: identity num_blocks: 16 dropout_rate: 0.1 positional_dropout_rate: 0.1 attention_dropout_rate: 0.1 input_layer: conv2d layer_drop_rate: 0.0 linear_units: 1024 positionwise_layer_type: linear use_ffn: true macaron_ffn: true merge_conv_kernel: 15 # decoder related decoder: transformer decoder_conf: input_layer: embed num_blocks: 6 linear_units: 2048 dropout_rate: 0.1 # hybrid CTC/attention model_conf: ctc_weight: 0.3 lsm_weight: 0.1 length_normalized_loss: false # optimization related optim: adam accum_grad: 1 grad_clip: 3 max_epoch: 100 optim_conf: lr: 4.0 scheduler: noamlr scheduler_conf: model_size: 256 warmup_steps: 25000 # minibatch related batch_type: numel batch_bins: 15000000 best_model_criterion: - - valid - acc - max keep_nbest_models: 10关键参数解读前端frontenddefault前端在 16kHz 下以n_fft512、win_length40025ms 窗、hop_length16010ms 帧移计算 Fbank 特征。编码器e_branchformeroutput_size256为模型维度attention_heads4多头注意力attention_layer_type: rel_selfattn与pos_enc_layer_type: rel_pos组合使用相对位置编码relative positional encodingrel_pos_type: latest表示采用最新版相对位置注意力实现相对legacy旧实现后者会被打上 deprecated 警告见 e_branchformer_encoder.py。CGMLP 分支cgmlp_linear_units1024、cgmlp_conv_kernel15对应卷积门控 MLP 分支的线性单元数与卷积核大小use_linear_after_conv: false、gate_activation: identity控制门控激活方式。FFN 与合并模块use_ffn: true、macaron_ffn: true表示同时使用 macaron 风格 FFN缩放系数 0.5与标准 FFNmerge_conv_kernel15是合并两个分支时 depth-wise 卷积的核大小。整体规模num_blocks16个编码器块、input_layer: conv2d下采样Conv2dSubsampling。混合 CTC/Attentionctc_weight0.3、lsm_weight0.1标签平滑、length_normalized_loss: false。优化器Adamlr4.0配合noamlrNoam 学习率调度warmup_steps25000、model_size256。批处理batch_type: numel按元素数帧数×维度动态组批batch_bins15000000。模型选择以验证集 accuracy 最大为准则valid/acc/max保留keep_nbest_models: 10个最优模型。从源码层面看E-Branchformer 编码器定义在 espnet2/asr/encoder/e_branchformer_encoder.py其引用文献为 E-Branchformer: Branchformer with Enhanced merging for speech recognitionSLT 2022。核心设计体现在EBranchformerEncoderLayer第 58-188 行的前向计算中Macaron FFN先经过 macaron 风格 FFN输出按ff_scale0.5缩放后与残差相加双分支并行x1、x2分支一为多头自注意力rel_selfattn可替换为FastSelfAttention高效注意力源码第 147-153 行;分支二为卷积门控 MLPCGMLP来自 espnet2/asr/layers/cgmlp.py 的ConvolutionalGatingMLP;增强合并模块Enhanced merging将两个分支输出torch.cat拼接后先经mask_padded_frames屏蔽填充帧再送入核大小为merge_conv_kernel的 depth-wise 卷积融合self.depthwise_conv_fusion最后经merge_proj线性投影回原维度并与残差相加源码第 168-175 行标准 FFN 与最终 LayerNorm收尾第 177-183 行。这种全局注意力 局部卷积双分支结构正是 E-Branchformer 相比纯 Transformer 能更好建模语音局部时序模式的原因也是该实验取得更低 CER 的架构基础。解码配置LM 重打分与 beam searchREADME 中所有实验的评测解码均使用 Transformer 解码器配置 conf/decode_transformer.yamllm_weight: 0.3 beam_size: 20 penalty: 0.0 maxlenratio: 0.0 minlenratio: 0.0 ctc_weight: 0.3beam_size: 20beam search 宽度lm_weight: 0.3外部 RNN 语言模型打分权重评测表名中的decode_transformer_lm_...前缀即表示解码时联合了训练好的 Transformer LMctc_weight: 0.3与训练时model_conf.ctc_weight一致的 CTC 得分权重maxlenratio/minlenratio为 0表示不限制生成长度比例。配套的 RNN LM 配置见 conf/train_lm.yaml两层 LSTMnlayers: 2、unit: 650、SGD 优化器、batch_type: folded、max_epoch: 20、以验证集 loss 最小选模型。解码评测时按 README 中的命名约定asr_model_valid.acc.ave表示取验证 accuracy 最优的多个模型参数平均lm_train_lm_jp_char_valid.loss.ave表示 LM 取验证 loss 最优模型。评测结果全景E-Branchformer vs Conformer vs Transformer vs RNNE-Branchformer本仓库旗舰实验44.24M 参数模型名asr_train_asr_e_branchformer_e16_conv15_raw_jp_char_sp训练环境为 espnet 202301 / PyTorch 1.13.1评测指标为 CER字符错误率S.Err 为句子错误率datasetSntWrdCorrSubDelInsErrS.Errdecode_transformer_lm_lm_train_lm_jp_char_valid.loss.ave_asr_model_valid.acc.ave/dev250634989.38.42.21.111.885.2decode_transformer_lm_lm_train_lm_jp_char_valid.loss.ave_asr_model_valid.acc.ave/eval1250592888.29.62.21.113.088.0Conformerespnet 0.9.2 时代记录README 的 conformer vs transformer results 一节记录了三个历史模型均基于 16k 音频对应配置可见 conf/tuning/train_asr_conformer8.yaml12 层 Conformercnn_module_kernel15、macaron_style: true、activation_type: swish、pos_enc_layer_type: rel_posasr_train_asr_conformer8_raw_char_spconformerZenodo 存档 4292742datasetSntWrdCorrSubDelInsErrS.Errdecode_transformer_lm_lm_train_lm_char_valid.loss.ave_asr_model_valid.acc.ave/dev250634989.28.62.21.112.085.2decode_transformer_lm_lm_train_lm_char_valid.loss.ave_asr_model_valid.acc.ave/eval1250592887.59.92.61.313.986.4asr_train_asr_conformer_raw_char_optim_conflr5_spconformerZenodo 存档 4073045datasetSntWrdCorrSubDelInsErrS.Errdecode_transformer_lm_lm_train_lm_char_valid.loss.ave_asr_model_valid.acc.ave/dev250634987.410.32.41.414.088.8decode_transformer_lm_lm_train_lm_char_valid.loss.ave_asr_model_valid.acc.ave/eval1250592886.211.02.81.214.990.0asr_train_asr_transformer_raw_char_sptransformerZenodo 存档 4073054datasetSntWrdCorrSubDelInsErrS.Errdecode_transformer_lm_lm_train_lm_char_valid.loss.ave_asr_model_valid.acc.ave/dev250634985.811.03.21.615.891.2decode_transformer_lm_lm_train_lm_char_valid.loss.ave_asr_model_valid.acc.ave/eval1250592884.112.53.51.717.693.6对应纯 Transformer 编码器配置见 conf/tuning/train_asr_transformer.yaml 与 conf/train_asr_transformer.yaml。RNNespnet 0.6.0 时代基线asr_train_rnn_raw_char采用 RNN 编码器的历史基线README 同时给出 16k 与 48k 两套结果。16k 结果CERS.Err 对应句子错误率datasetSntWrdCorrSubDelInsErrS.Errdecode_devdecode_rnn_lm_valid.loss.best_asr_model_valid.acc.best250634983.412.54.11.518.195.2decode_eval1decode_rnn_lm_valid.loss.best_asr_model_valid.acc.best250592882.513.54.01.719.195.248k 实验需要显式调整前端参数以匹配 48kHz 采样率下的窗长与帧移保持 32ms 窗、8ms 帧移README 明确要求追加如下参数--asr_args --frontend_conf n_fft$(echo ${fs} | python -c print(int(0.032 * float(input())))) --frontend_conf hop_length$(echo ${fs} | python -c print(int(0.008 * float(input()))))即通过asr_args注入动态计算的n_fft与hop_length48kHz 时分别为 1536 与 384同时结合 run.sh 中--fs 48000时追加的--audio_format wav。48k 结果datasetSntWrdCorrSubDelInsErrS.Errdecode_devdecode_rnn_lm_valid.loss.best_asr_model_valid.acc.best250634984.712.03.31.717.094.8decode_eval1decode_rnn_lm_valid.loss.best_asr_model_valid.acc.best250592883.513.13.41.618.094.8结果横向对比与解读以 eval1 的 CERErr 列纵向对比E-Branchformer 13.0 conformer8 13.9 conformer(conflr5) 14.9 transformer 17.6 RNN-16k 19.1 RNN-48k 18.0。可归纳出三点结论均为仓库 README 数据所支撑的客观事实而非外部评价E-Branchformer 优于同规模 Conformer在 JSUT 上16 层 E-Branchformer44.24M 参数相对 12 层 Conformer8 在 dev/eval1 上 CER 分别降低 0.2/0.9 个百分点验证了增强合并模块带来的建模增益Conformer 优于 Transformer相对位置编码 卷积模块的 Conformer 明显胜过纯 Transformereval1 上 13.9 vs 17.6RNN 基线差距显著早期 RNN 模型 CER 在 17-19 区间48k 采样率配合正确的窗长/帧移参数可小幅改善指标但整体仍远逊于基于注意力的现代架构。需要注意这些历史结果来自不同 ESPnet 版本0.6.0 / 0.9.2 / 202301与不同训练配置环境差异日期、Python/PyTorch 版本、Git hash在 README 中均已注明直接横向对比时应考虑配置与实现版本的差异。复现要点与扩展阅读复现 E-Branchformer 实验只需在egs2/jsut/asr1目录下将run.sh中的asr_config替换为conf/tuning/train_asr_e_branchformer_e16_conv15.yaml后执行./run.sh数据可自动下载JSUTdownloads词表采用 char 级别特征为 raw 波形 在线 Fbank。评测时使用 conf/decode_transformer.yaml 联合 conf/train_lm.yaml 训练的 LSTM LM 进行重打分最终以 CER 为指标在 dev/eval1各 250 句上评测。进一步深入编码器实现espnet2/asr/encoder/e_branchformer_encoder.py双分支与合并模块、espnet2/asr/layers/cgmlp.py卷积门控 MLP其他 JSUT 相关配方egs2/jsut/tts1、egs2/jsut_song/svs1歌唱合成可参考同一数据准备脚本ESPnet2 通用训练选项说明见 doc/espnet2_training_option.md结构化数据格式见 doc/espnet2_structured_data.md。赞分享人工智能语音音频深度学习NLP【免费下载链接】espnetEnd-to-End Speech Processing Toolkit项目地址https://gitcode.com/gh_mirrors/es/espnet点击查看免费下载相关推荐Eigent 安装流程测试环境用 Mock 化 Electron API 与系统状态端到端测试依赖安装Eigent 安装流程测试环境用 Mock 化 Electron API 与系统状态端到端测试依赖安装 Eigent 是开源的 Cowork 桌面应用Ele人工智能语音音频深度学习NLPESPnet Fisher CallHome Spanish 语音识别实战E-Branchformer 与 Conformer 配置、训练与评测全解ESPnet Fisher CallHome Spanish 语音识别实战E Branchformer 与 Conformer 配置、训练与评测全解 本篇技术人工智能语音音频深度学习NLPOdin 编译期执行CTE设计剖析解释器内存空间与编译产物之间的类型安全边界Odin 编译期执行CTE设计剖析解释器内存空间与编译产物之间的类型安全边界 导读 编译期执行Compile Time ExecutionCTE是人工智能语音音频深度学习NLP上一篇WarcraftHelper魔兽争霸III现代优化完整指南下一篇RepoDB连接持久性配置如何平衡性能与资源使用创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

Chrome自定义设备模拟:精准分辨率与DPR控制指南
Chrome自定义设备模拟:精准分辨率与DPR控制指南

1. 项目概述:Chrome里“自定义设备”到底在解决什么问题?你有没有遇到过这些场景:前端开发时,手头没有iPhone 14 Pro,但客户急着要看网页在6.1英寸OLED屏上的渲染效果;测试响应式布局,发现Chrom… · 2026/9/25 7:22:55

华为Atlas 300V部署YOLOv5全流程实战:从硬件选型到性能调优
华为Atlas 300V部署YOLOv5全流程实战:从硬件选型到性能调优

如果你最近在折腾AI落地,那你大概率躲不开一个名字:Atlas。这名字听着像个尖端实验室,但它其实是华为昇腾体系下的AI计算平台,覆盖从训练侧到推理侧的一整套硬件和软件栈。而我之所以深入研究这套东西,就是因为一个很现… · 2026/9/25 7:22:49

Bellhop水下声场建模入门:从.env文件到传播损失计算
Bellhop水下声场建模入门:从.env文件到传播损失计算

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 7:22:49

全国省市区三级联动表:MySQL导入与查询实战指南
全国省市区三级联动表:MySQL导入与查询实战指南

简介:这份资源是2024年最新整理的MySQL全国省市区三级联动数据表,面向后端开发、数据库设计人员以及需要地址级联选择功能的前端工程师,可解决地理信息查询与行政区域联动维护的问题。压缩包共2个文件,以sql数据脚本和zip归档为主… · 2026/9/25 7:54:52

可复用回归预测系统骨架:6类模型统一接口实践
可复用回归预测系统骨架:6类模型统一接口实践

简介:本资源是一套面向机器学习初学者与进阶实践者的预测建模综合代码包,覆盖贝叶斯网络、马尔科夫模型、线性回归、岭回归、多项式回归、决策树回归及深度神经网络七大主流预测方法,适用于时间序列预测、房价估算、用户行为建模等典型场景。… · 2026/9/25 7:54:34

Atlas 300V部署YOLOv5/YOLOv8:从ONNX到OM全流程
Atlas 300V部署YOLOv5/YOLOv8:从ONNX到OM全流程

先交代一下背景。不少人在搜“atlas部署yolo”和“atlas 300v 24g 是运算加速卡吗”这类词,说实话,这两个问题指向的是同一件事:你想在昇腾Atlas平台上面把YOLO检测模型跑起来,但不确定这块卡到底能不能干这个活、干起来麻不麻烦。… · 2026/9/25 7:54:28

OpenCodex Windows 服务控制台窗口问题全解析:从根因调查到“无窗口后台服务“的完整修复路径
OpenCodex Windows 服务控制台窗口问题全解析:从根因调查到“无窗口后台服务“的完整修复路径

【免费下载链接】opencodex Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code 项目地址: https://gitcode.com/gh_mirrors/ope/opencodex 点击… · 2026/9/25 7:54:28

Atlas 300V 24G部署YOLO全流程:从环境搭建到推理调优
Atlas 300V 24G部署YOLO全流程:从环境搭建到推理调优

如果你最近在搞AI推理,肯定绕不开"Atlas"这个名字。特别是Atlas 300V 24G这张卡,网上问得最多的一句就是:它到底是不是运算加速卡?答案是肯定的——这是一张标准的专用AI推理加速卡,24GB显存,专为… · 2026/9/25 7:54:28

深度拆解iMessage附件后门及辅助模块的完整分析链路
深度拆解iMessage附件后门及辅助模块的完整分析链路

我最早接触“三角测量”(Triangulation)这个代号,是在处理一部iPhone异常发热、流量飙升的排查任务里。查了一整天日志,最后在一个不显眼的iMessage消息附件目录里翻出了一个伪装成图片的二进制文件,当时就觉得不对劲。… · 2026/9/25 7:54:22

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码