跳转到内容

输入关键词开始搜索

    Self-corrective alignment(自校正对齐)

    概念更新 2026-08-14置信度 high#概念#语音合成#对齐#训练#进阶

    在 flow time 内用当前 DiT 的一次 detached CFG Euler rollout 构造偏轨状态,再以指向 clean endpoint 的速度做辅助回归。

    Self-corrective alignment 是 dots.tts 在 acoustic DiT 上使用的 flow-matching-native 后训练目标,沿用 SOAR 的 reward-free self-correction 思路。

    它不先合成完整话语,也不调用 ASR 检测重复或漏读。训练单元仍是一个四帧 VAE latent patch:

    • 从噪声端点 x0x_0 与 clean patch x1x_1 的直线路径上采样 xτx_\tau
    • 用当前 CFG-guided DiT 从 xτx_\tau 向前做一次 Euler rollout;
    • 对 rollout 结果 stop-gradient,得到模型自己诱发的 off-trajectory state;
    • 重新向噪声端加噪,并训练同一 DiT 沿 endpoint-consistent velocity 回到 x1x_1

    “self-corrective”指模型用自身速度场制造训练期偏轨状态,再学习修正这些状态;“alignment”发生在 flow trajectory 与 clean latent endpoint 之间。

    标准 rectified-flow 预训练只在解析直线路径

    xt=(1t)x0+tx1x_t=(1-t)x_0+t x_1

    上回归速度 x1x0x_1-x_0。真实推理却要重复调用模型并用数值积分更新状态;早期速度误差会把后续状态带离这条训练直线。

    dots.tts 还在外层逐 patch 自回归:一个 patch 内的 ODE mismatch 不仅影响当前声学细节,还会成为后续 patch 的历史条件。因而小误差可能跨 AR rollout 累积。

    Self-corrective alignment 的价值是让 acoustic DiT 在训练时接触“由自身速度场走出来、但不再位于理想直线上的状态”,并学习从那里继续朝 clean endpoint 移动。

    对 minibatch 中第 bb 个样本,采样 flow time τ(b)\tau^{(b)},并计算常规 flow-matching loss:

    on(b)=ω(τ(b))vθ(xτ(b),τ(b),c(b))(x1(b)x0(b))22.\ell_{\mathrm{on}}^{(b)} =\omega(\tau^{(b)}) \left|v_\theta(x_{\tau^{(b)}},\tau^{(b)},c^{(b)})-(x_1^{(b)}-x_0^{(b)})\right|_2^2.

    这里 cc 汇总冻结模块提供的 acoustic prefix、speaker 与 semantic 条件。

    xτx_\tau 向更接近数据端的 τ+=min(τ+hsoar,1)\tau_+=\min(\tau+h_{\mathrm{soar}},1) 前进一步:

    x^τ+=sg ⁣[xτ+(τ+τ)vθcfg(xτ,τ,c;γsoar)].\hat{x}{\tau+} =\operatorname{sg}!\left[x_\tau+(\tau_+-\tau) v_\theta^{\mathrm{cfg}}(x_\tau,\tau,c;\gamma_{\mathrm{soar}})\right].

    这一步使用当前模型的 CFG-guided velocity,而非解析真速度,因此 x^τ+\hat{x}_{\tau_+} 会包含实际推理式误差。sg\operatorname{sg} 阻止梯度穿过 rollout 路径。

    3. 从偏轨状态向噪声端重新采样

    Section titled “3. 从偏轨状态向噪声端重新采样”

    对每个主样本采样多个 αU(0,1)\alpha\sim\mathcal U(0,1)

    τaux=(1α)τ+,xaux=sg ⁣[(1α)x^τ++αx0].\tau_{\mathrm{aux}}=(1-\alpha)\tau_+, \qquad x_{\mathrm{aux}}=\operatorname{sg}!\left[(1-\alpha)\hat{x}{\tau+}+\alpha x_0\right].

    这会在模型诱发的偏轨状态与原始噪声端点之间产生一组 auxiliary correction states。dots.tts 实验中每个主样本生成 6 个辅助状态。

    辅助目标不是 ASR 分数,也不是 ground-truth 下一句话,而是从当前辅助状态在剩余时间内到达 clean endpoint 所需的平均速度:

    uaux=sg ⁣(x1xaux1τaux+εaux).u_{\mathrm{aux}} =\operatorname{sg}!\left( \frac{x_1-x_{\mathrm{aux}}} {1-\tau_{\mathrm{aux}}+\varepsilon_{\mathrm{aux}}} \right).

    同一 DiT 在 xauxx_{\mathrm{aux}} 上回归这个速度,形成 aux\ell_{\mathrm{aux}}

    最终目标把 on-trajectory 与保留下来的 auxiliary loss 按样本数归一化:

    Lsoar=bon(b)+λaux(b,k)Aaux(b,k)B+λauxA.\mathcal L_{\mathrm{soar}} =\frac{\sum_b\ell_{\mathrm{on}}^{(b)} +\lambda_{\mathrm{aux}}\sum_{(b,k)\in\mathcal A}\ell_{\mathrm{aux}}^{(b,k)}} {B+\lambda_{\mathrm{aux}}|\mathcal A|}.

    dots.tts 只更新 AR-FM head 内的 DiT acoustic generator;LLM、semantic encoder、AudioVAE 与 speaker encoder 全部冻结。

    “reward-free”意味着没有 reward model、human preference model、外部 acoustic teacher 或策略梯度,但仍要多做一次 CFG rollout 和多个辅助状态的前向回归。

    Self-corrective alignment 直接沿用论文所引用的 SOAR 自校正思想,并把它写成适配 dots.tts noise-to-data 约定、CFG 与 patch-level acoustic DiT 的公式。

    它与 exposure bias 有共同动机:训练状态与模型实际 rollout 状态不一致。但此处处理的是 flow-time 数值轨迹偏移,不是 scheduled sampling 式地替换自回归历史 token。

    dots.tts 将完成该阶段的 checkpoint 记作 dots.tts(SOAR)。这个命名指模型版本;不应把 SOAR 当作所有 reward-free TTS 后训练的通用名称。

    误解一:先合成整句话,再用 ASR 找重复和漏读

    Section titled “误解一:先合成整句话,再用 ASR 找重复和漏读”

    论文没有这一步。辅助状态来自单个 latent patch 的一次 flow-time Euler rollout,不依赖完整语音、转写或错误类型检测。

    误解二:它修正自回归文本进度

    Section titled “误解二:它修正自回归文本进度”

    它直接训练的是 acoustic DiT velocity field 与 clean latent endpoint 的对齐。文本覆盖和 rollout 稳定性可能因此改善,但不是通过显式文本进度标签实现。

    误解三:它会在推理时回滚已经播放的波形

    Section titled “误解三:它会在推理时回滚已经播放的波形”

    自校正只发生在训练目标中。正常推理仍按 patch 向前生成,不提供波形撤回机制。

    误解四:reward-free 就没有额外成本

    Section titled “误解四:reward-free 就没有额外成本”

    虽然不用 reward model 或 RL,但训练仍增加 detached CFG Euler rollout、每个主样本多个 auxiliary state,以及相应的 DiT 前向计算。

    误解五:它等价于 scheduled sampling

    Section titled “误解五:它等价于 scheduled sampling”

    scheduled sampling 混合真实和预测的序列历史;这里固定上层条件,扰动的是 flow-time 中的连续状态。

    Self-corrective alignment 改善 teacher velocity field 在偏轨状态上的恢复能力;下一阶段 CFG-aware MeanFlow 才把这个 teacher 蒸馏为少 NFE student。

    方法 被改变的训练状态 学习信号 主要作用
    标准 flow matching 解析直线路径 xtx_t 解析速度 x1x0x_1-x_0 学会理想路径上的 velocity field
    Self-corrective alignment 当前 DiT rollout 诱发的 xauxx_{\mathrm{aux}} endpoint-consistent velocity 学会从 flow-time 偏轨状态回到 clean endpoint
    scheduled sampling 真实 / 预测序列历史 下一 token 监督 缩小序列历史的 train–test gap
    sequence-level RL 完整生成轨迹 标量或偏好 reward 优化可懂度、相似度等序列指标
    MeanFlow distillation teacher 的时间区间轨迹 CFG-guided mean velocity 用少量 NFE 近似 teacher

    CFG(无分类器引导) 的关系:自校正的一步 rollout 使用 CFG-guided predictor,γsoar=1.2\gamma_{\mathrm{soar}}=1.2;但辅助回归本身仍是监督式 velocity matching。

    条件流匹配(CFM) 的关系:Self-corrective alignment 保留 flow-matching 回归形式,只把训练状态从纯解析直线路径扩展到模型诱发的 off-trajectory state。

    CALM(连续自回归语言建模) 的区别:CALM 是连续自回归建模范式;自校正对齐是只作用于 acoustic DiT 的后训练目标。