论文:

EXPLORING ARCHITECTURES, DATA AND UNITS FOR STREAMING END-TO-END SPEECH RECOGNITION WITH RNN-TRANSDUCER,2018

CTC的一个问题在于,其假设当前帧的输出与历史输出之间的条件独立性;RNN-T引入预测网络来弥补CTC这种条件独立性假设带来的问题

思想:

1)针对CTC网络的条件独立性假设(当前时刻输出与之前的输出条件独立),引入语言模型预测网络分支,通过联合前馈神经网络将二者结合,在预测最终输出时能够同时利用声学和语言特征信息;

2)在grapheme作为建模单元基础上,引入了词组单元wordpieces,能够捕获更长的文本信息,有利于减少替换错误;

模型:

CTC网络: 采用多级任务CTC,建模单元包括音素phoneme、字母grapheme、词条wordspieces,音素CTC结构采用5层LSTM(700cell)、字母CTC采用10层LSTM(700cell)、词条CTC采用12层LSTM(700cell);此外,在字母LSTM输出时,通过时域卷积(kenel size=3)来缩短时间片长度,减少参数量,加速训练的同时对效果不造成影响

预测网络: 对于字母建模单元,预测网络采用两层LSTM(1000cell);对于词条单元,因为词条标签数目较多,在LSTM之前引入一个较短的embedding层,维度为500

联合网络:采用前馈神经网络结构,即一层全连接层(700)+softmax+CTC损失

细节:

输入特征:声学特征输入特征80logfbank+一阶差分+二阶差分=240维;语言模型特征采用词组词典对应的one-hot向量

训练数据采用[2]中的数据增强,添加噪声和混响,每个样本得到20个左右的混响或噪声增强数据

CTC网络预训练采用多级(phonemes、graphemes、wordspieces)多任务CTC目标损失/预测网络预训练采用交叉熵损失/联合网络采用词条单元wordspieces CTC目标损失

音素级CTC的输出单元个数为61个phoneme+blank;字母级CTC的输出单元个数为44grapheme+blank;词条级CTC的输出单元个数为1000~30000有效词条+blank

grapheme

wordspiece

解码:beam search,输出单元为grapheme beam width=100;输出单元为词条时beam width=25

训练:

声学模型训练数据集:18000小时voice-search、voice-dictation+混响和噪声增强;语言模型训练数据集:10亿句文本数据,来源于voice-search、voice-dictation、匿名化google搜索等日志;测试集15000voice-search utts+15000voice-dictation utts

CTC网络和预测网络采用预训练进行初始化,联合网络随机初始化

grapheme beam width=100,wordpieces beam width=25

预测:当前步输出yu = p(y|xt,yu-1),如果yu为non-blank,那么下一步预测输出为p(y|xt,yu),否则下一步输出为p(y|xt+1,yu-1);当最后一个时间步T输出为blank时终止

实验:

论文中RNN-T取得了接近state-of-the-art的效果WER :voicesearch 8.5% voice-dictation 5.2%

CTC网络和语言模型预训练,均有助于提升效果

提升LSTM深度从5层到8层,带来10%相对提升

wordspiece RNN-T相对于grapheme RNN-T实际效果更好,原因在于wordspiece作为输出单元能够降低替换错误

grapheme LSTM输出,通过时域卷机操作(kernel size=3),在不影响实际效果的情况下,有效减少wordpiece输入的时间片维度,节省wordpiece LSTM参数训练和解码的时间

wordspiece作为输出单元时,相对于grapheme,语言模型困惑度更低

增加wordspiece输出单元个数1k->30k,有助于进一步降低语言模型困惑度,提升实际效果,但也相应的增大了参数量

环境:

kaldi特征提取+CMVN

pytorch模型构建及训练

数据集:aishell1 178h train/dev/test

输入:3*left-context+current frame+0*right-context=4*40=160维

模型:

CTC网络4*Bi-LSTM(320)

预测网络:1*LSTM(512)

联合网络:1*full_connect(512)+tanh+softmax(4232)

训练:

SGD

max_gram=200

lr=0.0001

momentum=0.9

weight_ratio=0.5

解码:贪心搜索,每一个时间步取最大概率对应的输出

效果:aishell dev:10.13/test:11.82

rnn中文语音识别java_语音识别算法阅读之RNN-T-2018相关推荐

  1. 语音识别维特比解码_HMM连续语音识别中Viterbi算法的优化及应用

    HMM 连续语音识别中 Viterbi 算法的优化及应用 袁俊 [期刊名称] <电子技术> [年 ( 卷 ), 期] 2001(028)002 [摘要] 基于 HMM 连续语音识别系统声学 ...

  2. 基于RNN和CTC的语音识别模型,探索语境偏移解决之道

    摘要:在本文介绍的工作中,我们展示了一个基于RNN和CTC的语音识别模型,在这个模型中,基于WFST的解码能够有效地融合词典和语言模型. 本文分享自华为云社区<语境偏移如何解决?专有领域端到端A ...

  3. 语音识别研究综述——阅读笔记3(端到端语音识别、语音识别的难度与热点)

    端到端语音识别 传统语音识别由多个模块组成,彼此独立训练,但各个子模块的训练目标不一致,容易产生误差积累,使得子模块的最优解并不一定是全局最优解. 针对这一问题,提出了端到端语音识别,直接对等式(1) ...

  4. linux语音识别_linux语音识别 arm_linux 语音识别引擎 - 云+社区 - 腾讯云

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 简介语音识别是针对已经录制完成的录音文件,进行识别的服务,异步返回识别文本,可应用 ...

  5. 一种中文字符串相似度算法

    一种中文字符串相似度算法 概要 标记距离相似算法 扩展 概要 给定一个字符串a,在字符串列表B中找到与a最相似字符串b,或者让列表B按与a相似度排序.本文提出一种算法来较好的解决这个问题.并且该算法很 ...

  6. DL之CNN:基于CRNN_OCR算法(keras,CNN+RNN)利用数据集(torch,mdb格式)训练来实现新图片上不定长度字符串进行识别—训练过程

    DL之CNN:基于CRNN_OCR算法(keras,CNN+RNN)利用数据集(torch,mdb格式)训练来实现新图片上不定长度字符串进行识别-训练过程 目录 输出结果 设计思路 核心代码 输出结果 ...

  7. DL之CNN:基于CRNN_OCR算法(keras,CNN+RNN)利用数据集(torch,mdb格式)训练来实现新图片上不定长度字符串进行识别—预测过程

    DL之CNN:基于CRNN_OCR算法(keras,CNN+RNN)利用数据集(torch,mdb格式)训练来实现新图片上不定长度字符串进行识别-预测过程 目录 输出结果 设计思路 核心代码 输出结果 ...

  8. js语音识别_js 语音识别_js 语音识别库 - 云+社区 - 腾讯云

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 录音文件识别请求,数据结构,android sdk,ios sdk,自学 ...

  9. js 语音识别_js语音识别_js 语音识别库 - 云+社区 - 腾讯云

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 录音文件识别请求,数据结构,android sdk,ios sdk,自学习模型,使 ...

最新文章

  1. Android Interactive Animation
  2. 查看JupyterNotebook的kernel及存放位置
  3. [二叉树] 判断一个二叉树是否是平衡(剑指offer39)
  4. JAVA-入门(内含jdk配置)
  5. java 保留html_好程序员Java培训分享Java包是什么?
  6. AIS 2021顶级论文报告会论文征集与听众报名通知
  7. html5 webStorage:localStorage sessionStorage
  8. 【python写一个无限弹窗】
  9. Python包:包的概念、2种建立包方式、包的使用(代码 + 图文)
  10. layui数据表格接口_layui后台管理—table 数据表格详细讲解
  11. 2021年N1叉车司机考试总结及N1叉车司机操作证考试
  12. Centos7.3安装TP-LINK驱动 TL-WDN5200H
  13. c语言的实训报告,C语言实训报告.doc
  14. python语言不用编译_python程序不需要编译吗
  15. 不知不觉openGL已经到4.5了
  16. 蓝牙地址解析(NAP/UAP/LAP)
  17. 递归--谢宾斯基三角形、赛尔平斯基地毯
  18. WAMP的安装与配置
  19. 使用计算机备课 上课心得体会,计算机课的心得体会范文
  20. winform制作简易屏幕保护工具

热门文章

  1. IIS 启动不了(服务没有及时响应启动或控制请求)解决
  2. 设计模式学习笔记一——开篇
  3. 计算机windows无响应,Windows电脑便笺没反应不能用了怎么办?
  4. uniapp中使用微信jssdk
  5. maven jar包冲突的发现与解决[工具篇]
  6. getLocationOnScreen不起作用原因
  7. ERA5、ERA-interm是啥
  8. 小程序 mpvue 使用canvas绘制环形图表
  9. windows客户端性能测试之内存泄露检查工具umdh.exe
  10. Alibaba Druid连接池接入