[论文阅读] High-Resolution Image Synthesis with Latent Diffusion Models
写在前面
原文:https://arxiv.org/abs/2112.10752
Github:https://github.com/CompVis/latent-diffusion?tab=readme-ov-file
参考:https://stable-diffusion-art.com/how-stable-diffusion-work/
关键词:stable diffusion,LDMs
阅读理由:对DM高消耗的优化,解决速度问题。看一下优化思路,优化原理,实验是怎么做的,对以后的研究有什么启发or帮助
前置知识:DDPM、自编码器、潜在空间、交叉注意力、条件控制扩散模型
速览
1.与扩散模型(DM)直接操作像素空间不同,LDMs是将图片压缩到一个“潜空间”(Latnet Space)并进行取样去噪的,这种方法可以节省大量计算,使运行速度更快
2.设计了一种基于注意力机制的通用条件化方法,使多模态训练成为可能
思路和方法
思路:引入一个明确的压缩学习阶段与生成学习阶段
方法:
如图所示,LDMs主要分为三步:
一.感知图像压缩 Perceptual Image Compression
感知压缩模型是基于先前的工作,由一个自编码器(Auto-Encoder)组成。它是Pixel Space与Latent Space之间的转换工具。
转换到Latent Space空间有两个优点:
- 通过离开高维图像空间,我们获得了计算上更高效的DM,因为采样是在低维空间中进行的。
- latent空间的特征语义信息更强,便于和其它模态(例如,文本或者初始图像)的特征融合。
同时需要注意:类似于VAE,为了避免AE压缩出的Latent Space过于发散,提出了正则化方法,通常会把Latent Space的特征分布用KL散度对齐到标准正态空间。
为什么这是合理的?
为什么VAE可以压缩一张图片到非常小的一个潜空间而不损失信息呢?这是因为:自然图片并非是随机的,它们有很高的规律性。例如,一张脸上,鼻子、脸颊和嘴巴之间有特定的空间关系。一只狗有4只腿并且有特定的形状。
换句话说,高维的图片是人为的。自然图像可以轻松地压缩到较小的潜空间中,而不会丢失任何信息。这在机器学习中被称为流形假设。
二.隐式扩散模型 Latent Diffusion Models
与DDPM的过程类似,前向与反向扩散都是在潜空间里完成的,只不过Zt是Latent Feature,Z0是AE的Encoder推理出的原始特征,ZT是纯噪声特征。所以在训练时,不再是生成一张噪点图,而是在潜空间里生成一个随机张量(Tensor),并且在给图片每一步增加噪点时,也不再是给图像增加噪点,而是给图片在潜空间里的张量增加潜噪点。
这里,LDM的噪声估计器是一个UNet,用来预测每一步去噪所需噪声。由于正向过程是固定的,因此在训练过程中可以从 E 中高效地获得 zt,并且可以从 p(z) 的样本中通过 D 进行单次解码以生成图像空间。
三.条件机制 Conditioning Mechanisms
与其它类型的生成模型一样,扩散模型DM也可以对条件分布p(z|y)进行建模拟合,可以通过条件去噪自编码器ϵθ(zt,t,y)来实现,并通过条件输入如文本、语义图、图像-图像转换任务等控制图像的生成。
本文方法是使用交叉注意力机制增强底层UNet结构。为了处理不同模态的输入,引入了一个模态相关的编码器τθ,输入条件,获得输入条件的特征,通过交叉注意力机制加权到diffusion的噪声估计器UNet中间特征上
实验
有待后续补充。。。