语音识别中的CTC算法的基本原理解释 (4)

该值可以理解为从初始到\(y^{14}_h\)这一段里,所有正向路径的概率之和。并且发现,\(\alpha_{14}(h)\)可以由\(\alpha_{13}(h)\)\(\alpha_{13}(i)\)递推得到,即:
\(\alpha_{14}(h) = (\alpha_{13}(h) + \alpha_{13}(i))y^{14}_h\)

该递推公式的含义是,只是在\(t=13\)时发音是“h”或“i”,在\(t=14\)时才有可能发音是“h”。那么在\(t=14\)时刻发音是“h”的所有正向路径概率\(\alpha_{14}(h)\)就等于在\(t=13\)时刻,发音为“h”的正向概率\(\alpha_{13}(h)\)加上发音为“i”的正向概率\(\alpha_{13}(i)\),再乘以当前音素被判断为“h”的概率\(y^{14}_h\)。由此可知,每个\(\alpha_t(s)\)都可以由\(\alpha_{t-1}(s)\)\(\alpha_{t-1}(s-1)\)两个值得到。\(\alpha\)的递推流程如下图所示:

这里写图片描述

即每个值都由上一个时刻的一个或者两个值得到,总计算量大约为\(2.T.音素个数\)。类似的,定义\(\beta_t(s)\), 递推公式为:

\(\beta_{14}(h)=(\beta_{15}(h) + \beta_{15}(a))y^{14}_h\)

因此有:

\(\sum_{B(\pi)=z,\pi_{14}=h}\prod_{t=1}^T y^t_{\pi_t}= (前置项).y^{14}_h.\)(后置项)$

=\(\frac{\alpha_{14}(h)}{y^{14}_h}. y^{14}_h.\frac{\beta_{14}(h)}{y^{14}_h}\)

=\(\frac{\alpha_{14}(h)\beta_{14}(h)}{y^{14}_h}\)

然后:

$\frac {\partial p(z|y)}{\partial y^{14}_h} $

= \(\frac {\sum_{B(\pi)=z,\pi_{14}=h}\prod_{t=1}^T y^t_{\pi_t}}{\partial y^{14}_h}\)

= \(\frac {\frac{\alpha_{14}(h)}{y^{14}_h}. y^{14}_h.\frac{\beta_{14}(h)}{y^{14}_h}}{\partial y^{14}_h}\)

=\(\frac{\alpha_{14}(h)\beta_{14}(h)}{{(y^{14}_h)}^2}\)

得到此值后,就可以根据反向传播算法进行训练了。
可以看到,这里总的计算量非常小,计算\(\alpha\)\(\beta\)的计算量均大约为\((2.T.音素个数)\),(加法乘法各一次),得到\(\alpha\)\(\beta\)之后,在计算对每个\(y^t_k\)的偏导值的计算量为\((3.T.音素个数)\),因此总计算量大约为\((7.T.音素个数)\),这是非常小的,便于计算。

目前,深度学习的算法已经大规模应用于腾讯云的语音识别产品中。腾讯云拥有业内最先进的语音识别技术,基于海量的语音数据,积累了数十万小时的标注语音数据,采用LSTM,CNN,LFMMI,CTC等多种建模技术,结合超大规模语料的语言模型,对标准普通话的识别效果超过了97%的准确率。腾讯云的语音技术,应用涵盖范围广泛,具备出色的语音识别、语音合成、关键词检索、静音检测、语速检测、情绪识别等能力。并且针对游戏,娱乐,政务等几十个垂直做特殊定制的语音识别方案,让语音识别的效果更精准,更高效,全面满足电话客服质检、语音听写、实时语音识别和直播字幕等多种场景的应用。

问答
语音识别API如何调用?
相关阅读
智能机器人语音识别技术
python语音识别终极指南
tensorflow LSTM +CTC实现端到端OCR

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyzsjs.html