ESPNet介绍

举报
可爱又积极 发表于 2021/09/28 14:14:15 2021/09/28
【摘要】 ESPNet是一套基于E2E的开源工具包,可进行语音识别等任务。从另一个角度来说,ESPNet和HTK、Kaldi是一个性质的东西,都是开源的NLP工具;引用论文作者的话:ESPnet是基于一个基于Attention的编码器-解码器网络,另包含部分CTC组件;个人理解:在ESPNet出现之前,已经出现了CTC、Transformer等端到端ASR模型,ESPNet以这两种模型为核心,将这两个...

ESPNet是一套基于E2E的开源工具包,可进行语音识别等任务。从另一个角度来说,ESPNet和HTK、Kaldi是一个性质的东西,都是开源的NLP工具;
引用论文作者的话:ESPnet是基于一个基于Attention的编码器-解码器网络,另包含部分CTC组件;
个人理解:在ESPNet出现之前,已经出现了CTC、Transformer等端到端ASR模型,ESPNet以这两种模型为核心,将这两个模型串了起来,利用二者优点,并外加了Kaldi等数据准备、特征提取的工具,最终封装成一个ASR的工具包,命名为ESPNet。
1、ESPNet 架构
ESPNet中使用了ATT+CTC的架构,其可分为两大部分:

1、Shared encoder(共享编码器):包括了VGG卷积网络和BLSTM(双向长短时记忆网络)层,来完成语音到向量的转化。
2、Joint Decoder(联合解码器):联合解码器实现向量到最终文本结果的输出;
联合解码器包括CTC(负责标签和序列的自动对齐)、Attention(为不同序列赋予不同权重)和RNN-LM(语言模型,生成最优字词句);
其中CTC和Attention二者共同使用一个Loss来使模型收敛,最终的损失函数LossMTL为CTC损失函数和Attention损失函数的加权求和;
联合解码中,使用one-pass beam search(剪枝搜索)方法来消除不规则的序列与标签的对齐。

2、ESPNet 实现ASR的具体流程

ESPNet实现ASR包含以下流程:

数据准备:下载数据与解压缩数据;

特征提取:使用Kaldi(Kaldi也是个开源ASR工具)来提取语音特征,输出为80维的FBank特征,加上3维的pitch特征,总共83维。然后进行均值归一化,让网络更容易对语音特征进行学习;

转换数据格式:将中间数据转化为JSON格式;

语言模型的训练:语言模型使用的RNN-LM模型,其中RNN-LM训练有无字的字符序列水平知识。尽管注意解码器暗含像等式中一样包含语言模型。 RNN-LM概率用于与解码器网络一起预测输出标签。基于注意力的解码器会先学会使用LM。此外,RNN-LM可以与编码器一起训练解码器网络

声学模型的训练:使用字典、训练集和测试集,基于CTC模型、Attention的架构和Transformer的解码器进行声学部分的训练;

识别与打分:联合Transformer模型、CTC模型和RNN语言模型进行打分:

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。