普通的扩散模型在像素空间操作,运算复杂度较高。为了保证在低资源下训练扩散模型,并保留扩散模型的质量和灵活性,该论文使用预训练的自编码器得到隐含空间,并在隐含空间中训练扩散模型。另一方面,该论文使用cross-attention机制为扩散模型引入条件,条件可以文本、bounding box等。
方法
方法的整体结构如上图。
先训练通用的压缩模型(红色部分),通用的压缩模型可以用来训练多个生成模型。
之后在低维空间上训练扩散模型(绿色部分),降低运算复杂度。
图片压缩
使用perceptual loss和patch-based adversarial objective训练一个自编码器用于图片的压缩。
用表示图片。有编码器,解码器。
,z是被降采样的隐含表示,是被压缩的结果。二维的隐含表示有利于保存图片的细节。
为了避免隐含空间有过高的方差,作者使用了两种regularization。
- KL-reg。类似VAE,假设隐含表示服从标准正太分布。
- VQ-reg。解码器使用vector quantization layer。
隐含扩散模型
普通的扩散模型的优化公式如下:
压缩模型被训练好后,就得到了低维有效的隐含空间。这个空间对于likelihood-based生成模型的好处是,生成模型可以更关注重要的语义信息,并且可以更为高效地训练。
论文提出在隐含空间训练扩散模型。基于隐含表示的扩散模型优化的公式如下:
其中用time-conditional UNet来实现。
条件机制
作者通过使用cross-attention机制来补充UNet来引入条件。cross-attention的计算如下:
其中 是条件y经过encoder得到的中间表示,表示UNet的中间表示。
基于条件的隐含扩散模型优化公式如下:
Bits Per Dimension
在论文的分析图中出现了bits/dim。这个由离散的log-likelihood除以图片的维度得到。
The total discrete log-likelihood is normalized by the dimensionality of the images (e.g., 32 × 32 × 3 = 3072 for CIFAR-10). These numbers are interpretable as the number of bits that a compression scheme based on this model would need to compress every RGB color value.
参考:《Pixel Recurrent Neural Networks》