掩码扩散Masked Diffusion是当前语音克隆中架构最简洁的参考音频注入方式之一F5-TTS 和 VoiceBox 均采用了这个思路。但这个方案内部存在一个值得深入分析的结构性问题在 DiT 的全局双向自注意力中参考音频区域会被待生成区域噪声反向污染这会如何影响音色提取质量一、掩码扩散的基本结构掩码扩散的核心思路是把语音克隆建模为一个**语音填充Speech Infilling**任务序列维度[参考音频帧 (T_ref) | 待生成音频帧 (T_gen)] ↕ 通道维度 concat 噪声语音 [加噪梅尔频谱 | 加噪梅尔频谱 ] 掩码语音 [真实梅尔频谱 | 零掩码置空 ] 文本条件 [填充 token | 音素序列 ]以 F5-TTS 为例模型输入是三路在通道维度上拼接的序列噪声语音noisy speech整个序列加噪后的梅尔频谱掩码语音masked speech参考区域保留真实梅尔频谱待生成区域置零文本条件音素序列填充到序列等长这三路输入在通道维度 concat 后送入 DiT Block 的自注意力模块。二、参考音频被噪声污染的机制2.1 自注意力的双向性DiT Block 中的自注意力是全局双向的——序列中每个位置都可以 attend 到所有其他位置没有因果掩码的限制自注意力矩阵简化示意 参考区域 待生成区域 参考区域 [ ✅ ↔ ✅ | ✅ ← ✅ ] ← 参考区域被噪声反向污染有害 待生成区域 [ ✅ → ✅ | ✅ ↔ ✅ ] ← 待生成区域获取参考音色期望的这带来两个方向的交互性质完全不同期望的方向待生成区域 attend 到参考区域获取目标音色信息 ✅有害的方向参考区域也 attend 到待生成区域噪声参考帧的隐层表示被噪声信息污染 ❌需要特别说明的是污染只指有害的方向——参考区域被噪声反向干扰。待生成区域从参考区域获取音色是期望的行为不在污染的讨论范围内。2.2 污染的传播路径以多层 DiT 为例参考区域的噪声污染是逐层累积的第 1 层 DiT Block 输入参考区域干净 ↔ 待生成区域噪声 输出参考区域表示₁轻度噪声污染 第 2 层 DiT Block 输入参考区域表示₁轻度污染 ↔ 待生成区域表示₁ 输出参考区域表示₂中度噪声污染 ... 第 N 层 DiT Block 输入参考区域表示_{N-1}重度污染 ↔ 待生成区域表示_{N-1} 最终待生成区域从被噪声重度污染的参考表示中提取音色在深层网络中参考区域的表示经过多轮和噪声的交互后已经和原始参考音频的特征产生了偏差。待生成区域看到的参考信息是经过多层噪声污染叠加后的版本。2.3 污染程度随扩散时间步变化污染的严重程度和扩散时间步强相关早期时间步t 接近 T待生成区域噪声强 待生成区域 ≈ 纯高斯噪声 → 参考区域被严重噪声污染 → 待生成区域从高度污染的参考中提取音色质量差 晚期时间步t 接近 0待生成区域逐渐恢复结构 待生成区域 ≈ 接近真实语音 → 参考区域噪声污染程度降低 → 音色提取质量逐渐提升这意味着掩码扩散在整个去噪过程中音色提取质量是动态变化的——早期时间步提取到的音色信息质量最差而模型恰恰需要在这个阶段做出关键的结构性决策。三、掩码语音输入的缓解作用F5-TTS 的设计中**掩码语音masked speech**输入在一定程度上缓解了这个问题。掩码语音在通道维度上提供了参考区域的真实梅尔频谱作为额外输入每个时间步模型同时接收 - 噪声语音被加噪污染的参考帧 ← 参与自注意力会被待生成区域噪声污染 - 掩码语音干净的真实梅尔频谱 ← 通过通道 concat 直接进入每一层干净的掩码语音作为常驻锚点persistent anchor在每一层都为参考区域提供未经污染的原始特征对抗自注意力带来的参考区域噪声污染。然而这个缓解是不完全的掩码语音通过通道 concat 注入而非隐层状态的直接替换自注意力仍然会把噪声信息混入参考区域的隐层表示随着层数加深噪声影响仍会在隐层表示中积累四、理论上的解决思路4.1 单向注意力掩码最直接的解法是引入单向注意力掩码阻断参考区域 attend 到待生成区域的路径单向掩码后的注意力矩阵 参考区域 待生成区域 参考区域 [ ✅ ↔ ✅ | ❌阻断] ← 阻止参考区域被噪声污染 待生成区域 [ ✅ → ✅ | ✅ ↔ ✅ ] ← 待生成区域仍可获取参考音色这样参考区域的表示只由自身决定不受待生成区域噪声的干扰待生成区域仍然可以 attend 到干净的参考区域正常获取音色信息。代价是参考区域不再能感知待生成区域的内容模型的某些全局建模能力可能受限。此外这需要修改 DiT Block 的注意力实现增加了工程复杂度。4.2 交叉注意力替代自注意力用交叉注意力替代自注意力处理参考-生成的交互参考区域独立编码待生成区域通过交叉注意力查询参考区域的编码两个区域不在同一个自注意力序列中相互干扰从根源上避免参考区域被噪声污染。代价是失去了掩码扩散架构极简的优势实质上退化为另一类注入方式。4.3 训练阶段的课程学习在训练时对待生成区域的噪声程度做课程学习Curriculum Learning从低噪声开始逐步提高噪声强度。这样模型在早期训练阶段见到的参考区域噪声污染较少有助于学习更干净的参考音色提取能力。五、这个问题有多严重支持影响显著的角度F5-TTS 的实验中参考音频的选择对克隆效果影响很大过长的参考音频反而有时会降低效果——这和参考区域噪声污染的逐层累积有一定关联早期时间步的音色提取质量差意味着去噪轨迹的初始方向可能偏离目标音色后续步骤难以完全纠正支持影响有限的角度F5-TTS 的掩码语音锚点提供了持续的干净参考信号在一定程度上对抗噪声污染大规模训练数据和模型容量使模型能够隐式学习对抗噪声污染的能力F5-TTS 在实践中取得了很好的零样本克隆效果说明这个问题没有从根本上破坏方案的可行性较为准确的结论是参考区域的噪声污染是一个真实存在的结构性局限它使得掩码扩散的音色提取在理论上不如单向或解耦方案纯净但通过掩码语音锚点和大规模训练这个问题在实践中被部分缓解没有成为阻止该方案有效工作的致命缺陷。六、与其他注入方式的对比从参考区域是否被噪声污染这个维度看各种注入方式注入方式参考音频是否参与双向自注意力参考区域是否被噪声污染缓解机制掩码扩散F5-TTS✅ 是✅ 存在掩码语音锚点不完全AdaLN / FiLM如 VoxFlash-TTS❌ 否embedding 注入❌ 不存在—Perceiver 交叉注意力SupertonicTTS❌ 否独立编码后注入❌ 不存在—In-context PromptVALL-E✅ 是AR 上下文有限AR 单向性自回归单向性AdaLN/FiLM 和 Perceiver 交叉注意力方案对这个问题免疫——参考音频在独立的编码路径中处理不和噪声序列在同一个自注意力中交互。VALL-E 的自回归特性使得参考 token 只被后续 token attend而不会 attend 到后续 token天然形成单向性噪声污染方向受限。七、小结掩码扩散中参考音频的噪声污染问题是一个由架构设计决定的结构性局限产生原因DiT 的全局双向自注意力使参考区域 attend 到待生成区域噪声参考帧表示被噪声污染传播机制污染逐层累积深层网络中参考区域的表示已和原始特征产生偏差时间步依赖早期时间步污染最严重恰好是去噪轨迹最关键的阶段缓解机制F5-TTS 的掩码语音锚点提供持续的干净参考信号部分对抗噪声污染实践影响理论上存在但大规模训练使模型能够在一定程度上应对未成为致命缺陷理解这个问题有助于在系统设计时做出更有针对性的选择如果对音色保真度要求极高AdaLN/FiLM 或 Perceiver 交叉注意力等解耦方案从架构上规避了参考区域噪声污染——以 VoxFlash-TTS 为例它采用 AdaLN 注入 speaker embedding参考音频在独立路径中编码完全不参与噪声序列的自注意力从架构层面消除了这个问题如果优先架构简洁性掩码扩散配合足够的训练规模是可行的工程选择。参考资料F5-TTSarxiv.org/abs/2410.06885E2-TTSarxiv.org/abs/2406.18009VoiceBoxLe et al., NeurIPS 2023SupertonicTTSarxiv.org/abs/2503.23108VoxFlash-TTS Demovoxflash.github.io