1 简介

本文根据《Investigation of Modeling Units for Mandarin Speech Recognition Using Dfsmn-ctc-smbr》翻译总结。采用DFSMN-CTC-SMBR进行普通话语音识别。

一般一个声学模型包括3个关键部分,分别是:神经网络、声学模型单元、优化目标函数。

本文采用DFSMN-CTC-SMBR,即神经网络是DFSMN,目标函数是CTC与SMBR。声学模型采用的是hybrid Character-Syllable,包括常见的中文字符和音节。

DFSMN之前,经常用的神经网络是LSTM-RNN。

2 DFSMN-CTC-SMBR

2.1 DFSMN

DFSMN是FSMN的改进,引入的skip连接和记忆跨越。如下图红色虚线部分。

2.2 CTC

Connectionist temporal classification (CTC)

可参考我以前的博客CTC

2.3 SMBR

CTC是帧级别的识别训练标准,它对于单词级别错误率(WER,word error rate)最小化是次优的。

在CTC训练的模型基础上,可以用序列级别(sequence-level discriminative)的识别训练进一步优化,比如sMBR(state-level minimum Bayes risk)。

帧级别:cross-entropy (CE) 。
序列级别:maximum mutual information (MMI)

3 普通话的声学模型单元

声学模型单元的选择对于普通话的识别是重要的。普通话也是音节语言,每一个中文字符都可以用一个音节(syllable)表示。而且,每个中文音节也有Initial/Final (IF)结构。我们实验用了1319个音调音节(tonal syllable)。我们实验用的一些声学模型如下:

4 实验结果

如下表,可以看到DFSMN-CTC-SMBR模型效果很好。
latency-controlled BLSTM (LCBLSTM)。
character error rate (CER in %):字符错误率。

采用更长时间的帧的结果如下,虽然CER有所上升,但RTF变小了。

实时率(RTF,real time factor)是一个常用于度量自动语音识别系统解码速度的值。如果处理一段长度为a的音频信号需要花费时间b,则实时率为b/a。比方说如果处理一段长度为2小时的音频花了8个小时,则实时率为8/2=4。当实时率等于或小于1时我们说该处理是实时的。

普通话/汉语的语音识别:DFSMN-CTC-SMBR模型相关推荐

  1. 孤立汉语数字语音识别系统

    摘要:本文通过提取声音信号的Mel倒谱系数作为特征,利用动态时间规整技术实现匹配算法,实现了特定人孤立汉语数字语音的识别,并利用Matlab编写了简单的图形用户界面. 关键词:语音识别:MFCC:DT ...

  2. Kaldi 使用 DFSMN 训练语音模型

    阿里巴巴 2018 年开源的语音识别模型 DFSMN,将全球语音识别准确率纪录提高至 96.04%.DFSMN 模型,是阿里巴巴的高效工业级实现,相对于传统的 LSTM.BLSTM 等声学模型,该模型 ...

  3. 【深度学习】语音识别之CTC算法原理解释与公式推导

    不搞语音识别得人开这个论文确实有点费劲,结合上图,思考一下语音识别的场景,输入是一段录音,输出是识别的音素, 输入的语音文件的长度和输出的音素个数之间没有一一对应关系,通常将语音文件「分片」之后,会出 ...

  4. 语音识别端到端模型解读:FSMN及其变体模型

    摘要:在很长一段时间内,语音识别领域最常用的模型是GMM-HMM.但近年来随着深度学习的发展,出现了越来越多基于神经网络的语音识别模型. 一.概述 在很长一段时间内,语音识别领域最常用的模型是GMM- ...

  5. 学术|浅谈语音识别、匹配算法和模型

    1.如何描述语音 2.如何理解语音的构成 3.语音如何识别 语音的基本概念 语音是一个复杂的现象.我们基本上不知道它是如何产生和被感知的.我们最基础的认识就是语音是由单词来构成的,然后每个单词是由音素 ...

  6. 基于深度学习的语音识别研究-CTC理论推导(四)

    有时候学习真的得循序渐进,并没有速成的方法,本小白在经历了大约一个月终于把CTC的从头到尾大致看完了,下面讲一下我的理解,欢迎各位朋友批评指正. 首先,我们得知道为什么要引入CTC,前面博客讲到,之前 ...

  7. 语音识别-基于CTC-BiLSTM联合模型的英语语音识别系统

    本博客旨在学习和记录关于语音识别的相关资料,也参考网上大神(链接),在此表示感谢.话不多说,下面进入正题. 1 概要 本博客偏向实践,以LibriSpeech公开英语语料数据集作为训练语料,搭建了基于 ...

  8. C++实现语音识别词典内存存储模型

    对于给定的词典,如下 一 ii i1 一一 ii i1 ii i1 一一一 ii i1 ii i1 ii i1 一一一一 ii i4 ii i1 ii i4 ii i1 一一一七 ii i1 ii i ...

  9. c++ 文字识别_AI算法测试——语音识别(ASR)模型评估指标探索

    如上图,我们通过微信发送了一段语音,在对语音进行转文字时.语音识别引擎首先会将把这段语音进行分帧(切分成若干小段),然后利用声学模型将提取的每一帧的声学特征识别为一个个"状态",多 ...

  10. 普通话/汉语发音口型大全

    文章目录 一.22 个韵母 二.21 个声母 一.22 个韵母 (一)a:发音时,嘴唇自然张大,舌放平,舌头中间微隆,声带颤动. (二)o:发音时,嘴唇成圆形,微翘起,舌头向后缩,舌面后部隆起,舌居中 ...

最新文章

  1. Docker Compose 1.18.0 之服务编排详解
  2. oracle输入数字类型吗,PL/SQL Number数字类型函数
  3. 超越GhostNet!吊打MobileNetV3!MicroNet通过极低FLOPs实现图像识别(文末获取论文)
  4. 使用bash工具创建ssh key
  5. 网络推广外包——网络推广外包专员如何做好网站首页设计
  6. [机器学习]PMML预测模型标记语言
  7. 2022,前端工具链十年盘点
  8. java.lang.NoSuchMethodError: android.app.Notification$Builder.setChannelId
  9. 晶体(crystal、无源晶振)两端电容取值计算
  10. 【华为云技术分享】Linux内核模块依赖图绘制(2)
  11. 记录一次nginx 配置https 强制http转发到https
  12. 写给我--过去,现在,未来
  13. 滑动验证码研究-后续
  14. 程序员:如何成为一个全栈的工程师? 1
  15. y7000 安装linux双系统,联想拯救者Y7000安装双系统:win10 + ubuntu16.04 (GTX1060显卡)...
  16. ubuntu 输入法莫名其妙变繁体
  17. python:Craps赌博游戏
  18. codeforces 418B. Cunning Gena (状态dp)
  19. 关于留数法在自控和现控中的应用
  20. nuxt中客户端呈现的虚拟DOM树与服务器呈现的内容不匹配

热门文章

  1. python字典中get()函数的用法总结
  2. //18. 定义一个基类BaseClass,从它派生出类DerivedClass,BaseClass有成员函数fn1()、fn2(),fn1()是虚函数,DerivedClass也有成员函数fn1()
  3. vue 解决跨域问题404问题
  4. Python练习题答案: 第一步,成为百万富翁 - 汇率卡塔【难度:2级】--景越Python编程实例训练营,1000道上机题等你来挑战
  5. 大家说说有必要免费建网站吗?
  6. 【Mockplus教程】安装Mockplus
  7. 实验三 交换机的配置
  8. 百度语音合成离线使用研究
  9. 在实时控制系统中使用传感器优化数据可靠性的3个技巧
  10. windows10专业版镜像