详解 Diffusion (扩散) 模型

扩散模型是跨不同深度学习领域使用的生成模型。目前,它们主要用于图像和音频生成。最值得注意的是,这些模型是令人印象深刻的图像生成模型(例如 Dalle2 和稳定扩散)背后的驱动力。我相信您已经看过这些模型生成的闪烁图像。令人惊叹的结果证明了深度学习的进步是多么令人兴奋。

什么是Diffusion?

在物理学中,扩散只是任何事物的整体运动。 (原子,能量)从较高浓度的区域到较低浓度的区域。现在想象一下,将一小滴油漆滴入一杯水中,油漆的密度将集中在一个位置,但随着时间的推移,该滴将扩散到水中直至达到平衡。如果我们能逆转这个过程不是很好吗?不幸的是,这是不可能的。但扩散模型试图拟合一个模型,其最终目标是逆转这一过程。

其基本思想是通过迭代前向扩散过程系统地、缓慢地破坏数据分布中的结构。然后,我们学习反向扩散过程,恢复数据结构,产生高度灵活且易于处理的数据生成模型。

扩散模型尝试通过向原始图像迭代添加噪声来重现扩散过程。我们不断添加噪声,直到图像变成纯噪声。噪声由马尔可夫事件链定义。马尔可夫链是一种事件模型,其中每个时间步仅取决于前一个时间步。马尔可夫性质定义如下:

P(Xₙ = iₙ | Xₙ₋₁)

因此,任意满足上述条件的随机变量序列X₀,X₁,X2,…,Xₙ都可以被视为马尔可夫链。这种马尔可夫假设使得学习添加的噪声变得容易处理。在训练模型来预测每个时间步的噪声后,该模型将能够从高斯噪声输入生成高分辨率图像。总结一下:我们不断向图像添加噪声,直到只剩下纯粹的噪声。然后我们训练一个神经网络来消除噪音。因此扩散模型由两个阶段组成:

  1. 前向扩散过程
  2. 逆扩散过程

前向扩散过程

前向扩散过程是数据结构被破坏的阶段。这是通过应用从正态分布采样的噪声来完成的 - 最终图像随后将收敛到纯噪声 z ~ N(0, 1)。每个时间戳应用的噪声量不是恒定的。使用时间表来缩放平均值和方差。 OpenAI 的原始 DDPM 论文应用了线性调度。但 OpenAI 的研究人员再次发现,这会导致许多冗余的扩散步骤。因此,在他们的《改进的去噪扩散概率模型》论文中,他们实现了自己的余弦计划。

前向过程定义为 q(xₜ|xₜ₋₁)。该函数只是在每个时间步 t 添加噪声。前向过程的数学定义如下:q(xₜ|xₜ₋₁) = N(xₜ; sqrt{1-βₜ}xₜ, βₜI)。您可能还记得在统计课上,正态分布是由均值和方差参数化的。 sqrt{1-βₜ}xₜ 是平均值。 βₜI 是方差。您在此等式中看到的 beta 只是范围在 0–1 之间的值 0<β₁<β2<…<β_T<1;贝塔值并不是恒定的,并且受“方差表”的调节。通常,您希望对每个时间步 t 重复此过程。只需一步即可完成这一过程将为我们节省大量计算量。让我们看看它是如何完成的。首先,我们定义 αₜ = 1-βₜ。然后我们可以定义所有 alpha 的累积乘积 α⁻ₜ = ∏aₛ 现在,使用重新参数化技巧,我们可以将上述公式重写如下:

使用 alpha,我们可以将其重写为:

正如您所猜测的,我们现在可以将其扩展到之前的时间步骤:

使用所有 alpha 的乘积,最终方程将采用以下形式:

逆扩散过程

如果通过计算 q(xₜ₋₁|xₜ) 来反转上述过程,那就太好了。不幸的是,这个计算需要每个时间步长。因此,我们恢复到学习近似这些条件概率的神经模型。在相反的过程中,神经网络将预测给定图像的平均值。神经网络将查看图像并尝试确定前向过程中该图像来自的图像分布。

我们的扩散模型损失函数就是 -log(pθ(x₀))。问题在于扩散模型是潜变量模型,其形式如下:

正如你所想象的,这种形式没有封闭的解决方案。解决这个问题的方法是计算变分下界。请注意,了解 VAE 的推导可以帮助您理解以下公式。整个逆过程定义为:

由于这是联合分布,我们必须将每个逆过程相乘。请记住,pθ(xₜ₋₁|xₜ) 将您从“噪声较大”的图像变为“噪声较小”的图像。我提到了变分下界,但它是什么?在较高的层面上,假设我们有一个难以处理的函数 f(x)。如果我们能证明我们有一个小于 f(x) 的函数 g(x)。然后通过最大化 g(x),我们可以确定 f(x) 也会增加。让我们通过将 KL 散度添加到原始函数 f(x) = -log(pθ(x₀)) 来比较 -log(pθ(x₀))。

通过贝叶斯定理重写KL散度,我们得到:

所以我们的变分下界变成:

我们现在的目标是将右侧转换为可分析计算的。让我们首先将日志重写为产品:

使用对数乘积法则,我们可以重写右侧:

取出求和的第一项,得到以下结果:

使用贝叶斯定理重写 q(xₜ|xₜ₋₁) 并在 t = 0 时对输入图像进行调节:

替代

使用乘积法则:

第二个求和可以进一步简化。取 T 等于任何数字,您会发现大部分项都被抵消了,您将得到以下结果:

替换

使用商规则,我们可以重写最后两项:

您可以看到第一项和最后一项相互抵消。使用商规则的另一种用法来整理我们的公式:

我们现在可以写出 KL 散度的对数项:

DDPM 论文的作者忽略了第一项。如上所述,项 pθ(xₜ₋₁|xₜ) 可以重写为预测均值的神经网络:

q(xₜ₋₁|xₜ, x₀) 具有如前所述的闭式解。我们可以将其写为:

作者在实际 μ 和预测 μ 之间采用了简单的均方误差。他们使用超出本博客文章范围的定义来证明,得出以下结论:

使用上面的定义,我们可以将均方误差简化为:

这就是我们采取梯度下降步骤的术语!所有这些简化,我们得出以下结论:预测噪声。最终的目标函数采用以下形式:

什么是 Stable Diffusion?

稳定扩散是 OpenAI Dalle.2 的开源替代品。由于稳定扩散是一种潜在扩散模型,因此我将尝试对 LDM 进行高级解释。还记得反向扩散过程如何使用神经网络逐渐降低噪声吗?稳定扩散使用 U-Net,这是一种基于卷积的神经网络,可将图像下采样到较低的维度,并在上采样期间重建它。在下采样层和上采样层之间添加跳跃连接以获得更好的梯度流。通过将从语言模型生成的文本嵌入连接到图像表示,将提示注入到模型中。 U-Net 中的注意力层允许模型通过交叉注意力来关注文本标记。

顾名思义,LDM 不适用于原始像素。相反,图像通过编码器被编码到更小的空间中。然后通过解码器将图像解码回其原始空间。这允许扩散过程在小/潜在空间上工作并完成该空间中的去噪。您可以将其视为包含扩散过程的自动编码器。这就是为什么它被称为潜在扩散;我们不是在像素中而是在潜在空间中实现扩散过程。下图应该足以概括 LDM:

总结

  1. 扩散模型的工作原理是迭代地向图像添加噪声,然后训练神经网络来学习噪声并恢复图像。
  2. U-Net 是逆向过程中使用最广泛的神经网络。
  3. U-Net 中添加了跳过连接和注意力层以获得更好的性能。
  4. LDM 的工作原理是将图像编码到较小的潜在空间并在该空间中实现扩散过程,然后通过解码器恢复图像。

本文由mdnice多平台发布

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容