扩散模型

发布时间:2022-12-15  栏目:人工智能, 图像处理, 机器视觉  评论:0 Comments

GANs的一些主要瓶颈是:

  • 图像生成缺乏多样性
  • 模式崩溃
  • 多模态分布问题学习
  • 训练时间过长
  • 由于问题表述的对抗性,不容易训练

模式崩溃(model collapse)原因

一般出现在GAN训练不稳定的时候,具体表现为生成出来的结果非常差,但是即使加长训练时间后也无法得到很好的改善。

具体原因可以解释如下:GAN采用的是对抗训练的方式,G的梯度更新来自D,所以G生成的好不好,得看D怎么说。具体就是G生成一个样本,交给D去评判,D会输出生成的假样本是真样本的概率(0-1),相当于告诉G生成的样本有多大的真实性,G就会根据这个反馈不断改善自己,提高D输出的概率值。但是如果某一次G生成的样本可能并不是很真实,但是D给出了正确的评价,或者是G生成的结果中一些特征得到了D的认可,这时候G就会认为我输出的正确的,那么接下来我就这样输出肯定D还会给出比较高的评价,实际上G生成的并不怎么样,但是他们两个就这样自我欺骗下去了,导致最终生成结果缺失一些信息,特征不全。

 

 

还有另一系列基于似然的方法(例如,马尔可夫随机场),它已经存在了相当长的一段时间,但由于对每个问题的实现和制定都很复杂,因此未能获得重大影响。其中一种方法是“扩散模型”——一种从气体扩散的物理过程中获得灵感的方法,并试图在多个科学领域对同一现象进行建模。然而,在图像生成领域,它们的应用最近变得越来越明显。主要是因为我们现在有更多的计算能力来测试复杂的算法,这些算法在过去是不可实现的。

一个标准扩散模型有两个主要的过程域:正向扩散和反向扩散。在前向扩散阶段,图像被逐渐引入的噪声污染,直到图像成为完全随机噪声。在反向过程中,利用一系列马尔可夫链在每个时间步逐步去除预测噪声,从而从高斯噪声中恢复数据。

扩散模型最近在图像生成任务中表现出了显著的性能,并在图像合成等任务上取代了GANs的性能。这些模型还能够产生更多样化的图像,并被证明不会受到模式崩溃的影响。这是由于扩散模型保留数据语义结构的能力。然而,这些模型的计算要求很高,训练需要非常大的内存,这使得大多数研究人员甚至无法尝试这种方法。这是因为所有的马尔可夫状态都需要一直在内存中进行预测,这意味着大型深度网络的多个实例一直在内存中。此外,这些方法的训练时间也变得太高(例如,几天到几个月),因为这些模型往往陷入图像数据中细粒度的、难以察觉的复杂性。然而,需要注意的是,这种细粒度图像生成也是扩散模型的主要优势之一,因此,使用它们是一种矛盾。

潜在扩散模型(LDM)是潜空间而不是像素空间中扩散过程的应用,同时结合了来自transformer的语义反馈。

 

任何生成式学习方法都有两个主要阶段:感知压缩和语义压缩。

压缩感知

在感知压缩学习阶段,学习方法必须通过去除高频细节将数据封装为抽象表示。这一步对于构建环境的不变和鲁棒表示是必要的。GANs擅长提供这种感知压缩。他们通过将高维冗余数据从像素空间投影到称为潜空间的超空间来实现这一点。隐空间中的隐向量是原始像素图像的压缩形式,可以有效地代替原始图像。

更具体地说,自动编码器(AE)结构是捕获感知压缩的结构。AE中的编码器将高维数据投影到潜空间,解码器从潜空间恢复图像。

语义压缩

在学习的第二个阶段,图像生成方法必须能够捕捉数据中存在的语义结构。这种概念和语义结构保存了图像中各种物体的上下文和相互关系。transformer擅长捕捉文本和图像中的语义结构。transformer的泛化能力和扩散模型的细节保持能力的结合提供了两个世界的优点,并提供了一种生成细粒度的高度详细图像的能力,同时保留图像中的语义结构。

感知损失

LDM中的自动编码器通过将数据投影到潜空间来捕捉数据的感知结构。作者使用一种特殊的损失函数来训练这种自编码器,称为“感知损失”。该损失函数确保重建被限制在图像流形内,并减少使用像素空间损失(例如L1/L2损失)时可能出现的模糊。

扩散损失

扩散模型通过逐步去除正态分布变量中的噪声来学习数据分布。换句话说,DMs采用长度为T的反向马尔可夫链。这也意味着DMs可以建模为时间步长T =1,…,T的一系列T去噪自编码器。这由下式中的εθ表示。请注意,损失函数依赖于隐向量而不是像素空间。

条件扩散

扩散模型是一种依赖先验的条件模型。在图像生成任务中,先验通常是文本、图像或语义图。为了获得这种情况的潜在表示,使用了一个transformer(例如CLIP),它将文本/图像嵌入到潜在向量` τ `中。因此,最终的损失函数不仅取决于原始图像的潜空间,而且还取决于条件的潜嵌入。CLIP(contrast Language-image pre-training)模型

注意机制

LDM的骨干是U-Net自编码器,具有稀疏连接,提供交叉注意力机制[6]。Transformer网络将条件文本/图像编码为潜在嵌入,然后通过交叉注意力层映射到U-Net的中间层。这个交叉注意力层实现了注意力(Q,K,V) = softmax(QKT/✔)V,而Q,K和V是可学习的投影矩阵。

文本到图像合成

我们使用python中LDM v4的最新官方实现来生成图像。在文本到图像合成中,LDM使用预训练的CLIP模型[7],该模型为文本和图像等多种模态提供了基于transformer的通用嵌入。然后,transformer模型的输出被输入到LDM的python API ` diffusers `。有一些参数也是可以调整的(例如,没有。扩散步骤、种子、图像大小等)。

ldm在以精细细节生成不同背景的高分辨率图像方面是鲁棒的,同时还保留了图像的语义结构。“稳定扩散模型”,那么这只是应用于高分辨率图像的LDM的重新命名,同时使用CLIP作为文本编码器。

留下评论

You must be logged in to post a comment.

相册集

pix pix pix pix pix pix

关于自己

杨文龙,微软Principal Engineering Manager, 曾在各家公司担任影像技术资深总监、数据科学团队资深经理、ADAS算法总监、资深深度学习工程师等职位,热爱创新发明,专注于人工智能、深度学习、图像处理、机器学习、算法、自然语言处理及软件等领域,目前发明有国际专利19篇,中国专利28篇。

联系我

个人技术笔记

welonshen@gmail.com

2015 in Shanghai