核心要点

  • CTC:逐帧输出字符分布 + blank 符号,对所有可能对齐求和,无需帧级标注即可端到端训练

  • CTC 假设输出条件独立、缺乏显式语言建模,常配外部语言模型解码

  • Whisper:编码器-解码器 Transformer(seq2seq),用 68 万小时弱监督多语数据训练,鲁棒、多任务

  • RNN-Transducer(RNN-T)介于两者之间,引入预测网络兼顾流式与语言建模,适合在线场景

标准回答

CTC:对齐无关的逐帧建模

CTC(连接时序分类)让声学模型对每个时间帧预测字符(含特殊 blank)的概率,再对所有能折叠成目标文本的对齐路径求和作为损失。它解决了语音帧数远多于文本字符、且无逐帧对齐标注的问题。优点是结构简单、可流式;缺点是假设各帧输出条件独立,没有显式语言建模,通常需外接语言模型提升准确率

Whisper:大规模弱监督 seq2seq

Whisper 是标准的编码器-解码器 Transformer。编码器处理对数梅尔频谱,解码器自回归生成文本 token,并通过特殊 token 控制语言、是否翻译、是否加时间戳等多任务。其关键不在架构创新,而在用约 68 万小时网络弱监督多语数据训练,带来很强的鲁棒性零样本泛化。

对比与选型

CTC 轻量、低延迟,适合资源受限或流式;Whisper 准确鲁棒但偏离线、计算重;RNN-T 兼顾流式与语言建模,是工业实时 ASR 常用方案。

常见误区

⚠️ 常见踩坑

CTC 的 blank 不是「静音」标签,而是用于路径折叠与去重的占位符。Whisper 的强项来自数据规模与弱监督,而非新颖架构。

追问

追问 1CTC 中的 blank 符号有什么作用?

blank 有两个作用:一是允许模型在「无明确输出」的帧上输出 blank,对齐语音帧与较短文本;二是区分连续重复字符——折叠规则会先合并相邻相同字符,blank 插在中间可保留如「hello」的双 l。它使逐帧预测能映射到变长文本而无需对齐标注。

追问 2为什么 Whisper 比传统 ASR 更鲁棒?

因为它在 68 万小时覆盖多语言、多口音、多噪声、多领域的弱监督数据上训练,分布覆盖广,对真实世界口音、背景噪声、专业术语泛化更好。多任务训练(识别+翻译+语言检测+时间戳)也让表示更通用,无需针对每个数据集微调即可零样本使用。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。