从2020年的初出茅庐,到2021年的日趋火热,再到2022年的大放异彩,扩散模型(Diffusion Models) 正在人工智能学术界和工业界获取越来越多的关注。

如果还不是特别了解扩散模型的朋友,可以阅读卖萌屋的几篇历史推文《扩散模型在图像生成领域大火,风头超过GAN?》, 《年末回顾:2021年 AI 领域十大研究趋势及必读论文》。

扩散模型最早在图像生成领域大火,随后扩展到了其他连续域,例如语音、视频、点云数据,最近Google发布的用于文本到图像生成的GLIDE模型,更是让扩散模型从AI圈内火到了圈外。

不过,虽然扩散模型的热度极高,但是面向离散变量的扩散模型的性能一直欠佳,特别是在语言,图等结构当中。

最近,斯坦福大学自然语言处理研究组在利用扩散模型解决自然语言处理问题中取得了新的进展。

具体说来,在可控自然语言生成任务上,研究者们利用连续扩散模型,对预训练的语言生成模型进行可插拔的操控,就能够在许多任务上达到甚至超过Fine-Tuning的效果,大幅度超越了之前的工作。

这篇工作从方法和实验上都非常的新颖和扎实,短短一周就已经在Twitter上收获了千赞,在Github上收获了140个stars。

下面,就让我们一起来了解这篇扩散模型在语言领域的应用工作吧,说不定也能给你的领域带来启发呢~

论文标题:
Diffusion-LM Improves Controllable Text Generation

链接:
arxiv.org/pdf/2205.1421

声明:本文原创首发于公众号“夕小瑶的卖萌屋”,作者:Yimin_饭煲
传送门: 夕小瑶的卖萌屋,内含海量NLP论文综述、论文解读、入门资料等,一个每日每月挖掘重磅前沿论文的神器,以及聚集数万NLPer、CVer和算法工程师的技术交流群~

问题背景

首先,我们先来了解一下可控语言生成任务。语言生成任务指的是,给定语言模型

p_{lm}(\textbf{w}) , 其中
\textbf{w}=[w_1,w_2,...,w_n] 是词汇的序列,自回归语言模型可以表示为
p_{lm}(\textbf{w})=p_{lm}(w_n|w_{1,2,...,n-1})p_{lm}(w_{n-1}|w_{1,2,...,n-2})...p_{lm}(w_1)

可控语言生成指的是,给定控制变量

c ,例如语法结构,情感,生成词汇序列
p(w|c)

一般来说,估计

p(w|c) 的方式是,训练一个从词汇序列
w 到控制变量
c 的分类器
p(c|w) ,然后利用贝叶斯公式
p(\textbf{w}|c)\propto p_{lm}(\textbf{w})p(c|\textbf{w})

优化

p_{lm}(\textbf{w})

的作用是使得输出流利,优化

p(c|\textbf{w})

的作用是使得

\textbf{w}

满足控制变量的约束。

主要方法

扩散模型的基本设置

将数据定义为

\textbf{x}{0}\in R^d

,定义

\textbf{x}{T} 为一个满足高斯分布的随机变量
p_{\theta}(\textbf{x}T)=N(0,I)

。定义一个马尔可夫过程

\textbf{x}{T}...\textbf{x}{0}

,状态转移方程为

p(\textbf{x}{t-1}|\textbf{x}{t})=N(\textbf{x}{t-1};\mu_{\theta}(\textbf{x}t,t),\Sigma{\theta}(\textbf{x}t,t))

,其中

\mu{\theta}
\Sigma_{\theta} 由U-Net或者Transformer估计。为了训练扩散模型,我们需要定义前向和后向两个过程,前向过程为加噪声过程
q(\textbf{x}t|\textbf{x}{t-1})=N(\textbf{x}t;\sqrt{1-\beta_t}\textbf{x}{t-1},\beta_t\textbf{I}) , 其中
\beta_t 表示在第
t 步扩散时添加的噪声,前向过程
q 不包含可训练的参数,只提供一个将原始数据扩散为噪声的过程。扩散模型的优化目标是最大化边缘概率分布
E_{\textbf{x}0\sim p{data}}[\log p_{\theta}(\textbf{x}_0)] , 可以转化为变分下界损失函数
L_{vlb}(\textbf{x}_0)=E_{q(\textbf{x}_{1:T}|\textbf{x}_0)}[\log\frac{q(\textbf x_T|\textbf x_0)}{p_{\theta}(\textbf x_T)}+\sum_{t=2}^T\log\frac{q(\textbf x_{t-1}|\textbf x_0, \textbf x_t)}{p_{\theta}(\textbf x_{t-1}|\textbf x_t)}-\log p_{\theta}(\textbf x_0|\textbf x_1)]

不过这一变分下届在实际中优化比较不稳定,因此一般使用如下的简化方式进行优化、

L_{simple}\sum_{t=1}^TE_{q(\textbf x_t|\textbf x_0)}||\mu_{\theta}(\textbf x_t,t)-\hat \mu(\textbf x_t,\textbf x_0)||^2 其中
\hat \mu(\textbf x_t,\textbf x_0) 是后验分布
q(\textbf x_{t-1}|\textbf x_0, \textbf x_t) 的平均值,而
\mu_{\theta}(\textbf x_t,t) 是利用神经网络预测的
p_\theta(\textbf x_{t-1}|\textbf x_t) 的均值。已有的工作已经说明了这一优化目标的有效性。

Diffusion LM的端到端训练

为了将连续的扩散模型应用到离散文本上,首先定义离散文本的Embedding函数

EMB(\textbf w_i) 将每个词语映射到一个连续向量。因此在扩散模型训练,在前向过程中需要多加入一步从离散词汇映射到连续向量
q_\phi(\textbf x_0|\textbf w)=N(EMB(\textbf w, \sigma_0I) , 在反向过程中,加入一步从连续向量映射到离散词汇
p_\theta(\textbf w|\textbf x_0) , 这一步通过Softmax分类实现。最后可以将Diffusion LM的训练目标转换为如下的形式
L_{vlb}^{e2e}(\textbf w)=E_{q_\phi(\textbf x_0|\textbf w)}[L_{vlb}(\textbf x_0)+\log q_\phi(\textbf x_0|\textbf w)-\log p_{\theta}(\textbf w|\textbf x_0)]
L_{simple}^{e2e}(\textbf w)=E_{q_\phi(\textbf x_{0:T}|\textbf w)}[L_{simple}(\textbf x_0)+||EMB(\textbf w)-\mu_\theta(\textbf x_1,1)||-\log p_{\theta}(\textbf w|\textbf x_0)]

Diffusion LM的解码和生成

Diffusion LM的可控生成等价于从后验分布

p(\textbf x_{0:T}|c) 中解码, 在每一步扩散中,优化目标为
p(\textbf x_{t-1}|\textbf x_t,c)\propto p(\textbf x_{t-1}|\textbf x_t)p(\textbf c|\textbf x_{t-1},\textbf x_t) , 由于马尔科夫链的一阶相关性,在第
t 步可以使用如下的梯度优化方式,为了保证生成文本的流利性,作者们还使用了一些正则化的技巧。
\nabla_{\textbf x_{t-1}} \log p(\textbf x_{t-1}|\textbf x_t,c)=\nabla_{\textbf x_{t-1}} \log p(\textbf x_{t-1}|\textbf x_t) + \nabla_{\textbf x_{t-1}} \log p(c|\textbf x_{t-1}) 为了提升生成的输出的质量,作者们还使用了在机器翻译中常用的最小贝叶斯风险(MBR)解码方式。

实验结果

作者们在情感控制,可控语法生成等任务上开展了实验,和PPLM,FUDGE等可插拔式方法进行对比,可以发现Diffusion-LM相比之前的同类方法有极为显著的提升,特别是在部分任务上,甚至可以达到和微调相似的结果。

组合控制是可控文本生成的另一个常见场景。给定关于多个独立任务的控制条件,要求模型生成满足多个控制条件的文本。Diffusion LM在这一场景下也表现出了更好的控制成功率。

在句子填充任务(给定左边文本

O_1 和右边文本
O_2 ,输出中间的内容连接两段文本)上,Diffusion LM显著超越了之前的工作COLD和Delorean, 并且达到了和从头训练的自回归语言模型相近的效果。

结语

扩散模型受到了非平衡热力学的启发,具有良好的数学表达形式。在图像生成任务上优秀的性能证实了其不是徒有虚表的“花瓶”,而是深度学习时代的一大杀器。尽管扩散模型仍然具有计算时间长等问题,我们仍可以期待其在更多模态的数据和任务上取得惊人的表现!

声明:本文原创首发于公众号“夕小瑶的卖萌屋”,作者:Yimin_饭煲
传送门: 夕小瑶的卖萌屋,内含海量NLP论文综述、论文解读、入门资料等,一个每日每月挖掘重磅前沿论文的神器,以及聚集数万NLPer、CVer和算法工程师的技术交流群~

大火的扩散模型终于杀到了NLP领域相关推荐

  1. 扩散模型又杀疯了!这一次被攻占的领域是...

    文 | Yimin_饭煲 从2020年的初出茅庐,到2021年的日趋火热,再到2022年的大放异彩,扩散模型(Diffusion Models) 正在人工智能学术界和工业界获取越来越多的关注. 如果还 ...

  2. 【diffusion】扩散模型详解!理论+代码

    0.项目视频详解 视频教程见B站https://www.bilibili.com/video/BV1e8411a7mz 1.diffusion模型理论(推导出损失函数) 1.1.背景 随着人工智能在图 ...

  3. 扩散模型(Diffusion Model,DDPM,GLIDE,DALLE2,Stable Diffusion)

    随着最近DALLE2和stable diffusion的大火,扩散模型的出色表现丝毫不逊色VAE和GAN,已经形成生成领域的三大方向:VAE.GAN和Diffusion,如上图可以简要看出几类主线模型 ...

  4. 大一统视角理解扩散模型

    大一统视角理解扩散模型 来源:https://zhuanlan.zhihu.com/p/558937247 这篇文章是近期笔者阅读扩散模型的一些技术博客和概览的一篇梳理.主要参考的内容来自Calvin ...

  5. 扩散模型(Diffusion Models)

    搬运工又来了 没别的意思啊 就学习 道歉1000遍 这篇文章是近期笔者阅读扩散模型的一些技术博客和概览的一篇梳理,主要参考的内容来自 Calvin Luo 的论文,针对的对象主要是对扩散模型已经有一些 ...

  6. 一文读懂扩散模型原理、推断加速和可控生成

    在刚刚过去的2022年,扩散模型(Diffusion Models)成为了深度生成模型中新的SOTA.近期,中国人民大学助理教授李崇轩和清华大学博士生鲍凡在由智源社区主办的"2022大模型创 ...

  7. 从大一统视角理解扩散模型(Diffusion Models)

    这篇文章是近期笔者阅读扩散模型的一些技术博客和概览的一篇梳理,主要参考的内容来自 Calvin Luo 的论文,针对的对象主要是对扩散模型已经有一些基础了解的读者. Calvin Luo 的这篇论文为 ...

  8. 图像生成之扩散模型:靠加入类别条件,效果直达SOTA

    来源:AI蜗牛车 本文约1300字,建议阅读7分钟 比GAN更真实.还懂全景局部多角度构图. OpenAI去年年末推出的新作GLIDE,又让扩散模型小火了一把. 这个基于扩散模型的文本图像生成大模型参 ...

  9. 图像生成王者不是GAN?扩散模型最近有点火:靠加入类别条件,效果直达SOTA

    博雯 发自 凹非寺 量子位 报道 | 公众号 QbitAI OpenAI刚刚推出的年末新作GLIDE,又让扩散模型小火了一把. 这个基于扩散模型的文本图像生成大模型参数规模更小,但生成的图像质量却更高 ...

最新文章

  1. 通过阿里云容器服务K8S Ingress Controller实现应用服务的灰度发布
  2. 【NLP】Transformer自注意机制代码实现
  3. Linux 指令大全(3)
  4. Android 开源框架选择
  5. Linux : shell基础(慕课网Linux达人养成计划课程笔记)
  6. 《项目百态:软件项目管理面面观》三模式总结
  7. 音频处理之语音加速播放
  8. 四、博客详情页完成《iVX低代码仿CSDN个人博客制作》
  9. python爬取京东图书_Python 3实战爬虫之爬取京东图书的图片详解
  10. 夜神模拟器抓包微信小程序
  11. OpenCV中出现“Microsoft C++ 异常: cv::Exception,位于内存位置 0x0000005C8ECFFA80 处。”的异常
  12. 塔尔寺景点门票销售管理系统
  13. 网易的又一款榜首之作,《倩女幽魂》营销负责人解析
  14. 离散数学实验二——逻辑联结词的运算
  15. 用MySQL数据库来处理中英文取首字母排序
  16. C++ Reference: Standard C++ Library reference: C Library: cstdio: printf
  17. 如何调整照片的大小?电脑怎么修改图片大小尺寸?
  18. java百度地图离线LBS_Web版百度地图加载离线瓦片
  19. Unity3d 周分享(23期 2019.11.10 )
  20. 51单片机——基于单片机的智能报警系统设计

热门文章

  1. 【HANA系列】SAP HANA XS Administration Tool登录参数设置
  2. 2021年质量员-设备方向-通用基础(质量员)考试总结及质量员-设备方向-通用基础(质量员)模拟考试题库
  3. [机器学习与scikit-learn-15]:算法-决策树-分类问题代码详解
  4. C语言-5月23日-指针(一)
  5. E. MEX and Increments
  6. github搜索语法-信息搜集指南----总结
  7. verilog键盘输入示例代码及分析(摩尔型有限状态机)
  8. “2020年嵌入式软件秋招经验和对嵌入式软件未来的一点思考”
  9. 你可能不知道微软悄悄关闭Win10分页显示程序的Sets功能
  10. 法国计算机工程师学院排名,法国90所工程师学院最新排行榜