跳转至

Unifying Continuous and Discrete Text Diffusion with Non-simultaneous Diffusion Processes

会议: ACL 2025
arXiv: 2505.22165
代码: 无
领域: 文本生成
关键词: 文本扩散模型, Poisson扩散过程, 非同步去噪, 时间预测器, 连续离散统一

一句话总结

提出 NeoDiff,通过引入"外在时间"(句子级扩散进度)和"内在时间"(token 级扩散进度)的双时间框架,利用 Poisson 过程为每个 token 独立分配细粒度噪声水平,并用上下文感知的时间预测器自适应调节去噪进度,统一了离散和连续文本扩散模型的理论框架,在机器翻译、复述、文本简化等多个任务上超越现有扩散基线。

研究背景与动机

  1. 领域现状:文本扩散模型分为两大类:
  2. 离散扩散(如 D3PM、Absorbing Diffusion):在分类分布上独立地对每个 token 做状态转移,不同 token 可以有不同的扩散进度,但噪声控制粗糙(要么保留、要么完全腐蚀)
  3. 连续扩散(如 DiffuSeq、Difformer):将 token 映射到连续空间加高斯噪声,噪声细粒度但所有 token 统一加噪水平
  4. 现有痛点
  5. 离散扩散的粗糙性限制了多步生成的收益——token 只有"未腐蚀"和"已腐蚀"两种状态,中间过渡不够精细
  6. 连续扩散的统一噪声使所有 token 处于相同噪声水平,无法让低噪声 token 作为上下文帮助恢复高噪声 token
  7. 现有改进方法(如 DiffuSeq-V2 的 mask 混合、AR-Diffusion 的单调噪声)未完全实现 token 级细粒度噪声控制
  8. 核心矛盾:需要一种既像连续扩散那样具有细粒度噪声控制、又像离散扩散那样允许不同 token 有不同扩散进度的统一框架。
  9. 本文要解决什么?
  10. 如何在连续空间中实现 token 级别的非同步扩散
  11. 如何在反向去噪过程中利用上下文信息自适应调整每个 token 的去噪速度
  12. 如何优化推理时的时间调度以提升生成质量
  13. 切入角度:将扩散的时间变量泛化为两个维度——外在时间 \(t\)(全局进度)和内在时间 \(\tau\)(token 级进度)。内在时间通过 Poisson 过程随机化,自然实现了 token 级非同步扩散。
  14. 核心 idea 一句话:用双时间框架(外在+内在时间)统一离散和连续扩散,前向过程用 Poisson 过程分配 token 级噪声,反向过程用时间预测器根据语义上下文自适应调节去噪。

方法详解

整体框架

输入文本 → 词嵌入映射到连续空间 \(\mathbf{z}_0\)Poisson 前向过程:每个 token 独立采样内在时间 \(\tau_t\),按 \(\tau_t\) 加对应强度的高斯噪声 → 反向去噪:Encoder-Decoder Transformer 预测 \(\hat{\mathbf{z}}_0\) + 时间预测器预测下一步各 token 的 \(\tau_{t'}\)Rounding 回离散 token → 输出文本。整个过程用优化后的外在时间调度进行推理。

关键设计

  1. 双时间统一框架:
  2. 做什么:将现有离散/连续扩散模型纳入统一理论
  3. 核心思路:
    • 外在时间 \(t \in [0,1]\):整个句子的全局扩散进度
    • 内在时间 \(\tau_t \in [0,1]\):每个 token 的独立扩散进度
    • 离散扩散 = \(\tau_t \in \{0, 1\}\)(二值随机函数)
    • 连续扩散 = \(\tau_t = t\)(确定性函数,所有 token 同步)
    • DiffuSeq-V2 = \(\tau_t = \max(t + \tau_{\text{mask}}(t), 1)\)(混合)
    • NeoDiff = \(\tau_t \in [0,1]\)\(t\) 的连续随机函数
  4. 设计动机:通过泛化时间变量,建立了涵盖所有现有方法的统一理论,NeoDiff 是最 general 的实例化

  5. Poisson 前向扩散过程:

  6. 做什么:为每个 token 独立采样细粒度的扩散进度
  7. 核心思路:
    • 引入离散状态函数 \(s_t \in \{0, 1, ..., s_{\max}\}\),对应从无噪到最大噪声
    • \(s_t\) 的演化遵循 Poisson 过程:\(s_t \sim \text{Poisson}(\lambda(t))\),其中 \(\lambda(t) = ks_{\max}t\)
    • 归一化并裁剪:\(\tau_t = \text{Clip}(s_t / s_{\max}, 1)\)
  8. 方差控制的关键问题:当 \(s_{\max}\) 很大时,\(\text{CV} = 1/\sqrt{s_{\max}} \to 0\),所有 token 的 \(\tau\) 趋同,退化为连续扩散
  9. 解决方案:方差重缩放变换 \(\tau_t = \text{Clip}(\text{Round}(\frac{s_t - \lambda(t)}{\sqrt{\lambda(t)}} \sigma(t) + \lambda(t)), s_{\max}) / s_{\max}\),设 \(\sigma(t) = \lambda(t)\) 保证离散特性与 \(s_{\max}\) 无关
  10. 设计动机:Poisson 过程天然适合建模"跳跃型"的状态转移,且参数单一(\(\lambda\))、分布可解析,是连接离散跳跃和连续渐变的自然桥梁

  11. 上下文感知的时间预测器:

  12. 做什么:在反向过程中根据语义上下文自适应调节每个 token 的去噪速度
  13. 核心思路:
    • 不简单镜像前向过程(\(p_\theta(\tau_{t'}|\mathbf{z}_t, \tau_t) = q(\tau_{t'})\)),而是显式建模 \(p_\theta(\tau_{t'}|\mathbf{z}_t, \tau_t)\)
    • 输入:生成的预测 \(\hat{\mathbf{z}}_0\)(而非 \(\mathbf{z}_t\)!),目标时间 \(t'\),条件句子嵌入 \(\mathbf{x}\)
    • 用交叉熵训练,将 \(\tau\) 的预测作为离散分类问题
  14. 伪标签策略:不直接用 \(\tau_{t'}\) 作标签(会引入偏差),而是用 \(\hat{\mathbf{z}}_0\) 的重构损失排名通过 Poisson 逆 CDF 映射得到伪标签——损失越大的 token 分配更高的 \(\tau\)(更多噪声需要更慢地去噪)
  15. 设计动机:让 token 级去噪速度与生成质量动态关联——已经生成好的 token 先完成去噪,难的 token 保留更多噪声慢慢恢复

  16. 贝叶斯优化的外在时间调度:

  17. 做什么:优化推理时的全局时间步序列
  18. 核心思路:将 \(\{t_1, t_2, ..., t_K\}\) 作为连续变量,用贝叶斯优化在验证集上搜索最优调度
  19. 设计动机:不同任务需要不同的时间分配策略

损失函数 / 训练策略

  • 总损失 \(\mathcal{L} = \mathcal{L}_z + \mathcal{L}_\tau + \mathcal{L}_{\text{anchor}}\)
  • \(\mathcal{L}_z = \|\hat{\mathbf{z}}_0 - \mathbf{z}_0\|^2\)(预测损失)
  • \(\mathcal{L}_\tau = \text{KL}(q(\tau_{t'}) \| p_\theta(\tau_{t'}|\mathbf{z}_t, \tau_t))\)(时间预测损失)
  • \(\mathcal{L}_{\text{anchor}} = -\log p_\theta(y|\hat{\mathbf{z}}_0)\)(锚定损失,防止嵌入空间坍塌)

实验关键数据

主实验(机器翻译 BLEU)

模型 类型 Beam IWSLT14 WMT14 WMT16
Absorbing 离散 5 28.32 21.62 30.41
SeqDiffuSeq 连续 10 30.03 24.24 26.17
Difformer 连续 10 32.09 23.80 30.93
DiNoiSer 连续 50 31.61 24.26 31.08
NeoDiff 混合 10 33.14 25.28 32.31

NeoDiff 在所有翻译任务上超越所有 baseline,在更小 beam size 下即可超越 baseline 的最大 beam size。

其他任务(BLEU)

模型 QQP(复述) Quasar-T(问题生成) Wiki-Auto(文本简化)
Difformer (b=10) 30.43 16.66 40.77
NeoDiff (b=10) 30.87 18.35 41.33

消融实验

配置 IWSLT BLEU WMT14 BLEU
NeoDiff (完整) 33.14 25.28
w/o Poisson (统一\(\tau=t\)) 32.09 (-1.05) 24.24 (-1.04)
w/o 时间预测器 32.22 (-0.92) 24.41 (-0.87)
w/o 贝叶斯调度 32.31 (-0.83) 24.74 (-0.54)
w/o 方差重缩放 32.58 (-0.56)

关键发现

  • Poisson 扩散是最关键的组件:去掉后退化到标准连续扩散(Difformer),BLEU 下降约 1 个点
  • 时间预测器的贡献仅次于 Poisson 过程:自适应去噪速度比固定镜像前向过程更有效
  • 方差重缩放的必要性:防止 \(s_{\max} \to \infty\) 时退化为连续扩散
  • 贝叶斯优化的时间调度持续提供额外收益,说明最优时间分配是任务相关的
  • LLM 评估(DeepSeek-V3)也确认 NeoDiff 在准确性、流畅性、创造性等维度全面领先

亮点与洞察

  • 双时间框架的理论优雅性:通过泛化时间变量,统一了离散、连续、混合三类扩散模型,为未来研究提供了统一的理论基础。这种"参数化统一"的思路可迁移到其他需要统一不同核心方法论的领域
  • Poisson + 方差重缩放的设计精巧:Poisson 过程自然捕捉"跳跃"(离散性)+ 方差重缩放保证分辨率与 \(s_{\max}\) 解耦,解决了细粒度与多样性之间的矛盾
  • 伪标签策略是重要的技术创新:用生成质量(重构损失排名)→ Poisson 逆 CDF → 时间标签的映射链,将"哪些 token 生成得好"转化为"哪些 token 应该先完成去噪",实现了生成质量引导的自适应去噪

局限性 / 可改进方向

  • 实验规模偏小(Transformer base 级别),未在大模型(如基于 LLaMA 的文本扩散)上验证
  • 生成质量仍落后于自回归模型(Transformer b=5 在 QQP 上 30.83 vs NeoDiff b=10 的 30.87)
  • 贝叶斯优化的时间调度需要额外的验证集评估开销
  • 时间预测器增加了模型复杂度和训练成本
  • 未探索与更先进的连续扩散技术(如 flow matching)的结合

相关工作与启发

  • vs Difformer:NeoDiff 在 Difformer 基础上引入 token 级非同步扩散,是本质性的改进而非增量优化,BLEU 提升 1-2 个点
  • vs DiffuSeq-V2:DiffuSeq-V2 用 [MASK] token 混合离散/连续噪声,但未达到真正的细粒度 token 级控制;NeoDiff 的 Poisson 过程更自然且理论更完备
  • vs AR-Diffusion:AR-Diffusion 用单调递增的噪声实现半自回归,但人为限制了噪声模式;NeoDiff 的 Poisson 分配更灵活
  • vs D3PM (离散扩散):离散扩散缺乏细粒度过渡;NeoDiff 在连续空间中保留了状态跳跃的离散特性

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 双时间框架是原创性很强的理论贡献,统一了离散和连续扩散的形式化
  • 实验充分度: ⭐⭐⭐⭐ 6个任务、多个baseline、详细消融,但模型规模偏小
  • 写作质量: ⭐⭐⭐⭐ 数学推导严谨,框架图清晰,但符号密集度高可能影响可读性
  • 价值: ⭐⭐⭐⭐ 为文本扩散领域提供了统一的理论框架和实用的改进方向