跳转至

Segment-Level Diffusion: A Framework for Controllable Long-Form Generation with Diffusion Language Models

会议: ACL 2025
arXiv: 2412.11333
代码: https://github.com/SpaceHunterInf/Segment_Level_Diffusion
领域: 文本生成
关键词: 扩散模型, 长文本生成, 段落级扩散, 对比学习, 对抗训练

一句话总结

提出段落级扩散(Segment-Level Diffusion, SLD),将长文本输出切分为多个段落(如句子/对话轮次),对每个段落的潜在表示进行扩散建模,结合对比学习和对抗训练增强表示鲁棒性,在摘要、故事生成、对话生成等任务上实现了比现有扩散模型更好的长文本生成质量。

研究背景与动机

  1. 领域现状:文本扩散模型主要有两类——token级扩散(如 GENIE)直接在词嵌入空间去噪,段落级扩散(如 LD4LG)将整段文本压缩为单个潜在表示再去噪。
  2. 现有痛点:(a) Token级扩散不显式建模词序依赖,生成文本常不通顺,且固定输出窗口限制了生成长度;(b) 段落级扩散难以为长文本学到稳健的潜在表示,小扰动可能导致语义突变,解码后文本连贯性差。
  3. 核心矛盾:扩散模型擅长全局规划但缺乏局部流畅性保证;自回归模型擅长局部流畅但难以全局规划。长文本生成需要同时具备这两种能力。
  4. 本文要解决什么? 如何让扩散语言模型在保持可控性的同时生成长篇、连贯、上下文一致的文本。
  5. 切入角度:借鉴图像生成中的 patch 概念——将长文本切分为段落,每个段落用独立的潜在表示,扩散模型做段落级的语义规划,自回归解码器保证局部流畅性。
  6. 核心idea一句话:将扩散粒度从 token/passage 调整到 segment(句子/轮次),让扩散模型专注语义规划,AR 解码器专注文本流畅。

方法详解

整体框架

输入为上下文文本 \(\mathbf{i}\),输出为长文本 \(\mathbf{o}\)。训练分三个阶段:(1) 将输出文本切分为段落;(2) 通过对比学习+对抗训练学习鲁棒的潜在表示;(3) 训练扩散模型作为段落级语义规划器。推理时,扩散模型从高斯噪声出发,条件于输入文本,迭代去噪生成多个段落的潜在表示,再由 AR 解码器并行解码为文本。

关键设计

  1. 文本分段(Output Segmentation):
  2. 做什么:将输出文本按自然边界(句子、对话轮次)切分为多个段落 \(\mathbf{P}=\{\mathbf{p}^1,...,\mathbf{p}^j\}\)
  3. 核心思路:每个段落独立编码为潜在表示 \(\mathbf{Z}=\{\mathbf{z}^1,...,\mathbf{z}^j\}\),建立段落与潜在表示的一一对应
  4. 设计动机:相比整段文本压缩为单个表示,段落级表示降低了每个表示的复杂度,简化了扩散模型的预测难度。类似图像中的 patch,使模型可灵活扩展到不同长度

  5. 鲁棒表示学习(Robust Representation Learning):

  6. 做什么:训练编码器-解码器系统,使潜在表示对噪声鲁棒且语义一致
  7. 核心思路:组合三个损失——
    • 转换损失 \(\mathcal{L}_{\text{cnv}}\):标准交叉熵,确保编码→压缩→重建→解码能准确恢复原文
    • 对比损失 \(\mathcal{L}_{\text{cst}}\):用改写(正样本)和域外文本(负样本)做对比学习,确保语义相近的段落在潜在空间中接近
    • 对抗损失 \(\mathcal{L}_{\text{adv}}\):添加对抗噪声 \(\mathbf{r}_{adv} = -\epsilon_{adv}\frac{\mathbf{g}}{||\mathbf{g}||_2}\),模拟扩散去噪过程中的最坏情况,训练解码器在噪声条件下仍能正确解码
  8. 设计动机:扩散模型的去噪过程本质上是在含噪表示上操作,如果潜在空间不够平滑,小扰动会导致语义突变。对比学习保证语义聚类,对抗训练保证噪声容忍度

  9. 扩散语义规划器(Diffusion Semantic Planner):

  10. 做什么:在第二阶段训练好编码器-解码器后,冻结它们,训练扩散模型(DiT)预测段落级潜在表示
  11. 核心思路:扩散模型以编码后的输入文本作为 cross-attention 目标进行条件生成。除标准去噪损失外,还加入后扩散控制损失——重建损失 \(\mathcal{L}_{\text{rec}}\) 和转换损失 \(\mathcal{L}_{\text{cnv}}\),将解码器的反馈传递给扩散模型
  12. 设计动机:纯扩散损失只在潜在空间优化,后扩散损失引入了"解码器是否能把表示正确转为文本"的信号,类似图像扩散中的 pixel-level guidance

损失函数 / 训练策略

  • 阶段二总损失:\(\mathcal{L}_{\text{rep}} = \frac{1}{N}\sum_{\mathbf{p}}(\mathcal{L}_{\text{cnv}} + \lambda_1\mathcal{L}_{\text{cst}} + \lambda_2\mathcal{L}_{\text{adv}})\)
  • 阶段三总损失:\(\mathcal{L}_{\text{diff}} = \mathcal{L}_{\text{noise}} + \gamma_1\mathcal{L}_{\text{rec}} + \gamma_2\mathcal{L}_{\text{cnv}}\)
  • 使用 Flan-T5 作为编码器/解码器骨干,DiT 作为扩散模型
  • 三阶段分别训练,不做端到端联合优化

实验关键数据

主实验

数据集 模型 ROUGE-L PPL 流畅性 连贯性 兼容性
ROCStories Flan-T5 14.73 22.83 2.58 2.15 1.90
ROCStories LD4LG 16.57 65.32 1.78 1.54 1.79
ROCStories SLD 16.13 43.67 2.41 2.10 2.42
DialogSum Flan-T5 26.34 3.78 2.60 2.07 2.27
DialogSum LD4LG 20.90 43.82 1.43 1.39 1.61
DialogSum SLD 27.97 16.39 2.83 2.40 2.57
DeliData Flan-T5 25.83 9.79 2.59 2.30 2.48
DeliData LD4LG 21.14 51.10 2.06 1.78 1.63
DeliData SLD 30.51 13.41 2.60 2.30 2.48

消融实验

配置 文本恢复质量 说明
LD4LG(短段落) BLEU=1.00 完美恢复短文本
LD4LG(长段落) BLEU降低 长文本泛化能力差
SLD w/o 对比学习 词损坏 偶尔将词替换为错误词,改变语义
SLD w/ 对比学习 有意义的改写 即使不完美也保持语义一致
SLD w/ 对比+对抗 最鲁棒 对噪声最不敏感,解码最稳定

关键发现

  • SLD 在长文本生成(≥50 tokens)上全面优于 LD4LG,尤其在流畅性、连贯性和兼容性方面
  • 对比学习的核心价值在于防止"语义突变"——没有它,潜在空间中语义相近和不相关的文本表示混杂
  • AR 解码器至关重要——使用 AR 解码的方法(Flan-T5, LD4LG, SLD)在流畅性上远优于直接解码 token 嵌入的 GENIE
  • SLD 在知识保持测试(ECQA QA)中保持了 72.3% 准确率,接近 Flan-T5 Base 的 75%

亮点与洞察

  • 段落级扩散是 token 级和 passage 级的"甜蜜点"——粒度恰好平衡了全局规划和局部流畅性。这个思路可迁移到其他模态(如视频生成中的 clip 级扩散)。
  • 对抗训练模拟扩散去噪的"最坏情况"是巧妙的设计——传统自编码器在干净输入上训练,但扩散推理时输入含噪,导致训练-推理不匹配。对抗噪声缩小了这个 gap。
  • 后扩散控制损失将解码器信号回传给扩散模型,类似图像扩散中的 pixel-level guidance,是个通用且有效的技巧。

局限性 / 可改进方向

  • 仅在英语上评估,多语言能力未验证
  • 三阶段分开训练可能导致误差累积,端到端联合训练可能更优
  • 未进行推理速度对比,扩散采样的迭代去噪仍然较慢
  • 压缩维度 \(h_{rep}\) 和段落数量 \(j\) 的选择缺乏理论指导,靠经验选取
  • 没有与最新的大规模 LLM(如 GPT-4)对比

相关工作与启发

  • vs LD4LG: 同为潜在扩散但 LD4LG 用单个表示编码整段文本,长文本下表示不稳定;SLD 分段后每个表示更简单、更鲁棒
  • vs GENIE: GENIE 做 token 级扩散无 AR 解码器,流畅性差;SLD 的 AR 解码器保证了输出流畅
  • vs Flan-T5: 自回归方法在长文本微调后容易退化为重复输出(灾难性重复);SLD 的扩散规划避免了这一问题
  • 段落级扩散的思路可用于可控故事生成、大纲控制写作等需要全局规划的任务

评分

  • 新颖性: ⭐⭐⭐⭐ 段落级扩散是自然且有效的中间粒度选择,对比+对抗训练的表示学习设计扎实
  • 实验充分度: ⭐⭐⭐⭐ 四个数据集+人工评估+消融+表示分析,但缺少与大 LLM 的对比
  • 写作质量: ⭐⭐⭐⭐ 结构清晰,方法描述详细,但部分公式较密集
  • 价值: ⭐⭐⭐⭐ 为扩散语言模型应用于长文本生成提供了可行方案