LDM算法原理和多个生成应用场景介绍-Diffusion Models系列4

Latent Diffusion Model是DDPM算法的基础上做了多个方面的优化和改进,具体表现在:

1、其采用了隐空间(Latent Space)进行的扩散模型的训练和推理,在二维图像域隐空间可以将图像的分辨率降低为原来的1/4,1/8甚至更高,在更小的尺度上进行扩散模型的训练,使得模型训练和推理的速度和算力上具有很大的优势;

2、这里采用了一个高效的VAE模型(autoencoderkl)将图像的原始空间转换为隐空间,其在原始的VAE模型的基础上使用了更多的loss,包括生成对抗的loss,图像质量的感知loss,以及图像重建的mse loss和约束隐空间服从标准对角正态分布(协方差只在对角线上有值,独立正态分布)的KL loss(Kullback-Leibler divergence)。

3、条件注入的有几种可行的方式:1、将条件数据(context embedding)和噪声数据相拼接做为输入,在条件拼接中:(1)、训练时网络的输入为基于真值 x0​ 的原始图像数据对应的潜空间表示 z0​和时间t以及variance schedule信息采样后形成的zt 和条件的 context embedding c 拼接在一起的结果,即为[zt,c];(2)、推理时的输入为潜空间上的对角高斯分布zT和条件数据c以及时间信息的Positional Embedding的拼接[zt, c, PE(t)],预测的结果为z(t-1),网络的输出为z空间的error,和真实的采样error算loss,和DDPM算法本身一样。2、将条件数据(context embedding)作为跨注意力机制中的y作为条件输入并通过参数模块进行跨注意力机制的计算,这里有两种方式:(1)仅仅使用跨注意力机制,这时的模型就不再将条件嵌入和隐空间数据zt进行拼接,而仅仅作为条件输入y,zt作为跨注意机制的q;(2)将跨注意力机制和条件拼接相结合,其中条件拼接和第一方面描述的总体情况类似。3、CBN(条件的批处理归一化,将条件作为信息的调制),这里不做特别说明。

4、针对第3点描述的条件注入的方式,这里将根据几个特殊的条件约束生成的应用场景做一下详细说明。1、超分辨率图像生成,以一个低分辨率图像LR_image(low resolution image)作为条件,训练数据支持低分辨率和对应高分辨率的图像对作为一个真值元组;2、semantic,这个可以作为基于语义分割图的条件约束图像生成,和原始图像一起作为真值元组;3、layout,基于布局结构的约束生成,和上述条件类似;4,inpainting,为了满足更强的编辑功能,还可以加上对编辑区域的文字约束,以实现约束更强的图像编辑,如“文本引导的图像编辑”(text-guided image editing),要满足这个功能,在训练数据上要有支持这种条件生成图片,掩码区域和约束文字的三元组训练数据。在实现细节上可以按如下的思路:(1)将不带有mask的原始图像编码为隐空间的z0,将带有mask的图像编码为隐空间的z_mask,将原始图像编码为条件嵌入c(可以沿用隐空间编码的方式,这时等价为z0),以及时间信息嵌入。(2)原始图像的嵌入作为cross attention参与交叉注意力的信息计算,原始图像的嵌入方法可以用隐空间编码的方式,也可以利用多层丰富的卷积特征图信息。其中z_mask的生成的方式可以值得讨论,1种是在原始数据中将mask区域进行遮罩进行隐空间编码,然后在隐空间中在更小的尺寸上对缩小的mask区域再次进行遮罩操作(对应的区域设置为0)。

5、在条件生成的LDM模型中,采样过程q_sample只对隐空间z0进行,其他条件嵌入信息如文本嵌入图像嵌入,以及时间信息嵌入等只和采样的zt拼接作为输入的一部分,输出的直接结果为e_t(和隐空间一样大小的误差空间)预测的结果为z(t-1),条件信息不参与去噪,只作为输入信息的一部分指导去噪训练的过程。


by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *