Diffusion-LM Improves Controllable Text Generation

Li X. L., Thickstun J., Gulrajani I., Liang P. and Hashimoto T. B. Diffusion-lm improves controllable text generation. arXiv preprint arXiv:2205.14217, 2022.

本文介绍了一种将 DPM 应用到可控文本生成之上, 虽然 Text 的本质是离散的, 但是作者依然采用连续的方式进行扩散 (归功于所引入的 rounding 模块).

符号说明

  • w=[w1,w2,,wn]TRn, words;
  • plm(w), 普通的用于生成的语言模型;
  • p(w|c), 基于条件 c 的语言生成模型 (比如, c 可以是语法结构, 情感等);

流程

  • 由于本文提出的条件生成模型是 classifier-guided 的, 所以就包含了两个单独的部分, 其中拟合 p(w) 如上图所示.

  • 其整体的思路和原始的 DPM 并灭有特别的大差别, 主要需要解决的问题是:

    1. 前向的时候, 如何从离散的 Text (w) 空间到连续空间? 作者给出的方案就是简单地用 embedding: 即首先 look_up 得到 embeddings:

      Emb(w)=[Emb(w1),,Emb(wn)]Rnd,

      然后假设

      qϕ(x0|w)=N(Emb(w),σ0I).

    2. 后向的时候, 如何从连续的 x0 映射回离散的 Text 呢? 要知道, 几乎不可能 x0 恰好和某个词的 embedding 一致. 作者构建了可训练的 rounding step:

      pθ(w|x0)=i=1npθ(wi|xi),

      其中每个 pθ(wi|xi) 都是是通过 softmax 构建的.

  • 在进行上述第二步的过程中, 作者遇到了些许麻烦, 虽然我没怎么看懂作者在这一刻的表述, 我感觉大概意思是在对齐方面出了些问题. 出问题的原因是 DPM 在 t=0 位置的训练不够, 所以作者直接添加了一个很强的 loss:

    t=1TExtfθ(xt,t)x02.

  • 最后稍稍提一下条件生成的部分, 因为 DPM 采样只需要提供 p(xt1|xt,c) 的梯度即可, 所以可以通过 (贝叶斯公式):

    xt1logp(xt1|xt,c)=xt1logp(xt1|xt)+xt1logp(c|xt1).

  • 最后的最后提一个可能还挺重要的 trick, 正如之前所述, 作者认为在 t 接近 0 的附件拟合的不好, 所以作者希望更加强调这一部分, 所以采用的是一种新的 sqrt noise schedule:

    α¯t=1t/T+s,

    大概如下图所示:

代码

official

posted @   馒头and花卷  阅读(243)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2021-03-02 Chapter 7 Confounding
点击右上角即可分享
微信分享提示