Diffusion Models 学习基础笔记

在做生成图片相关的课题时,了解了一下扩散模型,简单记录一下。

扩散模型(diffusion models)是深度生成模型中新的SOTA。扩散模型在图片生成任务中超越了原SOTA:GAN,并且在诸多应用领域都有出色的表现,如计算机视觉,NLP、波形信号处理、多模态建模、分子图建模、时间序列建模、对抗性净化等。此外,扩散模型与其他研究领域有着密切的联系,如稳健学习、表示学习、强化学习。

何为生成模型?

        我们所了解的大多数机器学习和深度学习问题都是从生成和判别模型中概念化的。简单地说,“生成模型”是为“生成/合成数据”而设计的统计模型。它们的工作是“将噪声转换为具有代表性的数据样本”:

         给定来源于未知的数据分布中的独立同分布的样本数据x1,x2...xn Pd(xi), 生成式模型的目标是通过模型,去学习逼近未知的数据分布

        通俗来说即为:首先对这些模型进行训练,以便它们学习对(训练数据的)“数据分布”进行建模。一旦经过训练,模型就知道如何近似原始数据分布,并可以随意使用它来生成新的数据(图像)。 

为何需要生成模型


        基于图像的生成模型的工作是生成相似的新图像。我们需要创建和训练生成模型,因为仅有大小限制的图像表示的所有可能图像的集合是巨大的。图像必须具有正确的像素值组合来表示有意义的东西(我们可以理解的东西)。
        例如,要使上面的图像代表某件物品或场景,图像中的像素需要处于正确的配置(它们需要具有正确的值)。而这些图像存在的空间只是(256x256x3)图像空间可以表示的整个图像集的一小部分。现在,如果我们知道如何从这个子空间获取/采样一个点,我们就不需要构建“生成模型”。然而,我们很难获得实现这一点的方法。捕获/建模该(数据)子空间的概率分布函数,或更准确地说,概率密度函数(PDF)仍然未知,并且很可能太复杂而没有意义。

这就是为什么我们需要“生成模型——找出我们的数据满足的潜在似然函数

主流的生成模型 

  • 对抗生成网络 Generative adversarial network (GAN): 生成速度快,但是训练不稳定,而且生成样本的多样性有所欠缺。

  • 变分自动编码器 Variational auto-encoder (VAE): 生成速度快,生成样本的多样性比较好,但是生成出来样本的质量比较模糊(比GAN要差)。

  • 基于流的生成模型Flow-based model:由于要保持可逆转换,因此在模型架构的选择上比较受限。

  • 扩散模型Diffusion model:在生成任务上的表现非常出色,能够生成比较高维度的变量,但采样速度慢。

此外,还有一种比较常见的生成式模型:自回归模型 Autoaggressive Model / AG:其具备长距离依赖、准确的概率估计两大优点,也因此有训练和计算速度相对较慢的缺点,同时难以获取高维数据的全局依赖也是其应用的局限之一。

扩散模型与其他几类生成模型的关联 

1 GAN 与扩散模型的关联

GAN 训练过程不稳定的主要原因是生成数据和输入数据之间不重叠的数据分布。 其中一种解决方法是通过给辨别器的输入注入噪音来进一步帮助生成器和辨别器的分布,这种方法由扩散模型所启发。另一方面,扩散模型的抽样速度要慢于 GAN,主要原因是去噪步骤中的高斯假设,该假设使得去噪的步长(step)较小。有工作通过使用 conditional GAN 来对每一步去噪过程建模,增大了去噪的步长。

2 VAE 与扩散模型的关联

DDPM 可被视为是固定编码器的层级式马尔可夫 VAE。具体来说,DDPM 的前向过程作为编码器,该过程可以用线性高斯模型描述。DDPM 的反向过程对应于解码器,在多个解码过程中共享。解码器中的潜变量和样本数据有着同样大小的尺寸。

有工作指出:在连续时间设定下,分数匹配目标函数可近似于深层 VAE 的证据下界(ELBO)。因此,扩散模型的优化过程可被视为训练一个无限层深的 VAE。

基于分数的潜生成模型(LSGM)进一步表示:在潜空间情境下,ELBO 可以作为特殊的分数匹配目标函数。

 扩散模型的具体实现

扩散模型定义了基于马尔科夫链的扩散步骤,在这个过程中缓慢的并且顺序地向样本中添加随机(高斯)噪声,然后学习在反向过程中从噪声样本中恢复干净的样本。

训练之后,我们可以使用扩散模型来生成样本,而生成的过程就是传递采样噪声到上述已经学习好的去噪过程中。

当前对扩散模型的研究主要围绕种主流的实现(如下图):

  1. 去噪扩散概率模型(Denoising Diffusion Probabilistic Models / DDPMs
  2. 基于分数的生成模型(Score-based Generative Models / SGMs
  3. 随机微分方程(Stochastic Differential Equations / Score SDEs

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
引用\[1\]: Stable Diffusion是一个基于Latent Diffusion Models(潜在扩散模型,LDMs)的文图生成(text-to-image)模型。Stable Diffusion在LAION-5B的一个子集上训练了一个Latent Diffusion Models,该模型专门用于文图生成。\[1\]引用\[2\]: 在潜在表示空间上做diffusion操作其主要过程和标准的扩散模型没有太大的区别,所用到的扩散模型的具体实现为time-conditional UNet。\[2\]引用\[3\]: 高分辨率图像合成的普及diffusion models属于基于似然的模型类,其模式覆盖行为使它们容易花费过多的容量(从而计算资源)来建模数据的难以察觉的细节。尽管重加权变分目标旨在通过对初始去噪步骤进行欠采样来解决这一问题,但diffusion models仍然需要计算量,因为训练和评估这样的模型需要在RGB图像的高维空间中反复进行函数评估(和梯度计算)。\[3\] 问题: Latent Diffusion Models是什么? 回答: Latent Diffusion Models(潜在扩散模型,LDMs)是一种用于文图生成的模型。在潜在表示空间上进行diffusion操作,其过程与标准的扩散模型类似。具体实现中使用了time-conditional UNet。这种模型的训练和评估需要在RGB图像的高维空间中进行函数评估和梯度计算,因此需要大量的计算资源。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [Latent Diffusion Models](https://blog.csdn.net/weixin_43135178/article/details/127972532)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值