跳转到内容

输入关键词开始搜索

    FSQ(有限标量量化)

    概念更新 2026-07-19置信度 high#概念#语音合成#量化

    将中间表示投影到低维空间后对每个维度独立做有界舍入取整,替代向量量化(VQ),实现码本 100% 利用率且无需学习码本。

    FSQ(Finite Scalar Quantization,有限标量量化)来自 Mentzer et al. (ICLR 2024),核心思想是“VQ-VAE 做简单就好”。它将输入投影到 D 维低维空间后,对每个维度独立量化到 [-K, K] 范围内的整数,然后投影回原维度。与 VQ 不同,FSQ 不需要维护和更新码本(codebook)。

    1. 100% 码本利用率:VQ 常出现码本崩塌(codebook collapse),大量码字从未被使用(CosyVoice 1 中 VQ 利用率仅 23%)。FSQ 天然利用所有可能的组合。
    2. 更丰富的信息保持:FSQ token 在 ASR 任务上的 WER 显著低于 VQ token(英文 CommonVoice: 10.67% vs 18.26%),说明保留了更多语义信息。
    3. 简化训练:无需 EMA 更新码本、无需处理死码字(dead codes),straight-through estimator 直接近似梯度。
    4. 下游 TTS 收益:更好的语义保持 → LM 对齐更容易 → 内容一致性更高。

    H=Encoder1(X)中间表示Hˉ=ROUND ⁣(Projdown(H))低维投影并逐维取整H^=Projup(Hˉ)投影回原维度μi=jhˉi,j(2K+1)j低维向量转为标量索引\begin{aligned} H &= \operatorname{Encoder}1(X) && \text{中间表示} \[2pt] \bar{H} &= \operatorname{ROUND}!\left(\operatorname{Proj}{\mathrm{down}}(H)\right) && \text{低维投影并逐维取整} \[2pt] \hat{H} &= \operatorname{Proj}{\mathrm{up}}(\bar{H}) && \text{投影回原维度} \[2pt] \mu_i &= \sum_j \bar{h}{i,j}(2K+1)^j && \text{低维向量转为标量索引} \end{aligned}

    • Proj_down: d → D 维(D << d)
    • ROUND: 将每维值舍入到 [-K, K]
    • 有效 token 数: (2K+1)
    • CosyVoice 2/3 中使用 K=2, D=4 → 625 个有效 token
    • 训练时使用 straight-through estimator 近似量化梯度
    维度 VQ FSQ
    量化方式 找码本最近邻 逐维舍入取整
    码本利用率 低(常<50%) 100%
    码本学习 需要(EMA/梯度) 不需要
    死码字问题
    信息瓶颈 由码本大小 由 D 和 K 控制
    梯度近似 Straight-through Straight-through
    • “FSQ 码本大小 (2K+1)^D 随 D 指数增长,会太大”:实际上 D 和 K 都很小(如 D=4, K=2 仅有 625),比 VQ 的 4096 还小,但利用率 100% 意味着有效信息更多。