牛津大学xDeepMind 自然语言处理(4)
牛津大学xDeepMind 自然语言处理 Natural Language Processing
语音识别 Speech Recognition
-
语音识别概述
- 问题定义:自动语音识别(ASR)、文本到语音合成(TTS)等
- 相关任务:说话人识别、语音增强、语音分离等
-
语音的表示与构成
-
物理实现:空气压力波、经声带、声道等调制
-
声学表示:
-
采样与量化:不同采样率和位深
-
傅里叶分析:短时快速傅里叶变换
-
梅尔频率表示:log-mel特征
梅尔频率表示是对 FFT 结果在梅尔尺度上进行局部加权平均并取对数得到的 log-mel 特征,通常每帧 40 + 维,是神经网络语音建模的默认选择;
-
MFCCs:梅尔频率倒谱系数
MFCCs 是梅尔滤波器组能量的离散余弦变换,具有白化和低维特性,类似对数谱的主成分,GMM 语音识别系统可能使用 13 个 MFCCs,还可结合帧堆叠、差分和二阶差分等。
-
-
语音构成:由句子组成,句子由单词组成、最小单位是音素,涉及同音字、韵律等
-
数据集:TIMIT、WSJ、Broadcast News等
-
-
语音识别历史
1960s:动态时间规整
1970s:隐马尔可夫模型
1986-1995:多层感知机用于语音识别
1995-2009:GMMs成为主导
2022-:神经网络特征(如”瓶颈“或”串联“特征 neck)
2006-:深度网络用于语音识别,2012年称为主导范式
1990、2012-:循环网络用于语音识别及新模型出现(注意力、LAS、神经转换器)
-
概率性语音识别
-
模型:隐马尔可夫模型
-
基本方程:选择最可能的单词序列,为声学模型和语言模型分数的乘积
-
语言模型:建模单词序列概率
-
transduction过程:从信号到语言,涉及特征提取、声学模型、词典、语言模型等,利用加权有限状态转换器(WFST)构建图,进行组合、优化等操作。
- 基础流程:从音频到语义的分层转换
•Audio
(音频):语音识别的原始输入,是连续的声波信号(如人说话的声音)。
•Feature Extraction
(特征提取):将音频转换为帧(Frame
)(短时间片段,如 25ms / 帧),并提取声学特征(如梅尔频谱、MFCC 等),把物理声波转化为机器可处理的数字特征。
•Acoustic Model
(声学模型):通过State(状态)和Phoneme(音素) 建模特征与语音单元的映射:
◦State
(状态):音素的细分状态(因发音受前后语境影响,需更细粒度建模,常通 过决策树聚类生成)。
◦Phoneme
(音素):语言中最小发音单位(如汉语 “啊”、英语 “/æ/” ),是连接声 学特征与文字的桥梁。
•Lexicon
(词典):建立Phoneme(音素) 与Word
(词) 的映射,实现 “发音组合 → 文字” 的转换(如音素 “/kæt/” 对应单词 “cat” )。
•Language Model
(语言模型):基于Word(词) 序列建模,预测 “哪些词更可能连续出现”(如 “I want to” 比 “I want the” 更符合语法时,语言模型会赋予更高概率 ),提升识别合理性。
•Sentence
(句子):通过词序列拼接、语言模型约束,形成完整语句。
•Meaning
(含义):结合NLP
(自然语言处理) 技术,解析句子语义,实现从语音到理解的最终目标(如把 “Open the door” 转化为执行指令 )。
- 基础流程:从音频到语义的分层转换
-
语音单位:包括音素(如 “cat” 对应 / K/, /AE/, /T/)、上下文无关和相关的 HMM 状态、双音素、音节、字符、整个单词等,选择取决于语言、数据集大小等。
-
上下文相关语音聚类:音素的实现依赖前后语境,需对不同语境实现建模,但多数未被观测到,因此通过聚类(如决策树)分组并训练联合模型,对未观测语境有 “退避” 规则。
-
高斯混合模型:1990-2010年主导ASR,建模每个状态的声学特征概率分布,常用对角协方差高斯,通过 EM 算法训练,参数可并行估计,但难以跨状态共享参数 / 数据。
-
强制对齐:计算语音特征与语音状态的最大似然对齐,为每个训练话语构建真实转录的语音状态集,用维特比算法找到 ML 单调状态序列,结果为每帧的语音标签,可硬分割或软分割。
-
解码:与强制对齐类似,但面对的是图而非直线路径,包含单词间的可选静音、替代发音路径等,通常在对数域使用最大概率,通过 “波束” 保留最佳路径,可能丢失真实最佳路径。
-
-
神经网络语音识别
-
两种范式:
一是用神经网络计算非线性特征表示(如 “瓶颈” 或 “串联” 特征),低维表示用 GMMs 建模;
二是用神经网络估计语音单位概率。
-
Hybrid networks 混合神经网络:
训练网络作为分类器,用 softmax 处理语音单位,y(i)=exp(a(i,θ))/∑j=1Nexp(a(j,θ))y(i)=exp(a(i,θ))/\sum^N_{j=1}exp(a(j,θ))y(i)=exp(a(i,θ))/∑j=1Nexp(a(j,θ)),收敛到语音状态的后验概率P(ci∣ot)P(c_i|o_t)P(ci∣ot),训练损失为交叉熵。解码时用神经网络替代GMMs建模P(o∣c)P(o|c)P(o∣c),引入”缩放后验“,经验上”先验平滑“项α≈0.8效果更好。
-
输入特征:神经网络可处理高维相关特征,如 26 个堆叠的 40 维梅尔滤波器组输入,第一层可学习到特定滤波器。
-
架构:包括全连接、卷积网络(如时间延迟神经网络、扩张卷积、Wavenet)、循环网络(如 RNN、LSTM、GRU、双向 RNN、CLDNN)等。
-
训练损失:
-
交叉熵
-
CTC:引入可选空白符号,无需 bootstrap 模型,用软目标,不按后验缩放,结果与传统训练相似
-
-
序列判别训练:传统训练最大化给定数据的真实状态序列概率,而序列判别训练设计更接近词错误率的可微损失,使网络学习后验缩放,相对提升传统训练和 CTC 约 15%,如 bMMI、sMBR。
-
新架构:
- Sequence2Sequence 序列到序列:基本模型对语音效果不佳,结合注意力的模型如 Listen, Attend and Spell(输出字符直到 EOS,整合训练集语言模型,难整合外部训练的语言模型)。
- Watch Listen, Attend and Spell:同时应用于音频和视频流,用计划采样训练。
- Neural transducer 神经转换器:解决序列到序列模型需完整序列的问题,一次转录单调块,减少延迟。
- Raw waveform speech recognition 原始波形语音识别:端到端训练,学习滤波器组,可结合卷积滤波器、WaveNet 风格架构、Clockwork RNN 等。
-
-
其他主题
- 噪声中的语音识别:多风格训练(收集噪声数据或训练时添加随机噪声,如通过 “房间模拟器” 添加混响,可选添加干净重建损失)、训练去噪器等。(注意 Lombard 效应(噪声中声音变化)
- Sequence2Sequence 序列到序列:基本模型对语音效果不佳,结合注意力的模型如 Listen, Attend and Spell(输出字符直到 EOS,整合训练集语言模型,难整合外部训练的语言模型)。
- Watch Listen, Attend and Spell:同时应用于音频和视频流,用计划采样训练。
- Neural transducer 神经转换器:解决序列到序列模型需完整序列的问题,一次转录单调块,减少延迟。
- Raw waveform speech recognition 原始波形语音识别:端到端训练,学习滤波器组,可结合卷积滤波器、WaveNet 风格架构、Clockwork RNN 等。
-
其他主题
- 噪声中的语音识别:多风格训练(收集噪声数据或训练时添加随机噪声,如通过 “房间模拟器” 添加混响,可选添加干净重建损失)、训练去噪器等。(注意 Lombard 效应(噪声中声音变化)
- 多麦克风语音识别:多麦克风提供更丰富表示,“离说话人最近” 的麦克风信噪比更好。波束形成利用麦克风阵列几何和声速计算到达时间差,延迟求和实现信号建设性干涉,噪声破坏性干涉取决于方向 / 频率。神经网络可利用更多特征,需保留相位信息以实现波束形成。