语音识别之DNN-HMM
文章目录写在前面DNN-HMM步骤:GMM-HMM中的HMMforce alignmentembeded training写在前面最近做声纹识别,需要用到语音识别的知识,在此记录一下。DNN-HMM步骤:帧长切分, 提取特征(MFCC)GMM-HMM进行alignment对齐; 对每一帧进行聚类(音素总数), 获得每帧属于各个音素的概率; HMM进行解码搜索, 获得每一帧最优音素表示序...
写在前面
最近做声纹识别,需要用到语音识别的知识,在此记录一下。
DNN-HMM步骤:
- 帧长切分, 提取特征(MFCC)
- GMM-HMM进行alignment对齐; 对每一帧进行聚类(音素总数), 获得每帧属于各个音素的概率; HMM进行解码搜索, 获得每一帧最优音素表示序列
- DNN-HMM; 每一帧(多帧)作为DNN输入, GMM似然值(音素标签)作为输出; 训练DNN参数, …
GMM-HMM中的HMM
- 观察状态序列: 语音中的每一帧; 词性标注中的词串
- 隐藏状态序列: 语音每一帧对应的音素; 词性标注中每个词对应的词性标签
- 状态转移矩阵: 语音中音素之间的转移概率(数据集计算, GMM-HMM计算??); 词性标注中词性之间的转移概率
-
发射概率矩阵: 语音中各个音素发射为每一帧的概率(GMM似然值, GMM-HMM获得概率输入DNN进行反向传播); 词性标注中每个词性发射为每个词的概率
Ref paper -
HMM学习问题
给定 λ = ( π , A , B ) \lambda = (\pi, A, B) λ=(π,A,B)
O t O_t Ot: 帧
S i S_i Si: 音素(隐藏状态), 隐藏状态序列待求
a i j a_{ij} aij: 音素 i , j i,j i,j之间的转移概率
b i ( O t ) b_{i}(O_t) bi(Ot): 音素 i i i发射为 O t O_t Ot帧的概率
Baum-Welch算法(EM)计算 A , B A, B A,B
(训练集上给定音素序列, 可以使用Viterbi算法计算, 进行forced alignment, 然后可以使用EM重复训练) -
EM算法求解HMM
-
force alignment
给定音素序列(phoneme), 根据每一帧的GMM似然值,
GMM-HMM -> DNN-HMM -> DNN-HMM迭代进行强制对齐.
embeded training
除了将词拆分为音素训练(embeded training), 也可以直接使用整个词(Whole word)进行训练
更多推荐
所有评论(0)