在快速发展的生成式 AI 领域,扩散模型已成为黄金标准。从创造超现实图像 (如 Stable Diffusion) 到合成超逼真的人类语音,这些模型的工作原理都是通过迭代地将随机噪声细化为结构化数据。
但有一个问题: 扩散模型速度很慢。
在音频领域,这种缓慢被进一步放大。音频数据是高维的;仅仅一秒钟的高质量音频就可能包含 24,000 或 44,100 个数据点。训练一个模型来预测如此长的序列需要巨大的计算能力和时间。
今天,我们将深入探讨一篇来自新南威尔士大学 (UNSW) 、CSIRO 和南洋理工大学 (NTU) 的研究人员撰写的引人入胜的论文,题为 “Speaking in Wavelet Domain”。他们提出了一个耳目一新的简单问题: 与其让神经网络架构变得复杂以提高速度,如果我们仅仅改变音频信号本身的表示方式会怎样?
他们的解决方案涉及离散小波变换 (DWT) 。 通过将生成过程转移到小波域,他们成功地将语音扩散模型的训练和推理速度提高了一倍,且没有牺牲质量。让我们来拆解一下他们是如何做到的。
瓶颈: 为什么语音合成很慢?
要理解解决方案,我们首先需要了解问题所在。去噪扩散概率模型 (DDPMs) 通过反向扩散过程生成数据。它们从高斯噪声开始,通过数百 (有时数千) 个小步骤将其“去噪”成干净的波形。
在处理图像时,我们通常在“潜在空间” (类似于图像的压缩版本) 中工作以节省计算量。然而,音频带来了独特的挑战。语音信号具有非常高的时间分辨率。如果你简单地缩小图像,你会得到一张模糊的图片。如果你通过下采样“缩小”音频,你就会失去使声音听起来像人类的高频细节 (比如“s”或“t”音的清晰度) 。
加速这一过程的标准方法通常包括:
- 架构改变: 让神经网络更小或更稀疏。
- 调度改变: 尝试用更少的步骤进行去噪。
本文作者选择了第三条路: 通过小波进行信号压缩。
核心方法: 用小波“说话”
研究人员转向了一种经典的信号处理技术: 小波变换。
什么是小波?
与将信号分解为正弦波 (频率) 但丢失时间信息的傅里叶变换 (FFT) 不同,小波变换将信号分解为“小波”。这些是在时间上局部化的小振荡。这使得变换能够同时捕捉频率信息和时间信息——这对于像语音这样的非平稳信号至关重要。
压缩中常用的特定小波族是 Cohen-Daubechies-Feauveau (CDF) 5/3 小波。

如图 1 所示,小波函数 (下排) 振荡并归零。它们充当滤波器,可以从信号中提取特定的纹理。
离散小波变换 (DWT)
该方法依赖于分解 。 离散小波变换 (DWT) 获取输入语音信号并通过两个滤波器:
- 低通滤波器: 提取“近似系数” (cA)。这捕捉了语音的平滑低频结构。
- 高通滤波器: 提取“细节系数” (cD)。这捕捉了高频噪声和纹理。
关键在于,滤波后,信号被下采样 2 倍 。
\[ \varPsi _ { l o w } \left( n \right) = \sum _ { k = - \infty } ^ { + \infty } g \left( k \right) \phi \left( 2 n - k \right) . \]

这导致了关键的压缩步骤:
\[ \begin{array} { r } { c A = { \varPsi } _ { l o w } \mathrm { ~ \downarrow ~ 2 , ~ } } \\ { c D = { \varPsi } _ { h i g h } \mathrm { ~ \downarrow ~ 2 . ~ } } \end{array} \]
如果你原始音频的长度为 \(L\),你现在拥有两个向量 (\(cA\) 和 \(cD\)) ,每个长度为 \(L/2\)。
小波扩散流程
该方法的精妙之处在于: 扩散模型被训练来生成小波分量 (\(cA\) 和 \(cD\)) ,而不是原始音频。

如图 2 所示,该流程如下运作:
- 输入: 目标语音通过 DWT 分解为 \(cA\) 和 \(cD\)。
- 拼接: 这两个向量被堆叠形成一个具有 2 个通道且长度为原始长度一半 (\(L/2\)) 的矩阵。
- 扩散: 模型学习对这种压缩表示进行去噪。
- 重构: 一旦模型生成了干净的 \(cA\) 和 \(cD\), 离散小波逆变换 (IWT) 将完美地重构出全分辨率语音信号。
为什么这能加速?
你可能会想: “我们仍然有相同数量的数据点,只是重新排列了而已。为什么会更快?”
答案在于 GPU 和卷积神经网络 (CNN) 的工作原理。卷积层的计算成本在很大程度上取决于序列长度 。
\[ M A C _ { h ( n ) } = K \times C _ { o u t } \times x = \frac { 1 } { 2 } M A C _ { g ( n ) } . \]
通过将序列长度减半 (\(L \to L/2\)),即使我们将通道数翻倍 (\(1 \to 2\)),由于并行化,GPU 也能更高效地处理数据。研究人员发现,这个简单的改变几乎使训练和推理的速度翻倍 。
进一步增强: 榨取更多性能
研究人员并没有止步于基础分解。他们引入了两个巧妙的模块来进一步提高质量和速度。
1. 频率瓶颈模块
语音能量主要集中在低频段。高频通常包含噪声。为了帮助模型关注重点,作者提出了一个频率瓶颈模块 。

这个模块 (图 4) 位于模型内部。它通过再次分离频率、应用卷积并强调低频成分 (语音) ,同时可能在增强任务中衰减高频成分 (噪声) 来处理信号。这带来了更好的音频质量,特别是在语音增强 (去噪) 任务中。
2. 多级小波加速器
如果分割一次信号 (\(L/2\)) 很快,那如果我们再次分割呢?
多级小波加速器递归地应用 DWT。这产生了一个长度为原始长度 1/4 且具有 4 个通道的信号。
(a) 多级离散小波变换模块
(b) 多级低频语音增强模块
(c) 多级离散小波逆变换模块
如上图所示,这允许进行更激进的压缩。实验表明,这可以将模型速度提升超过 5 倍 , 尽管音频保真度略有折损。
实验与结果
团队在两个主要任务上测试了该方法: 语音合成 (使用 DiffWave 进行文本转语音) 和语音增强 (使用 CDiffuSE 去除噪声) 。
速度对比
这篇论文的主要主张是速度。让我们看看数据:

在表 1 中,请看 Training Time (训练时间) 和 RTF (实时率) 列。
- 原始模型: 每轮训练耗时约 481 秒;RTF 为 0.728。
- 小波模型 (Haar, DB2 等): 训练耗时降至约 248 秒;RTF 降至约 0.40。
这证实了假设: 小波方法几乎精确地将计算时间减半。
质量对比
如果音频听起来像机器人的声音,那么速度再快也毫无用处。研究人员使用 PESQ (语音质量感知评估) 和 MOS (平均意见得分,由人类评分) 来判断质量。
- Haar 小波: 非常快且锐利,但在理论上可能有点“块状”。实际上,它达到了 4.32 的 MOS,非常接近原始模型的 4.38。
- DB2 (Daubechies 2): 一种稍微复杂一点的小波。它提供了很好的平衡,比 Haar 更好地保持了音色。
- Coif1: 这种小波在 DNS_MOS 指标 (一种判断质量的神经网络) 上表现异常出色,甚至在某些情况下击败了原始模型。但人类听众注意到它有时会轻微改变声音的“音色” (特征) 。
频率增强器的力量
当他们添加频率瓶颈模块 (在上一节中讨论过) 时,结果变得更好了。

表 3 显示,使用增强器后, Haar 小波模型的语音自然度 (SN) 得分实际上达到了 4.421 , 优于原始模型的 4.372 , 同时速度仍快两倍。
多级小波带来的极致速度
最后,对于多级加速器 (将信号分成 4 部分) :

表 2 展示了 Haar4C (4 通道/4 部分分割) 。RTF 降到了惊人的 0.126 。 这是难以置信的快。然而,MOS 降到了 4.32。这创造了一个选择的范围: 如果你需要“完美”的音频,使用 2 级分割。如果你需要闪电般的生成速度 (例如用于移动应用程序) ,使用 4 级分割。
结论与关键要点
论文 “Speaking in Wavelet Domain” 给我们上了关于 AI 研究宝贵的一课: 有时最好的优化不是新的层或新的优化器,而是数据本身更好的表示方式。
给学生的关键要点:
- 信号表示很重要: 深度学习模型不是在真空中存在的。了解信号处理 (如小波与 FFT 的对比) 可以让你为模型提供“更好”的食物,使其消化 (训练) 得更快。
- 并行化为王: 减少序列长度,即使以增加通道数为代价,在现代 GPU 上通常也是一个稳赚不赔的权衡。
- 通用性: 这种方法不限于特定的模型。它可以插入几乎任何基于扩散的音频模型 (DiffWave, CDiffuSE 等) ,立即获得 2 倍的速度提升。
通过简单地透过小波的透镜观察语音信号,作者解锁了一种使高保真语音合成变得实用且可扩展的方法。对于任何研究扩散模型的人来说,这引发了一个引人深思的问题: 还有哪些领域可以从小波变换中受益?
](https://deep-paper.org/en/paper/2402.10642/images/cover.png)