这里对比了GMM-HMM的语音识别系统与加入神经网络的DNN-HMM语音识别系统,并针对四种不同模式的神经网络进行了对比。
主要流程
1.数据准备(音素,词典,训练音频/文本)
2.特征提取(MFCC)
3.HMM状态(序列建模)
4.DNN网络
5.Viterbi算法
6.解码
与GMM的对比
对比GMM,使用DNN的话需要考虑状态对齐,这时候直接使用GMM的结果即可。
下图为DNN-HMM语音识别系统的流程图
再次对比GMM-HMM的流程,会发现DNN-HMM多处了对齐和DNN训练的步骤:
FNN(Feedforward Neural Network)
激活函数:
NN分类问题损失函数
梯度下降(Gradient Descent)
反向传播(Back Propagation)
训练流程
其他NN必备知识
• Optimizer(SGD/Momentum/Adam …)
• Dropout
• Regularization
• Residual Connection
• Batch Normalization
• 详请参考李宏毅老师的深度学习课程:
https://www.bilibili.com/video/BV1JE411g7XF?p=1
FNN在语音识别中应用之后能大幅降低错误率(可达到20%)
CNN(Convolution Neural Network)
扩张卷积
能获取到更多细节,适应更大的范围
与DNN的区别
相对于DNN的全对齐,CNN能扩展至更多的输入,体现了“共享”的特性
Pooling
降维,具有局部不变性。
p.s.局部不变性是指下列紫色方框中的打乱重排列,依旧不影响输出
类型
• Max Pooling
• Average Pooling
• 作用
• Dimension Reduction
• Invariance/Robust
CNN在语音识别中的应用:
2013 - Abdel-Hamid, Deng, Yu - Exploring Convolutional Neural Network Structures and Optimization Techniques for Speech Recognition
• 5~10%错误率下降
• 2D CNN在当时没有取得比较好的效果
2015 - Peddinti, Povey, Khudanpur - A time delay neural network architecture for efficient modeling of long temporal contexts
• TDNN(Time Delay Neural Network)和扩张卷积的想法是一致的
• 仅时域卷积,没有pooling
• 5~10%错误率下降
RNN(Recurrent Neural Network)
特点:有记忆功能,从而代表可以对时序建模
LSTM (Long Short Term Memory)
长短时记忆单元
LSTM在语音识别中的应用:
2014 - Sak, Senior, Beaufays - Long Short-Term Memory Based Recurrent Neural Network Architectures for Large Vocabulary Speech Recognition
• 训练帧正确率高很多
• 5~10%错误率下降
混合神经网络
• FNN
- 全局特征抽取
• CNN
- 局部特征抽取
- Invariance
- 有限时序建模能力
• RNN
- 记忆
- 时序建模能力
- 复杂网络基本是以上三种网络的组合