本文主要是介绍CTC,RNN-Transducer, LAS,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、CTC ( Connectionist Temporal Classification)
网络结构
参考地址: CTC白话参考地址
其中CTC-loss 部分使用到了动态规划的思想。
大目标是:
m i n ∑ B ( π ) = z ∏ t = 1 T y π t t m i n ∑ B ( π ) = z ∑ t = 1 T l o g ( y π t t ) min \sum_{B(\pi)=z } {\prod_{t=1}^{T} y_{\pi_t}^{t}} \\ min \sum_{B(\pi)=z } {\sum_{t=1}^{T} log(y_{\pi_t}^{t})} minB(π)=z∑t=1∏TyπttminB(π)=z∑t=1∑Tlog(yπtt)
其中 T T T表示总帧数。 y π t t y_{\pi_t}^{t} yπtt表示模型预测的第t帧,因素为 π t \pi_t πt的概率值。
dp[i][j]: 表示第考虑到i帧,压缩路径满足 z = ( n , i , h , a , o ) z=(n,i,h,a,o) z=(n,i,h,a,o)的前j个时的,所有路径总概率和。记为:
∑ B ( π ) = z ∏ t = 1 i y π t t \sum_{B(\pi)=z } {\prod_{t=1}^{i} y_{\pi_t}^{t}} B(π)=z∑t=1∏iyπtt
所以状态转移方程为:
d p [ i ] [ j ] = d p [ i − 1 ] [ j ] ∗ y z j + d p [ i ] [ j − 1 ] ∗ y z j dp[i][j] = dp[i-1][j] * y_{z_j} + dp[i][j-1] * y_{z_j} dp[i][j]=dp[i−1][j]∗yzj+dp[i][j−1]∗yzj
2、RNN-Transducer
网络结构
3、LAS(Listen Attention Speech)
网络结构
这篇关于CTC,RNN-Transducer, LAS的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!