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),将长文本输出切分为多个段落(如句子/对话轮次),对每个段落的潜在表示进行扩散建模,结合对比学习和对抗训练增强表示鲁棒性,在摘要、故事生成、对话生成等任务上实现了比现有扩散模型更好的长文本生成质量。
研究背景与动机¶
- 领域现状:文本扩散模型主要有两类——token级扩散(如 GENIE)直接在词嵌入空间去噪,段落级扩散(如 LD4LG)将整段文本压缩为单个潜在表示再去噪。
- 现有痛点:(a) Token级扩散不显式建模词序依赖,生成文本常不通顺,且固定输出窗口限制了生成长度;(b) 段落级扩散难以为长文本学到稳健的潜在表示,小扰动可能导致语义突变,解码后文本连贯性差。
- 核心矛盾:扩散模型擅长全局规划但缺乏局部流畅性保证;自回归模型擅长局部流畅但难以全局规划。长文本生成需要同时具备这两种能力。
- 本文要解决什么? 如何让扩散语言模型在保持可控性的同时生成长篇、连贯、上下文一致的文本。
- 切入角度:借鉴图像生成中的 patch 概念——将长文本切分为段落,每个段落用独立的潜在表示,扩散模型做段落级的语义规划,自回归解码器保证局部流畅性。
- 核心idea一句话:将扩散粒度从 token/passage 调整到 segment(句子/轮次),让扩散模型专注语义规划,AR 解码器专注文本流畅。
方法详解¶
整体框架¶
输入为上下文文本 \(\mathbf{i}\),输出为长文本 \(\mathbf{o}\)。训练分三个阶段:(1) 将输出文本切分为段落;(2) 通过对比学习+对抗训练学习鲁棒的潜在表示;(3) 训练扩散模型作为段落级语义规划器。推理时,扩散模型从高斯噪声出发,条件于输入文本,迭代去噪生成多个段落的潜在表示,再由 AR 解码器并行解码为文本。
关键设计¶
- 文本分段(Output Segmentation):
- 做什么:将输出文本按自然边界(句子、对话轮次)切分为多个段落 \(\mathbf{P}=\{\mathbf{p}^1,...,\mathbf{p}^j\}\)
- 核心思路:每个段落独立编码为潜在表示 \(\mathbf{Z}=\{\mathbf{z}^1,...,\mathbf{z}^j\}\),建立段落与潜在表示的一一对应
-
设计动机:相比整段文本压缩为单个表示,段落级表示降低了每个表示的复杂度,简化了扩散模型的预测难度。类似图像中的 patch,使模型可灵活扩展到不同长度
-
鲁棒表示学习(Robust Representation Learning):
- 做什么:训练编码器-解码器系统,使潜在表示对噪声鲁棒且语义一致
- 核心思路:组合三个损失——
- 转换损失 \(\mathcal{L}_{\text{cnv}}\):标准交叉熵,确保编码→压缩→重建→解码能准确恢复原文
- 对比损失 \(\mathcal{L}_{\text{cst}}\):用改写(正样本)和域外文本(负样本)做对比学习,确保语义相近的段落在潜在空间中接近
- 对抗损失 \(\mathcal{L}_{\text{adv}}\):添加对抗噪声 \(\mathbf{r}_{adv} = -\epsilon_{adv}\frac{\mathbf{g}}{||\mathbf{g}||_2}\),模拟扩散去噪过程中的最坏情况,训练解码器在噪声条件下仍能正确解码
-
设计动机:扩散模型的去噪过程本质上是在含噪表示上操作,如果潜在空间不够平滑,小扰动会导致语义突变。对比学习保证语义聚类,对抗训练保证噪声容忍度
-
扩散语义规划器(Diffusion Semantic Planner):
- 做什么:在第二阶段训练好编码器-解码器后,冻结它们,训练扩散模型(DiT)预测段落级潜在表示
- 核心思路:扩散模型以编码后的输入文本作为 cross-attention 目标进行条件生成。除标准去噪损失外,还加入后扩散控制损失——重建损失 \(\mathcal{L}_{\text{rec}}\) 和转换损失 \(\mathcal{L}_{\text{cnv}}\),将解码器的反馈传递给扩散模型
- 设计动机:纯扩散损失只在潜在空间优化,后扩散损失引入了"解码器是否能把表示正确转为文本"的信号,类似图像扩散中的 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 的对比
- 写作质量: ⭐⭐⭐⭐ 结构清晰,方法描述详细,但部分公式较密集
- 价值: ⭐⭐⭐⭐ 为扩散语言模型应用于长文本生成提供了可行方案