音频信号处理学习-第二周
语音识别模型的基本思路
前端处理
信号预处理:对输入的语音信号进行预处理,包括去噪、预加重(强调高频成分)、分帧和加窗(通常使用汉明窗)。
特征提取
梅尔频率倒谱系数(MFCC):从预处理后的语音信号中提取特征,最常用的是梅尔频率倒谱系数(MFCC)。其他常用的特征包括线性预测倒谱系数(LPCC)和感知线性预测(PLP)特征。
声学建模
隐马尔可夫模型(HMM):传统语音识别系统中,使用隐马尔可夫模型(HMM)来建模语音信号中的时间序列特性。HMM 将语音信号分为若干个状态,每个状态对应一个或多个音素,通过状态转移概率和观测概率来描述语音信号的动态变化。
深度神经网络(DNN):现代语音识别系统中,深度神经网络(如卷积神经网络CNN、循环神经网络RNN、长短期记忆网络LSTM、变换器Transformer等)广泛用于替代HMM进行声学建模。这些模型能够更好地捕捉语音信号的复杂特征和时间依赖性。
语言建模
n-gram模型:传统语言模型中,使用n-gram模型(如二元文法、三元文法)来描述词语之间的概率关系。
神经语言模型:现代语言模型中,使用神经网络(如LSTM、Transformer)进行语言建模,能够捕捉更长距离的依赖关系,提高识别准确率。
解码
维特比算法:使用维特比算法在声学模型和语言模型的共同作用下,找到最可能的词序列。这一步是将特征向量转换为文本的过程,综合考虑声学概率和语言概率。
后处理
错误纠正:对解码结果进行后处理,纠正可能的错误。例如,可以使用上下文信息或特定的规则来纠正误识别的词语。
语音识别模型的整体流程
- 语音信号输入:接收语音输入信号。
- 信号预处理:去噪、预加重、分帧和加窗。
- 特征提取:提取MFCC或其他特征。
- 声学建模:使用HMM或DNN等模型进行声学建模。
- 语言建模:使用n-gram模型或神经语言模型进行语言建模。
- 解码:使用维特比算法或其他解码技术将声学和语言模型的结果结合,输出最可能的词序列。
- 后处理:纠正错误,输出最终识别结果。
现代语音识别系统
现代语音识别系统(如Google Voice、Apple Siri、Amazon Alexa等)大多基于深度学习技术,采用端到端的模型架构,将语音信号直接映射到文本。典型的端到端模型包括:
- 序列到序列(Seq2Seq)模型:利用编码器-解码器架构,将输入的语音特征序列编码成隐含表示,再解码成文本序列。
- 注意力机制(Attention Mechanism):在解码过程中使用注意力机制,动态选择输入特征序列的相关部分,提高识别性能。
- 变换器(Transformer):利用自注意力机制,能够并行处理序列,具有更高的效率和性能。