生成逼真、高保真的音频是机器学习领域的一大难题。
想一想原始音频波形是什么: 对于每一秒的声音,它是由数以万计的数字——即采样点——组成的序列。
要生成哪怕几秒钟连贯的音乐或语音,模型既需要理解复杂的局部模式 (如钢琴音符的质感) ,同时又必须在数十万个时间步上维持全局结构 (如旋律的演进或一个完整的句子) 。
多年来,这个问题一直由循环神经网络 (RNN) 和卷积神经网络 (CNN) 的特化版本来解决。
像 SampleRNN 和著名的 WaveNet 这样的模型已经将可能性推向了极限,但它们各自都有根本性的权衡:
- RNN 训练速度慢,因为它们是按顺序处理数据——一次一个采样点。
- CNN 由于并行化,训练速度更快,但受其感受野限制,难以捕捉非常长程的依赖关系。
如果我们能两全其美呢?
一个既能像 CNN 一样并行训练,又能像 RNN 一样高效生成,同时还能建模真正长程结构的模型?
斯坦福大学最近的一篇论文 《原始音频!使用状态空间模型生成音频》 (It’s Raw! Audio Generation with State-Space Models) 就介绍了这样一种模型: SASHIMI**。
它利用深度状态空间模型 (SSM) 实现了更快的训练、高效的生成,并且其生成音频在人类评估中被认为比前辈们在音乐性和连贯性上显著更优。
在本文中,我们将详细解析 SASHIMI 的工作原理:
- 回顾自回归音频建模及其前辈模型。
- SASHIMI 核心的结构化状态空间序列模型 (S4) 。
- 确保生成结果正常的稳定性修复方法。
- 能够跨越从微观细节到宏观结构的多尺度架构。
- 音乐和语音生成基准测试结果。
背景: 追求完美的音频模型
自回归建模: 一次一个采样点,预测未来
其核心在于,自回归 (AR) 模型通过基于所有先前时间步来预测当前时间步,从而学习序列的概率分布。
形式上,对于一个音频波形 \(x = (x_0, x_1, \dots, x_{T-1})\):
训练: 模型观察一个真实音频序列,并在每一步预测下一个采样点。
生成: 从一小段种子音频 (或静音) 开始,模型从预测分布中采样,将采样点附加到输入上,然后重复这一过程——一次一个采样点地构建完整波形。
这种方法支持任意长度的序列,但其成败取决于为 \( p(x_t \mid x_{ CNN 在输入序列上应用一个学习到的*卷积核 *(滤波器) : WaveNet 因使用扩张卷积而闻名,通过跳过输入来指数级地扩大感受野,而不增加参数数量。 对于 16 kHz 音频,一个 WaveNet 可能只能访问过去的几秒钟——这限制了它生成具有真正全局结构的旋律或句子的能力。 RNN 逐步处理序列,并维持一个隐藏状态 \(h_t\) 来总结已看到的信息: 这种有状态设计使得 RNN 理论上拥有对过去的无限记忆——推理速度很快 (每个采样点仅需一次隐藏状态更新) 。 状态空间模型 (SSM) 源自控制理论,由连续时间的线性微分方程描述: 这里,\(x(t)\) 是输入,\(h(t)\) 是潜在状态,\(y(t)\) 是输出。 其卷积核实际上是无限的,克服了传统 CNN 的感受野限制。 S4 (结构化状态空间序列模型) 是 SSM 的一个强大实例化: S4 可以通过在卷积 (训练) 和递归 (生成) 模式间切换,对原始音频进行分类和序列生成。 SASHIMI 基于 S4 构建,并添加了两项针对原始音频生成的关键改进。 原始 S4 在卷积模式下工作良好,但在递归模式下有时会数值不稳定——生成会崩溃成杂音。 为什么? 原始参数化: 不能保证这一点,训练往往将 \(A\) 推出 Hurwitz 空间。 修复方法: 项 \(-pp^*\) 为负半定,会将特征值向左移动。 第二项创新是多尺度处理——同时捕捉不同分辨率下的音频结构。 工作原理: 这种设计在保留每采样点精度的同时,高效建模了长期依赖。 作者在无条件音乐和语音生成任务上,将 SASHIMI 与 WaveNet 及 SampleRNN 对比。 音乐天然适合 AR 模型: 它跨越长时间尺度且可无限生成。 贝多芬钢琴奏鸣曲: 它在更长训练上下文中收益显著: YouTubeMix 钢琴数据集: 这表明 SASHIMI 的统计性能提升能够转化为更连贯、悦耳的音乐。 效率: SC09 口语数字: SASHIMI AR 模型在自动化指标 (FID ↓,IS ↑) 和人工指标 (质量 ↑,清晰度 ↑) 上均优于基线。 DiffWave 是一种非自回归扩散模型,以 WaveNet 为主干。 样本效率: SASHIMI 论文提出的新架构在多方面胜出: 通过诊断并修复 S4 的稳定性问题,并将其嵌入智能的多尺度架构,作者创造了一个强大高效的音频机器学习工具。 SASHIMI 不仅推动了原始音频生成的边界——它有望彻底重塑音频合成系统的格局。CNN (例如 WaveNet) : 并行训练,上下文有限
训练过程高度并行——非常适合 GPU——但推理过程却很笨拙: CNN 只能“看到”一个固定大小的过去窗口。RNN (例如 SampleRNN) : 无限上下文,训练缓慢
但训练过程极其缓慢: 隐藏状态必须按顺序计算。状态空间模型: 新的希望
当对音频这样的序列进行离散化时,SSM 可以有两种计算方式:S4 模型
用 SASHIMI 构建更好的音频模型
1. 为生成任务稳定 S4
在递归更新 \( h_k = \overline{A}h_{k-1} + \dots \) 中,稳定性取决于 \(\overline{A}\) 的所有特征值都在单位圆内。这要求 \(A\) 为 Hurwitz 矩阵 (所有特征值的实部为负) 。
将 p
与 q
绑定,并翻转符号:
如果 \(\Lambda\) 的所有元素实部为负,\(A\) 可证明为 Hurwitz 矩阵。
在实践中,即便 \(\Lambda\) 不受约束,模型也能保持稳定。2. SASHIMI 的多尺度架构
原始音频在多尺度上都有结构:
精细纹理 (毫秒级) 、音符/音素 (几十毫秒级) 、旋律/句子 (秒级) 。实验: SASHIMI 基准测试
数据集
无限音乐生成
SASHIMI 的 NLL 低于 WaveNet 和 SampleRNN。
通过听感测试 (MOS) 评估 16 秒音频片段的保真度与音乐性。
一个仅 1.29M 参数的小型 SASHIMI 在 NLL 上超越 4.24M 参数的 WaveNet,训练速度快3 倍。无条件语音生成
一秒音频需同时建模单词、说话人差异、口音与噪声。SASHIMI 作为即插即用主干网络
作者将 WaveNet 替换为同规模的 SASHIMI——无需调优——即在 SC09 上取得了SOTA表现。
SASHIMI-DiffWave 用一半训练时间达到 WaveNet-DiffWave 的最佳表现,并且在小模型规模上具备更好扩展性。结论: SASHIMI 的意义
下一次你听到 AI 生成的音乐或语音时,其背后很可能就是一个状态空间模型在发挥作用。