跳转至

Whisper

v1

Whisper v1是OpenAI于2022年9月发布的开源ASR系统, 基于Transformer架构, 使用68万小时的互联网多语言和多任务监督数据进行训练. 作为一个通用的语音处理模型, 它不仅能够进行高精度的语音转文字, 还具备翻译, 语言识别和语音活动检测等多项功能.

Whisper v采用了标准的Transformer编码器-解码器架构. 但是针对音频任务进行了优化. 输入处理: 模型将原始的音频切分为30秒的片段, 并转换为Log-Mel频谱图作为输入特征; 序列到序列学习: 编码器处理音频特征, 解码器则预测相应的文本序列. 为了实现多任务(如转录和翻译), 模型使用特殊的token来指示任务类型, 例如<|transcribe|><|translate|>. 弱监督学习: 不同于传统ASR依赖精细人工标注的数据, Whisper使用了互联网上大规模的弱监督数据, 即网络视频字母等现有配对数据, 这种方法虽然数据噪声大, 但是赋予了模型极强的鲁棒性, 使其在嘈杂环境, 口音和技术术语识别上表现优异.

v2

Whisper v2是OpenAI于2022年12月发布的开源ASR模型, 它和初代large模型保持相同参数两的情况下, 通过改进训练策略显著提升了识别准确率和鲁棒性.

Whisper v2并非通过增加模型体积来提升性能, 而是优化了训练过程. v2模型的训练时长是初代large模型的2.5倍. 为了防止在长时间训练中出现过拟合, v2引入了SpecAugment, Stochastic Depth和BPE Dropout等正则化技术.

SpecAugment

SpecAugment是一种用于ASR的数据增强技术, 由Google Brain团队于2019年提出. 它的核心理念是将音频数据视为图像, 直接在音频的对数梅尔声谱图上进行操作, 而不是处理原始波形数据, 这种方法简单高效, 无需额外数据即可显著提高模型的鲁棒性.

SpecAugment主要通过以下三种方式对音频图进行随机扰动, 迫使模型学习更加鲁棒的特征, 而非过拟合特定的时间或者频率模式:

  • 频率掩码: 在声谱图的频率轴上, 随机遮蔽一段连续的频率通道. 模拟部分频段信息的丢失, 如麦克风故障或者特定频段噪声, 强迫模型不依赖单一频段特征.
  • 时间掩码: 在声谱图的垂直方向(时间轴)上, 随机遮蔽一段连续的时间步. 模拟语音中的短暂中断或非平稳噪声, 让模型利用上下文信息来推断缺失的内容.
  • 时间扭曲: 沿时间轴对声谱图进行随机的拉伸或压缩. 模拟说话语速的变化, 使模型对语速快慢不敏感.

它直接在特征图上操作, 计算开销比较小, 不增加训练负担, 通过对现有的数据进行变换生成新样本, 无需采集新音频. 在LibriSpeech等基准测试中, 使用SpecAugment的端到端模型(如LAS)在不使用语言模型的情况下也能超过传统的混合系统, 达到SOTA水平.

随机深度

Stochastic Depth是一种用于训练深度神经网络的正则化技术, 旨在解决深度网络训练难, 过拟合以及训练时间长的问题. 它最初是针对ResNet提出的, 核心思想是在训练过程中丢弃整个网络层. Stochastic Depth的工作机制类似于Dropout, 但是作用对象不是整个神经元, 而是整个residual blocks.

  • 训练阶段: 随机丢弃. 对于每个残差块, 系统会以一定的概率\(p\)决定是否保留该块. 如果保留, 输入正常通过该层进行计算; 如果丢弃, 该层被跳过, 输入直接通过恒等映射传到下一层, 相当于该层在当前迭代中不存在. 每次训练迭代时, 实际更新的网络深度都不同, 且通常远浅于完整网络. 这使得梯度更容易反向传播, 缓解了梯度消失问题.
  • 推理阶段: 全量使用, 保留所有层, 不进行随机丢弃. 为了平衡训练时的概率分布, 推理时会将每一层的输出乘以其在训练时的生存概率\(p\), 类似于 Dropout 的权重缩放.

优点:

  • 缩短训练时间: 由于训练时实际计算的层数减少了(平均深度变浅), 前向和反向传播的计算量大幅降低, 训练速度显著加快(在 ResNet 上可提速 25% 以上).
  • 隐式模型集成(Implicit Ensemble): 每次迭代训练的都是一个不同深度的子网络. 最终的全量网络可以被视为无数个不同深度的子网络的加权平均(Ensemble), 从而显著提升了模型的泛化能力.
  • 支持更深的网络: 使得训练超深网络(如 1200 层 ResNet)成为可能, 而在没有 Stochastic Depth 的情况下, 如此深的网络往往难以收敛.

BPE Dropout

BPE Dropout是一种在分词阶段的正则化/数据增强手段. 标准BPE会按照固定merge规则将字符逐步合并为子词, 而BPE Dropout会在执行merge的时候随机跳过一部分合并(用一个dropout概率\(p\)控制). 结果是: 同一个词/句子在不同epoch可能被切为不同的subword序列, 相当于对输入做了离散的扰动和增强.

v3

Whisper large-v3是OpenAI于2023年底发布的开源ASR模型. v3并非单纯增加参数量, 而是通过数据和特征提取实现性能飞跃.

  • 训练数据量激增: 训练数据从 v2 的约 68 万小时增加到了 500 万小时(包含大量伪标签弱监督数据), 极大地提升了模型的泛化能力.
  • 频谱特征调整: 输入的 Mel 频率分量(Mel frequency bins)从 80 增加到了 128. 这一改变提高了频域分辨率, 使模型能捕捉更细微的语音特征, 但也意味着 v3 的预处理与 v2 不完全兼容.
  • 新增语言支持: 在原有 99 种语言基础上, 正式新增了粤语 (Cantonese) 的 token 支持, 扩展了其在华语地区的应用场景. ​ 总结一句话: Whisper v3 通过将训练数据扩充 7 倍并细化频域特征, 在不增加推理成本的前提下, 显著提升了多语言识别的鲁棒性和准确性, 是目前开源 ASR 领域的标杆模型之一.