系列文章第 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∗=arg⁡max⁡WP(W∣X) \mathbf{W}^* = \arg\max_{\mathbf{W}} P(\mathbf{W} \mid \mathbf{X}) W=argWmaxP(WX)

这个看似简单的概率公式背后,经历了从统计模型到深度神经网络,再到端到端系统的三次范式转移。本文将带你完整走过这段进化之路。


二、ASR 技术演进全景

1980s-2000s HMM-GMM 时代 基于统计的“声学模型 + 语言模型” 2010-2015 DNN-HMM 混合系统 深度神经网络替换 GMM 2015-2020 端到端模型兴起 CTC、RNN-T、Attention-based Encoder-Decoder 2020-2024 大规模预训练 Whisper、Conformer、Paraformer 2024-2026 多模态语音大模型 语音理解统一建模、GPT-4o 语音模式 ASR 技术演进路线

三、经典时代:HMM-GMM 与 DNN-HMM

3.1 HMM-GMM:统治了 30 年的基线

在深度学习出现之前,ASR 的主流框架是 HMM-GMM(隐马尔可夫模型 + 高斯混合模型):

语音波形

MFCC 特征

GMM 声学模型
建模 HMM 状态的发射概率

HMM 状态序列
建模音素的时间结构

发音词典
音素 → 单词

语言模型
N-gram 词序列概率

解码器
搜索最优词序列

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(stxt),而非 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(WX)=πB1(W)t=1TP(πtxt)

优点:

  • 不需要帧级对齐标注

  • 推理简单:贪心或 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 的条件独立性缺陷:

音频特征

Encoder
声学编码器

上一步输出的文字

Predictor
预测网络

Joint Network
联合网络

Softmax
输出下一个 token

下一步

核心公式:

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+1x1: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 架构,完全依靠注意力机制来对齐音频和文字:

自回归解码器

音频编码器

输入特征

Conformer / Transformer
多头自注意力 + 卷积

编码器输出

起始符 SOS

掩码自注意力

交叉注意力
关注编码器输出

FFN + Softmax

输出 token

代表模型:

模型 发布方 特点
LAS(Listen, Attend and Spell) Google 第一个完整的 AED ASR
Transformer ASR 多团队 全自注意力替换 RNN
Whisper OpenAI 68 万小时多语言弱监督预训练,68 万小时多任务训练
Conformer Google 自注意力 + 卷积的混合架构,ASR 的 SOTA 基础模块
Paraformer 阿里达摩院 非自回归 decoder,并行解码速度快 10-20 倍
Whisper large-v3 OpenAI 多语言 ASR + 翻译,支持 99 种语言

五、Conformer:当前 ASR 的主流编码器

Conformer 是 Google 在 2020 年提出的架构,至今仍是 ASR encoder 的首选。它巧妙地将 自注意力卷积 结合在一起:

输入

FFN 模块 1
(半步前馈)

MHSA 模块
多头自注意力

Conv 模块
深度可分离卷积

FFN 模块 2
(半步前馈)

LayerNorm

输出

设计哲学:

  • 自注意力(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 为起点运行一次完整的识别流程,然后用 ConformerParaformer 理解实时 ASR 的架构差异。

ASR 是语音交互链条中研究历史最久、技术最成熟的模块,但也正因为如此,它的进展最能体现深度学习对传统信号处理领域的颠覆性影响。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐