AI语音交互算法之语音识别(ASR)
系列文章第 3 篇 · 从 HMM 到端到端,语音识别的进化之路
一、ASR 的本质:从波形到文字的序列映射
语音识别(Automatic Speech Recognition, ASR)要解决的核心问题可以形式化地表述为:
给定一段音频特征序列 X=(x1,x2,...,xT)\mathbf{X} = (x_1, x_2, ..., x_T)X=(x1,x2,...,xT),找到最可能的文字序列 W∗\mathbf{W}^*W∗:
W∗=argmaxWP(W∣X) \mathbf{W}^* = \arg\max_{\mathbf{W}} P(\mathbf{W} \mid \mathbf{X}) W∗=argWmaxP(W∣X)
这个看似简单的概率公式背后,经历了从统计模型到深度神经网络,再到端到端系统的三次范式转移。本文将带你完整走过这段进化之路。
二、ASR 技术演进全景
三、经典时代:HMM-GMM 与 DNN-HMM
3.1 HMM-GMM:统治了 30 年的基线
在深度学习出现之前,ASR 的主流框架是 HMM-GMM(隐马尔可夫模型 + 高斯混合模型):
HMM 的三个经典问题:
| 问题 | 含义 | 算法 |
|---|---|---|
| 评估 | 给定模型和观测,计算概率 | 前向-后向算法 |
| 解码 | 给定模型和观测,找最可能的状态序列 | Viterbi 算法 |
| 学习 | 给定观测序列,估计模型参数 | Baum-Welch(EM)算法 |
HMM-GMM 的问题:
-
GMM 对高维非线性数据的建模能力有限
-
需要 HMM 状态与语音帧之间的强制对齐(Forced Alignment),依赖专家标注
-
上下文相关音素(Triphone)导致状态空间爆炸
-
决策树状态聚类(State Tying)虽然缓解了数据稀疏,但限制了模型容量
3.2 DNN-HMM:深度学习的首次介入
2011-2012 年,DNN 开始替换 GMM,形成 DNN-HMM 混合系统。核心变化是:用 DNN 直接预测每个 HMM 状态的后验概率 P(st∣xt)P(s_t \mid \mathbf{x}_t)P(st∣xt),而非 GMM 的似然建模。
相比 GMM 的优势:
-
DNN 能利用长达 11-21 帧的上下文窗口,建模能力远超 GMM
-
不需要对特征分布做对角协方差假设
-
在相同数据量下,WER 相对 GMM 降低 20-30%
代表模型:
-
TDNN(时延神经网络):通过一维卷积沿时间轴捕获上下文,是最早用于 ASR 的深度模型之一
-
LSTM(长短期记忆网络):解决了长序列梯度消失问题,显著提升了远距离上下文建模能力
-
TDNN-F(因子化 TDNN):Kaldi 中的主力声学模型,通过矩阵分解大幅减少参数量
四、端到端 ASR 的三大流派
端到端 ASR 的核心思想是:不再需要 HMM、发音词典、强制对齐,用一个神经网络直接从音频映射到文字。
4.1 CTC(Connectionist Temporal Classification)
CTC 是端到端 ASR 的第一个里程碑。它通过引入一个特殊的 blank 符号,解决了输出文字序列比输入音频帧短得多的对齐问题:
核心思想:
所有能映射到目标文字序列的帧级标签序列(包括 blank)的路径概率之和:
P(W∣X)=∑π∈B−1(W)∏t=1TP(πt∣xt) P(\mathbf{W} \mid \mathbf{X}) = \sum_{\pi \in \mathcal{B}^{-1}(\mathbf{W})} \prod_{t=1}^{T} P(\pi_t \mid \mathbf{x}_t) P(W∣X)=π∈B−1(W)∑t=1∏TP(πt∣xt)
优点:
-
不需要帧级对齐标注
-
推理简单:贪心或 beam search 解码
-
计算效率高
局限:
-
条件独立性假设:假设各帧输出相互独立,忽略了输出序列内部的依赖关系(没有语言模型能力)
-
通常需要配合外部语言模型做 shallow fusion 才能取得好效果
代表实现:
-
DeepSpeech 系列(百度/Mozilla):最早的开源 CTC ASR
-
Wav2Vec 2.0(Meta):用自监督预训练 + CTC 微调的范式
4.2 RNN-Transducer(RNN-T)
RNN-T 在 CTC 的基础上增加了预测网络(Prediction Network),解决了 CTC 的条件独立性缺陷:
核心公式:
P(yu+1∣x1:t,y1:u)=Softmax(Joint(ftenc,gupred)) P(y_{u+1} \mid \mathbf{x}_{1:t}, y_{1:u}) = \text{Softmax}(\text{Joint}(f_t^{\text{enc}}, g_u^{\text{pred}})) P(yu+1∣x1:t,y1:u)=Softmax(Joint(ftenc,gupred))
优势:
-
天然支持流式识别:encoder 可以逐帧输出,不需要等完整音频
-
自回归建模,具有内部语言模型能力
-
在流式场景下,通常比 Attention 模型表现更好
挑战:
-
训练不稳定(encoder 和 predictor 输出尺度不匹配)
-
序列级损失(如 MWER)的重要性 > CE 损失
-
解码空间比 CTC 复杂,需要更精细的 beam search
代表实现:
-
Google 的 ContextNet:结合 Efficient Convolution 的 RNN-T
-
NVIDIA Conformer-Transducer:将 Conformer encoder 与 Transducer 结合
4.3 Attention-based Encoder-Decoder(AED)
AED 模型源于机器翻译的 Transformer 架构,完全依靠注意力机制来对齐音频和文字:
代表模型:
| 模型 | 发布方 | 特点 |
|---|---|---|
| LAS(Listen, Attend and Spell) | 第一个完整的 AED ASR | |
| Transformer ASR | 多团队 | 全自注意力替换 RNN |
| Whisper | OpenAI | 68 万小时多语言弱监督预训练,68 万小时多任务训练 |
| Conformer | 自注意力 + 卷积的混合架构,ASR 的 SOTA 基础模块 | |
| Paraformer | 阿里达摩院 | 非自回归 decoder,并行解码速度快 10-20 倍 |
| Whisper large-v3 | OpenAI | 多语言 ASR + 翻译,支持 99 种语言 |
五、Conformer:当前 ASR 的主流编码器
Conformer 是 Google 在 2020 年提出的架构,至今仍是 ASR encoder 的首选。它巧妙地将 自注意力 和 卷积 结合在一起:
设计哲学:
-
自注意力(MHSA):捕获全局上下文——知道句子前面在说什么、后面要说什么
-
卷积(Conv):捕获局部模式——音素的细微变化、语谱图的纹理
-
Macaron 结构(两个半步 FFN):相比标准 Transformer 的 sandwich 结构更稳定
-
相对位置编码:比绝对位置编码更好地泛化到不同长度的音频
在实际工业部署中,Conformer 的挑战在于流式适配——标准的 MHSA 需要看完整序列。常用策略包括:
-
Chunk-wise attention:只关注当前 chunk + 有限历史 + 有限未来
-
Time-restricted self-attention:用掩码限制注意力范围
-
Causal convolution:用因果卷积替换部分非因果操作
六、大模型时代的 ASR 范式
6.1 自监督预训练
ASR 领域的“BERT 时刻”由 Wav2Vec 系列开启:
| 模型 | 方法 | 数据量 |
|---|---|---|
| Wav2Vec 2.0 | 对比学习:量化离散单元 + 对比损失 | 5.3 万小时 |
| HuBERT | 聚类伪标签:K-Means 聚类 MFCC 作为学习目标 | 5.3 万小时 |
| WavLM | 联合去噪 + 掩码预测,统一 ASR/说话人/分离 | 9.4 万小时 |
| data2vec | 多模态统一框架(语音+文本+图像) | - |
关键意义:用大量无标注语音数据预训练,大幅降低了对人工标注的依赖,使得小语种和低资源场景的 ASR 成为可能。
6.2 弱监督大规模预训练
Whisper(OpenAI)证明了另一条路:用 68 万小时弱监督数据(来自互联网的语音 + 自动生成文字),配合多任务训练(ASR + 翻译 + 语种识别 + VAD),可以得到一个极其鲁棒的多语言 ASR 系统。
Whisper 的成功启示:
-
数据规模 > 算法技巧:足够大的弱监督数据可以弥补标注质量
-
多任务训练:不同任务共享编码器,相互促进
-
标准化输出格式:统一的
<|startoftranscript|>等特殊 token 使模型具备结构化的多任务能力
6.3 大语言模型 + ASR 的融合
2024 年以来,一个激动人心的方向是将 ASR 与 LLM 深度融合:
-
SALMONN(清华):用 Q-Former 将语音编码器与 LLM 桥接,使 LLM“听懂”语音
-
Qwen-Audio(阿里):多语言语音与 LLM 的统一理解
-
SLM(Speech Language Model):将语音离散化为 token,直接在 LLM 框架下进行文本 + 语音的混合生成
七、ASR 的核心评价指标
7.1 准确率指标
词错误率(WER) 是最核心的指标:
WER=S+D+IN×100% \text{WER} = \frac{S + D + I}{N} \times 100\% WER=NS+D+I×100%
其中 SSS 为替换错误,DDD 为删除错误,III 为插入错误,NNN 为参考词数。
字错误率(CER):中文等字符语言通常用 CER,以字为单位计算。
标杆数据:
| 条件 | 典型 WER |
|---|---|
| LibriSpeech test-clean(朗读,安静) | < 2% |
| LibriSpeech test-other(朗读,噪声) | < 4% |
| 电话对话(Switchboard) | 5-8% |
| 远场会议(CHiME-6) | 20-30% |
| 极低 SNR 场景 | 40-60% |
7.2 实时率与延迟
实时率(RTF) = 处理耗时 / 音频时长。RTF < 1 即可实时(对流式场景要求 RTF < 0.3)。
首字延迟(First Token Latency):用户说完到看到第一个字的延迟,对流式交互体验至关重要,通常需要 < 500ms。
尾字延迟(Last Token Latency):音频结束到最后一个字出现的延迟,对流式场景也至关重要。
八、工程实践建议
| 场景 | 推荐方案 | 理由 |
|---|---|---|
| 离线/非实时 | Whisper large-v3 | 极致准确率,多语言支持 |
| 流式/实时 | Conformer-Transducer | 天然流式,低延迟 |
| 低资源语言 | Wav2Vec 2.0 + 少量标注微调 | 自监督预训练大幅降低数据需求 |
| 端侧/嵌入式 | LSTM/FSMN + CTC | 计算量小,可量化部署 |
| 高精度中文 | Paraformer-large | 非自回归,又快又准 |
| 多语种混合 | Whisper 或 SeamlessM4T | 覆盖面最广 |
九、总结
ASR 经历了从统计模型到深度学习再到端到端大模型的范式迁移。当前的主流技术栈可以概括为:
| 层次 | 关键技术 |
|---|---|
| 基础模块 | Conformer(编码器)、Transducer/AED(解码架构) |
| 预训练 | 自监督(Wav2Vec, HuBERT)或弱监督(Whisper) |
| 部署优化 | 流式改造、量化、知识蒸馏 |
| 前沿探索 | 语音与 LLM 的深度融合、统一多模态模型 |
对于入门者,建议以 Whisper 为起点运行一次完整的识别流程,然后用 Conformer 或 Paraformer 理解实时 ASR 的架构差异。
ASR 是语音交互链条中研究历史最久、技术最成熟的模块,但也正因为如此,它的进展最能体现深度学习对传统信号处理领域的颠覆性影响。
更多推荐


所有评论(0)