声学模型是什么?语音识别中把声音映射到发音单元的模型
声学模型(Acoustic Model)是语音识别系统中的核心组成部分,它负责描述语音信号的声学特征与语言的发音单元之间的对应关系。简单地说,它要回答的问题是:听到的这段声音,对应的是哪些音。
传统语音识别系统的结构
在传统的语音识别系统中,把一段语音转换成文字,通常需要几个部分配合工作。特征提取:把原始的声音波形切分成很短的片段,通常每段 25 毫秒左右、每隔 10 毫秒取一段,叫作帧,再把每一帧转换成一组能反映声音特性的数值。最常用的是梅尔频率倒谱系数,它模仿了人耳对不同频率声音的感知特点,以及滤波器组特征。声学模型:根据这些特征,判断每一帧声音最可能对应哪个发音单元。发音词典:规定每个词由哪些音素组成,比如“你好”由 n、i、h、ao 组成。语言模型:描述词语组合在一起的可能性,比如“今天天气很好”比“今天天气很号”更常见。解码器:综合声学模型、发音词典和语言模型给出的信息,找出最可能的文字序列。
发音单元
声学模型的建模单元通常是音素,也就是语言中能区分意义的最小语音单位,比如汉语拼音中的声母和韵母。但同一个音素在不同的上下文中发音会有所不同,比如受到前后音素的影响,因此常常使用“三音素”,即考虑了前后音素的音素单元。三音素的数量非常多,通常还会通过决策树把相似的状态聚类在一起共享参数。对于中文,也可以使用音节或者直接使用汉字作为建模单元。
技术的演变
高斯混合模型加隐马尔可夫模型:从 20 世纪 80 年代到 2010 年前后,这是声学模型的主流方法。隐马尔可夫模型描述一个音素在时间上的变化过程,比如开始、中间和结束三个阶段;高斯混合模型描述每个阶段的声学特征服从什么样的概率分布。深度神经网络与隐马尔可夫模型的混合:2010 年前后,微软、谷歌、多伦多大学等的研究者用深度神经网络代替高斯混合模型,直接根据一段上下文的声学特征,预测每一帧属于各个状态的概率,识别错误率大幅下降,这是深度学习最早取得重大突破的领域之一。后来又引入了卷积神经网络、长短期记忆网络、时延神经网络等结构。端到端模型:不再区分声学模型、发音词典和语言模型,而是用一个神经网络直接从声学特征映射到字或词。代表性的方法有连接时序分类(CTC)、RNN-Transducer、基于注意力的编码器-解码器,以及 Conformer 等结构。2022 年 OpenAI 发布的 Whisper 模型,就是在大量的多语言数据上训练的端到端模型。在端到端模型中,“声学模型”的功能被吸收进了整个网络,但人们有时仍把其中负责处理声音的编码器部分称为声学模型。
影响声学模型效果的因素
训练数据的数量和多样性至关重要:说话人的口音、性别、年龄,录音的设备、环境噪声、混响,说话的风格是朗读还是自由对话,都会影响模型的效果。为了提高鲁棒性,常用的方法包括在训练数据中人为地加入噪声和混响、调整语速和音调等数据增强,以及针对特定的说话人或领域进行自适应。在大量未标注的语音数据上进行自监督预训练,比如 wav2vec 2.0、HuBERT 等方法,也显著地提高了声学模型在数据较少的语言和场景中的表现。