Difformer: Empowering Diffusion Models on the Embedding Space for Text Generation

Gao Z., Guo J., Tan X., Zhu Y., Zhang F., Bian J. and Xu L. Difformer: Empowering diffusion models on the embedding space for text generation. arXiv preprint arXiv:2212.09412, 2022.

本文发现并改进了原先 Diffusion 模型的缺点 (针对文本生成任务).

符号说明

  • x=[x1,x2,,xm], source sentence;
  • y=[y1,y2,,yn], target sentence;
  • 前向过程:

    q(zt|zt1)=N(zt;1βtzt1,βtI),z0N(e(y);β0I).

    其中 e() 将离散的 token y 映射到 embedding 空间.
  • 反向过程:

    pθ(zt1|zt)=N(zt1;μθ(zt,t),Σθ(zt,t)).

    一般, 方差和前向保持一致, 然后我们实际上拟合的是

    z^0=fθ(zt,t).

主要内容

  • Diffusion 在文本生成之上的应用大抵为优化如下的损失:

    Ez0,t[z^0z02]Lvlb+(Ez0,ylogpθ(y|z0))Lround.

    前者是普通的 diffusion 损失, 后者是用于离散到连续的对齐.

  • 问题1: 可学习的 embeddings: 和 image, video 不同的是, embedding 是可学习的, 这可能导致训练的不稳定.

  • 解决办法1: 如上图所示, 我们用不同时刻 t 的预测 z^0 来靠近 y, 即

    Lanchor=logpθ(y|z^0)

    来替代 Lround.

  • 问题2: embedding 的 norm 不一致: 由于词频不一致, 作者发现训练过程中高频词的 norm 会普遍大一点. 此时加入相同量级的噪声对于信号的干扰程度就不一致了:

  • 解决办法2: 故作者在 embedding 之后加了一个 embedding normalization 层 (不过看起来对实际效果的提升不是特别大):

    LN(e(yi))=e(yi)E[e(yi)]V[e(yi)]+ϵγ+η.

  • 问题3: noise schedule 导致扩散过程的大部分阶段都是'无意义'的: 作者发现, 对于一般的前向过程和 noise schedule 而言, 整个过程的大部分时间的干扰效果都是很差的, 此时很难充分训练 (特别是对于 sqrt 这种 schedule):

  • 解决办法3: 作者对整体的扰动的方差进行一个扩张:

    q(zt|zt1)=N(zt;1βtzt1,βtF2I).

    一般的扩散 F=1, 作者发现 F=4 会产生相当不错的结果.

posted @   馒头and花卷  阅读(99)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2021-03-27 MADE: Masked Autoencoder for Distribution Estimation
点击右上角即可分享
微信分享提示