Speech Encoder / Convolution-Augmented Transformer

Conformer 模型架构

Transformer 擅长按内容连接远处的声音,卷积擅长稳定捕捉邻近帧的变化。Conformer 把两者按顺序放入同一个编码块,并用两个半步 FFN 包住它们。

½ FFN → MHSA → Conv → ½ FFN全局注意力先整合上下文,深度卷积再细化局部声学模式;Macaron 结构在块的两端完成逐位置非线性变换。
问题完整数据流Conformer BlockAttention卷积模块Macaron FFN架构比较论文证据边界资料

一、语音需要同时回答“远处相关吗”和“附近怎样变化”

这篇文章面向需要选择或实现 ASR Encoder 的工程师,解释 Conformer 如何在一个块内分工处理全局依赖和局部声学结构,以及为什么它不能单独决定系统是否流式。

纯 Transformer 是一个强而合理的起点。Self-Attention 可以让任意两个时间位置直接交互,适合处理跨词上下文;但它没有显式规定相邻语音帧应当连续。纯 CNN 则天然适合音素过渡和局部频谱模式,计算也更规则,但单层只能看到有限窗口,远距离关系需要堆叠很多层。

Conformer 的选择不是用 CNN 替代 Transformer,而是让 Attention 和卷积各自承担擅长的部分:Attention 负责内容相关的全局交互,卷积负责位置邻近的局部模式。

一句定义:Conformer 是一种在 Macaron 双 FFN 之间依次放置相对位置多头自注意力和一维卷积模块的语音编码器。

二、完整数据流:先降低帧率,再堆叠编码块

Conformer 语音编码器完整数据流音频转换为 Log-Mel 特征,经卷积降采样后进入多层 Conformer Block,再交给 CTC、Transducer、Attention 或 Paraformer 解码头。 音频16 kHz waveform Log-Mel 特征常见 10 ms hop高帧率序列 Conv Subsampling原论文约 4× 降采样投影到模型维度 d Conformer Block × NFFN + MHSA + Conv + FFN上下文化声学表示离线或受限上下文 ASR HeadCTC / RNN-TAED / NAR
概念图:Conformer 是 Encoder,不绑定某一种训练目标或 Decoder。原论文使用卷积降采样把约 10 ms 帧率降至约 40 ms。
10 秒音频 ÷ 10 ms hop ≈ 1,000 个特征帧
经过约 4× 时间降采样    ≈   250 个 Encoder 位置

注意力矩阵由 1,000² 缩到约 250² 个位置对,
仅从序列长度看,单层全局注意力的位置对约减少到 1/16。

注意:这是简化计算,不含通道、卷积和实现常数。

三、Conformer Block:四个模块按顺序串联

Conformer Block 的四段结构输入依次经过半步前馈网络、多头自注意力、卷积模块和第二个半步前馈网络,每一段都有残差连接,最后经过 LayerNorm。 输入 x[T, d] ½ × FFN逐位置通道变换Macaron 前半步 MHSA相对位置编码内容相关的全局关系Pre-Norm + Dropout Conv ModuleGLU + Depthwise Conv局部声学模式BatchNorm + Swish ½ × FFN逐位置通道变换Macaron 后半步 每个模块都有残差连接;块末再做 LayerNorm
原始 Conformer Block:两个 FFN 以半步残差权重包住 MHSA 和卷积,作者的消融实验显示 MHSA 后接卷积的顺序更好。
x̃ = x + ½FFN(x)  →  x′ = x̃ + MHSA(x̃)  →  x″ = x′ + Conv(x′)  →  y = LayerNorm(x″ + ½FFN(x″))

四、自注意力:根据当前语音动态读取全局

Conformer 使用 Multi-Head Self-Attention。每个时间位置投影出 Q、K、V,再根据 Q 与所有 K 的匹配程度聚合 V:

Attention(Q, K, V) = softmax(QKᵀ / √dk)V

原始模型引入 Transformer-XL 风格的相对正弦位置编码。模型不仅知道某个帧“是什么”,还可以表达两个帧之间的相对距离;作者认为这有助于适应不同长度的语音。

这条分支的优势是感受野可以覆盖整个输入,并随语音内容改变连接;成本是标准全局 Attention 的时间和注意力矩阵显存随长度近似二次增长。卷积降采样因此不是无关紧要的前处理,而是完整架构的成本控制点。

五、卷积模块:门控、逐通道时间卷积与通道混合

LayerNorm
  → Pointwise Conv(通道扩张为 2 倍)
  → GLU 门控(拆成两半并逐元素相乘)
  → 1D Depthwise Conv(沿时间轴逐通道卷积)
  → BatchNorm
  → Swish
  → Pointwise Conv(投影回模型维度)
  → Dropout
  → Residual Add
组件改变什么为什么放在这里
Pointwise Conv混合并扩张通道,不扩大时间窗口为门控和局部卷积准备表示
GLU一半特征作为内容,另一半形成门选择哪些通道信号继续传播
Depthwise Conv每个通道独立读取邻近时间帧低成本注入局部时间结构
BatchNorm + Swish归一化并加入平滑非线性支持深层训练和局部特征变换
第二个 Pointwise Conv重新混合通道并恢复维度把局部结果送回残差主干

Depthwise Conv 的卷积核大小控制单层直接覆盖的局部窗口。原论文的大模型采用 kernel size 32,但这不是所有 Conformer 的固定参数;后续实现常根据流式延迟、数据规模和计算预算调整。

六、Macaron FFN:为什么前后各放半个

普通 Transformer 通常在 Attention 后放一个 FFN。Conformer 借鉴 Macaron-Net,把它拆成块首和块尾两个 FFN,并让每次残差更新乘以 1/2

FFN(x) = Dropout(Linear₂(Dropout(Swish(Linear₁(LayerNorm(x))))))

FFN 不在时间位置之间传递信息,而是在每个位置内部扩张、非线性变换并压回通道维度。Attention 与 Conv 解决“从哪些时间位置取信息”,FFN 解决“如何重新组合这个位置的特征”。

两个半步 FFN 并不等于机械地复制普通 FFN。它形成 FFN → 时序混合 → FFN 的对称结构。原论文的消融实验报告,Macaron 双 FFN 优于参数规模接近的单 FFN 配置。

七、Conformer、Transformer 与 SAN-M 的差异

比较轴TransformerConformerSAN-M
全局模块Self-AttentionSelf-AttentionSelf-Attention
局部模块无显式时序卷积GLU + Depthwise ConvDFSMN FIR Memory
融合方式单一 Attention 路径MHSA 后串行接 ConvAttention 与 Memory 并行相加
FFN 布局通常一个 FFN前后两个半步 FFN通常沿用 Transformer 式 FFN
局部非线性依赖 Attention + FFN 间接学习GLU、BatchNorm、SwishFIR 式逐通道加权为主
常见角色通用 Encoder/DecoderASR 声学 EncoderFunASR 声学 Encoder

简化地说,Conformer 是“先做全局内容混合,再做局部细化”;SAN-M 是“全局分支与局部分支同时计算,再融合”。这是结构差异,不足以脱离 checkpoint 和推理设置判断谁更快或更准。

八、原始论文实际证明了什么

作者在 LibriSpeech 960 小时英语语音上训练了约 10M、30M 和 118M 三档模型。论文报告 118M 模型在不使用外部语言模型时,test-clean/test-other WER 为 2.1%/4.3%;加入外部语言模型后为 1.9%/3.9%。10M 小模型报告为 2.7%/6.3%。

论文消融还比较了卷积放置方式、卷积核大小、激活函数与 Macaron FFN。其结论支持“Attention 后串联卷积”和“双半步 FFN”这套组合,但证据来自当时的 LibriSpeech 配置,不应扩展为所有语种、噪声条件和流式模型上的无条件结论。

不要把 Encoder 指标当成产品指标:WER 同时受训练数据、输出单元、Decoder、外部语言模型和搜索影响;延迟还取决于 chunk、右侧上下文、硬件、batch 与推理引擎。

九、部署边界:离线 Conformer 不会自动变成流式模型

全局 Attention 需要完整或受限上下文

原始双向 MHSA 可以读取未来帧。流式化时必须改成 chunk attention、limited-context attention 或其他缓存协议,并明确每层允许多少右看。

普通卷积也可能读取未来

对称 Depthwise Conv 会访问当前位置右侧。严格因果模型需要左填充的 causal convolution;可控延迟模型则保留有限 look-ahead。卷积核大小因此也参与最低算法延迟。

标准 Attention 对长音频仍昂贵

卷积分支没有消除 O(T²) 注意力。长录音通常还需要更激进的降采样、局部注意力、分块或 FastConformer 类变体。

Conformer 只定义 Encoder

CTC、RNN-T、AED 和 Paraformer-v2 都可以把 Conformer 当作前端。首字延迟、输出是否并行、能否使用文本历史以及静音幻觉风险,必须结合后端一起判断。

Conformer Paraformer-v2 的 240M 都是 Conformer 参数吗?

不是。论文表中的 240M 是完整系统规模,包含 Conformer Encoder、CTC 相关投影和非自回归 Decoder 等部分。Conformer 本身没有固定参数量,层数、模型宽度、FFN 宽度和词表相关输出层都会改变总规模。

评论加载中...