motivation
由于扩散模型(Diffusion Models,DM)通常直接在像素空间中操作,优化功能强大的DM通常会消耗数百个GPU天,而且由于顺序计算,扩散模型的推理也非常昂贵。为了在有限的计算资源上进行DM训练,同时保持其质量和灵活性,本文在强大的预训练自动编码器的潜在空间中使用扩散模型。与之前的工作相比,在这种表示上训练扩散模型允许在复杂性降低和细节保留之间达到一个接近最优的点,极大地提高了视觉保真度。通过在模型体系结构中引入交叉注意层(cross-attention layers),本文将扩散模型转化为强大而灵活的生成器,可以有通用的条件输入,比如文本,候选框等,并且能够以卷积等方式实现超分辨率。
我们的方法从分析在像素空间中已经训练过的扩散模型开始:图2显示了一个训练过的扩散模型的速率失真权衡( rate-distortion trade-off )。与任何基于似然的模型一样,学习可以大致分为两个阶段:第一个是感知压缩阶段,除了学习高频细节,仍能学习到很少的语义变化。在第二阶段,实际生成模型学习数据的语义和概念组成(语义压缩)。因此,我们的目标是首先找到一个感知上等价,但计算上更合适的空间,在这个空间中我们将训练用于高分辨率图像合成的扩散模型
因此我们将训练分为两个不同的阶段:首先,我们训练一个自动编码器,它提供一个低纬的感知空间。重要的是,我们不需要过度依赖空间压缩,因为我们在习得的潜在空间中训练dm,该空间相对于空间维度具有更好的缩放特性。降低的复杂度也使得从潜在空间生成图像更加有效。我们将得到的模型称为潜扩散模型(ldm) 。并且我们只需要训练一次通用自动编码阶段,可以将其重用于不同的DM训练或完全不同的任务[78]。这使得能够高效地适用于各种图像到图像和文本到图像任务
如下图可说明:横轴是隐变量每个维度压缩的bit率,纵坐标是模型的损失。模型在学习的过程中,随着压缩率变大,刚开始模型的损失下降很快,后面下降很慢,但仍然在优化。模型首先学习到的是semantic部分的压缩/转换(大框架),这一阶段是人物semantic部分转变,然后学习到的是细节部分的压缩/转换,这是perceptual细节处的转变
contribution
提出了Latent Diffusion Models(LDMs)
1、对比transformer-based的方法,该方法能够在压缩的空间(work on a compression level)对图像进行重建,生成比之前的方法更加可靠与详细的结果。并能应用于百万像素图像的高分辨率合成(high-resolution synthesis of megapixel images)。
2、在多任务上均有较好的表现,同时显著降低计算成本。并且对比像素级别的diffusion方法,节省了推断成本。
3、该方法不需要平衡重建和生成的能力,对latent space几乎不需要正则化。
4、本文设计了一种基于cross-attention的通用条件生成控制机制,能够实现多模态的训练。(class-conditional, text-to-image、layout-to-image)
Method
1. Perceptual Image Compression
我们使用了一个自动编码模型,该模型学习的空间在感知上与图像空间等效,但显著降低了计算复杂度。由一个通过结合感知损失[102]和基于patch的[32]对抗损失[20,23,99]训练的自动编码器组成。
2. Latent Diffusion Models
通过我们预训练的由E和D组成的感知压缩模型,我们现在可以访问一个高效的、低维的潜在空间,其中高频的、难以察觉的细节被抽象出来。与高维像素空间相比,该空间更适合基于可能性的生成模型,因为它们现在可以(i)专注于数据的重要语义位,(ii)在低维、计算效率更高的空间中进行训练
我们模型中的神经主干是一个以时间条件UNet。由于前向过程是固定的,所以在训练过程中预训练的编码器中得zt,从p(z)中的采样的样本只需经过一次解码器就可以解码到图像空间中
3. Conditioning Mechanisms
我们通过使用交叉注意机制(cross-attention mechanism)来增强DMs的底层UNet主干,从而使其成为更灵活的条件图像生成器[94],该机制对于学习各种输入模式的基于注意的模型非常有效[34,35]。为了预处理来自不同模态(如语言提示)的y,我们引入了一个领域特定的编码器τθ,它将y投射到一个中间表示,然后通过交叉注意层映射到UNet的中间层
交叉注意力机制的实现为
实验
1. On Perceptual Compression Tradeoffs
不同的压缩率变现不同其中LDM4-16效果比较好