RFSQ:让多阶段 FSQ 不再浪费后级量化网格
Robust Residual Finite Scalar Quantization,简称 RFSQ,解决的是一个非常具体的问题:FSQ 本身训练简单、不会发生传统 VQ 的 codebook collapse,但一旦直接堆成多阶段 residual quantizer,后面几级 residual 的幅值会快速变小,导致大量固定标量 levels 闲置。
作者的修复方式很克制:在 residual 进入后续 FSQ stage 前,加入全局可学习缩放,或使用训练集统计冻结的可逆 LayerNorm,把 residual 拉回 FSQ 的设计工作区间。关键点是这些 conditioning 参数都是模型常量,不随样本写入压缩码流。
FSQ 对每个 latent 维度独立量化到固定有限标量集合。它的隐式 codebook 大小来自各维 levels 的笛卡尔积,因此不需要显式 learned vector codebook,也不需要 commitment loss、EMA update 或 codebook reset。
但 residual quantization 改变了输入分布。第一级已经解释掉主要能量后,后续 residual 的 norm 会显著小于原始 latent。论文给出的经验关系是:
这不是 clipping,也不是越界。恰恰相反,residual 仍在 FSQ 的有效范围内,只是集中在中心很窄的一段。作者用一维例子说明:若 $L=8$ 个 levels 均匀覆盖 $[-1,1]$,步长为
当 residual norm 只有原始输入的 $0.3$ 倍时,它可能只使用中心两级。名义码率仍是 $\log_2 8=3$ bits,但有效动态范围更接近 $\log_2 2=1$ bit。
一个底层类比
这像用满量程 ADC 测毫伏信号。电路工作正常,读数也在范围内,但大部分刻度永远用不到。RFSQ 的思想是先把小信号放大到合适量程,读数后再按可逆方式缩回来。
这个 insight 和 iFSQ 的 activation collapse 是同一个底层问题的不同表现:FSQ 的固定等距量化网格隐含了对输入分布的假设,而实际分布常常不满足这个假设。
直接 residual 化时,第一级和后续级分别为:
问题在于 $r_{k-1}$ 的统计尺度不再像 $z$,但 FSQ 网格仍假定输入处在原始工作范围附近。
最直接的修复是每个 stage 学一个全局 scalar $\alpha_k$:
$\alpha_k$ 训练后固定,由 encoder 和 decoder 共享,不需要写入 bitstream。它通过 straight-through estimator (STE) 与其他参数一起优化。
Scale 只处理整体幅度,无法处理 residual 的非零均值和各维方差不均。LayerNorm conditioning 使用每 stage、每维度的冻结统计量:
$\mu_k$ 和 $\sigma_k$ 来自训练数据,推理时冻结。它比 scale 更强,因为它同时校正整体幅度、均值偏移和维度方差不均。
音频实验:
图像实验:
| 方案 | 进入第 k 级 FSQ 的输入 | 校正幅度 | 校正均值/方差 | bitstream 开销 | 参数开销 |
|---|---|---|---|---|---|
| None | $r_{k-1}$ | 否 | 否 | 无 | 无 |
| Scale | $\alpha_k r_{k-1}$ | 是 | 否 | 无 | 1 scalar/stage |
| LayerNorm | $(r_{k-1}-\mu_k)/\sigma_k$ | 是 | 是 | 无 | 2 × d-dim vectors/stage |
音频实验使用 Emilia clean subset。音频被下采样到 24 kHz,320× 压缩后得到 75 Hz 的 128 维特征。码率为 24 bits/frame,即 1.8 kbps。backbone 是 EnCodec/SEANet 风格 encoder-decoder,四个卷积 block 的下采样 strides 为 [2,4,5,8],模型约 25M 参数,训练 200k steps,batch size 32,使用 8 GPU nodes。
| Method | DNSMOS | MOS |
|---|---|---|
| VQ-EMA-4×64-PQ | 2.687 ± 0.468 | 3.42 |
| LFQ-24D | 2.814 ± 0.437 | 3.52 |
| FSQ-4D-Uniform | 2.965 ± 0.383 | 3.51 |
| RVQ-4×64 | 3.518 ± 0.281 | 3.81 |
| RFSQ-4S-NU-No | 3.187 ± 0.319 | 3.58 |
| RFSQ-4S-NU-Scale | 3.421 ± 0.274 | 3.70 |
| RFSQ-4S-Uni-LN | 3.598 ± 0.258 | 3.83 |
| RFSQ-4S-NU-LN | 3.646 ± 0.251 | 3.80 |
读表时要克制:RFSQ-4S-NU-LN 的 DNSMOS 3.646 高于 RVQ-4×64 的 3.518,提升约 3.6%;但 MOS 上 RVQ 是 3.81,RFSQ 是 3.80,基本持平。真正有说服力的是 conditioning 消融:None 只有 3.187,Scale 到 3.421,LayerNorm 到 3.646。去掉 conditioning,DNSMOS 掉 14.4%,这是论文最有说服力的数字。
图像实验使用 ImageNet 128×128,简单对称 CNN autoencoder:encoder 含两层 stride-2、4×4 kernel convolution,decoder 使用对应 transposed convolution,产生 32×32 feature maps。
| Method | Bits | L1 ↓ | LPIPS ↓ | PSNR ↑ |
|---|---|---|---|---|
| RFSQ-2×2048-None | 22.0 | 0.130 | 0.159 | 21.1 |
| RFSQ-2×2048-Scale | 22.0 | 0.122 | 0.152 | 21.5 |
| RFSQ-2×2048-LN | 22.0 | 0.124 | 0.148 | 21.3 |
| RFSQ-4×1024-None | 40.0 | 0.113 | 0.121 | 22.2 |
| RFSQ-4×1024-Scale | 40.0 | 0.103 | 0.101 | 22.9 |
| RFSQ-4×1024-LN | 40.0 | 0.102 | 0.100 | 22.9 |
40-bit 条件下,RFSQ-4×1024-LN 相比 unconditioned 的 L1 从 0.113 降到 0.102,LPIPS 从 0.121 降到 0.100,PSNR 从 22.2 提升到 22.9 dB。LPIPS 的相对改善更大,说明后级 residual capacity 对纹理和感知细节尤其重要。
值得注意的是,22-bit 条件下 Scale 的 PSNR (21.5) 略高于 LayerNorm (21.3),但 LayerNorm 的 LPIPS (0.148) 优于 Scale (0.152)。这说明在极低码率下,更 aggressive 的分布标准化不一定在所有指标上都最优。
RFSQ 并不是唯一在改进量化器的工作。理解它的定位需要看两条竞争路线:
ERVQ(2024-10)通过 intra-inter codebook optimization 解决 RVQ 的 codebook collapse,在多种音频 codec 上实现 100% codebook utilization。这条路线保留了 VQ 的 learned codebook 灵活性,但增加了训练复杂度。
RFSQ 和 iFSQ 都属于这条路线。iFSQ(Tencent,2026-01)从单 stage 的 bin utilization 角度修复 FSQ 的 activation collapse,只需 1 行代码。RFSQ 从多 stage 的 residual decay 角度修复。两者的关系是正交互补的:iFSQ 让每级 FSQ 的 bin 利用更好,RFSQ 让后级 residual 的分布回到 FSQ 的工作点。
| 方法 | 年份 | 路线 | 核心修复 | 与 RFSQ 关系 |
|---|---|---|---|---|
| ERVQ | 2024-10 | 改进 RVQ | intra-inter codebook optimization | 替代路线 |
| iFSQ | 2026-01 | 替代 VQ | distribution-mapping 修复单 stage bin 利用 | 正交互补 |
| DAC | 2023 | 改进 RVQGAN | multi-band STFT discriminator + snake activations | 强 baseline,RFSQ 未对比 |
这篇论文最有价值的地方,不是宣称"建立新标准",而是给出了一个可复用的诊断框架:对 fixed quantizer 来说,重建误差之外还必须检查每 stage 的 residual norm、mean、variance 和 level utilization。
局限也很明确。第一,篇幅只有 5 页,理论主要是直觉和经验观察,没有严格 rate-distortion 推导。第二,主观音频实验只有 15 listeners,作者也承认缺少更大规模 MUSHRA。第三,RVQ baseline 没有纳入 DAC 级别的最新 discriminator 和训练改进。第四,图像实验只是 ImageNet 128×128 简单重建,没有与现代 learned image compression 或强视觉 tokenizer 系统全面对比。第五,未与同期 iFSQ 对比,两者的正交互补关系有待实验验证。
- 记录每个 residual stage 的利用率:不要只看 reconstruction loss。画出 residual norm、mean、variance、level histogram。
- 先试无 side information 的 global conditioning:stage-wise scale 和 frozen affine normalization 是很干净的 baseline。
- 把 bit allocation 和 residual energy 曲线绑在一起:RFSQ 的 (8,6,5,5) 暗示前级应承担更高能量成分,后级负责细节 residual。这与经典变换编码的 water-filling 理论一致。
- 对图像压缩保持边界感:RFSQ 没有解决 entropy modeling、rate control、variable-rate、perceptual adversarial training 等系统问题。
- 关注分布漂移:LayerNorm 使用冻结训练统计,部署域变化时需要验证统计稳定性。
- 实验 iFSQ + RFSQ 的组合:iFSQ 保证单 stage bin utilization,RFSQ 保证多 stage residual conditioning。两者是否正交互补?
- 对比 RFSQ vs ERVQ:这可以回答"改 quantizer 类型"还是"改 codebook 管理"更有效的根本问题。
参考来源
- Robust Residual Finite Scalar Quantization for Neural Compression, arXiv:2508.15860
- Finite Scalar Quantization: VQ-VAE Made Simple, arXiv:2309.15505
- High Fidelity Neural Audio Compression, EnCodec, arXiv:2210.13438
- iFSQ: Improving FSQ for Image Generation with 1 Line of Code, arXiv:2601.17124
- ERVQ: Enhanced Residual Vector Quantization, arXiv:2410.12359
- DAC: High-Fidelity Audio Compression with Improved RVQGAN, arXiv:2306.06546