Deep Speech笔记


Deep Speech 1

Hannun, A., Case, C., Casper, J., Catanzaro, B., Diamos, G.,Elsen, E., Prenger, R., Satheesh, S., Sengupta, S., Coates,A., et al. (2014a).Deepspeech: Scaling up end-to-end speech recognition. arXiv preprint arXiv:1412.5567.
###网络结构
这里写图片描述
网络输入是context特征,输出是char,训练准则是CTC,解码需要结合ngram语言模型。
共五层,前三层是简单的DNN结构,第四层是双向RNN,第五层的输入是RNN的前向和后向单元,后面跟着softmax分类。

数据集网络结构
300h switchboard5隐层,2304节点
2300h SWB+FSH4个RNN,每个5隐层,2304节点
100000h add noise6个RNN,每个5隐层,2560节点

训练数据

训练数据进行加噪处理,使用多种短时噪音。
录制语音的时候增加噪声的场景.

训练优化

  • Data parallelism
    训练语料按照长度排序,然后多句并行
  • Model parallelism
    按照时间切分,前半段在GPU1上面计算,负责计算RNN的forward activation;后半段在GPU2上面计算,负责计算RNN的backward activation。在中间时间点交换角色。

Deep Speech 2

D. Amodei, R. Anubhai, E. Battenberg, C. Case, J. Casper, B. Catanzaro, J. Chen, M. Chrzanowski, A. Coates, G. Diamos et al., “Deep speech 2: End-to-end speech recognition in english and mandarin,” CoRR arXiv:1512.02595, 2015.

相比于Deep Speech,使用HPC技术,将训练时间由几周缩短到几天,尝试了更为复杂的网络结构。

网络结构

这里写图片描述
网络输入是context特征,输出是char(英文对应a/b/c,中文对应6000汉字),训练准则是CTC,解码需要结合ngram语言模型。

Batch Normalization

在网络层数更深的时候,效果更明显,收敛更快而且误差更小。
有两种BatchNorm,在第一种上面没有收益
第一种: h t l = f ( B ( W l h T l − 1 + U l h t − 1 l ) ) h_t^l=f(B(W^lh_T^{l-1}+U^lh_{t-1}^l)) htl=f(B(WlhTl1+Ulht1l))
第二种: h t l = f ( B ( W l h T l − 1 ) + U l h t − 1 l ) h_t^l=f(B(W^lh_T^{l-1})+U^lh_{t-1}^l) htl=f(B(WlhTl1)+Ulht1l)

SortaGrad

CTC训练的早期不稳定,长句子容易出现梯度异常(有些概率near-zero)。
在第一个epoch,将训练句子按照长度排序,首先使用断句训练,后面的epoch再按照随机顺序。

GRU

GRU相比于vanilla RNN可以取得更好的结果,同时比LSTM更容易训练。

Convolution

在网络的最底层使用3层的CNN结构。

Lookahead Convolution

使用双向RNN可以获得更好的准确性,但是对on-line服务来讲,延时问题比较明显,为了解决这个问题,在RNN上面增加了一层Lookahead Convolution。
这里写图片描述

adaptation

传统的Hybrid系统在语言之间迁移相对困难,end-to-end系统相对简单,只需要更换最后的输出节点就可以。

训练数据

英文11940h,中文9400h

训练优化

high performance computing

应用优化

  • batch dispatch将线上不同的语音请求组成一个batch计算
  • RNN计算使用16bit量化
  • ngram查询只查询概率比较高的一些character
  • 增加少量跟使用场景更匹配的语音或者文本,收益比较明显

后面的技术分享转移到微信公众号上面更新了,【欢迎扫码关注交流】

在这里插入图片描述

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值