Advertisement

Latent Diffusion 论文笔记

阅读量:

这篇论文提出了一种基于隐式扩散模型的高分辨率图像合成方法。模型结构包括编码器、扩散模型和解码器,编码器将图像压缩到隐空间,扩散模型在压缩特征上工作,解码器还原图像。论文提到使用LPIPS损失和UNet架构,结合了交叉注意力层。训练分为自编码器阶段和扩散阶段,自编码器使用LPIPS作为约束。此外,论文还探讨了基于感知损失的图像压缩方法,使用LPIPS感知损失和PatchGAN对抗损失进行训练。两阶段图像合成方法分别使用了KL散度约束和VQ方法,发现VQ方法效果更好。优化目标部分提到自编码器优化目标为重建损失,扩散模型优化目标为预测噪声的平方误差,其中τθ用于将多模态监督信号转换为隐空间中的监督信号,与εθ联合学习。

Latent Diffusion 论文笔记

论文:

High-Resolution Image Synthesis with Latent Diffusion Models

https://arxiv.org/abs/2112.10752

https://github.com/CompVis/latent-diffusion

模型结构

在这里插入图片描述

具体来说,首先使用编码器 \mathcal{E} 将图像压缩至潜在空间(H\times W\times3 转换为 h\times w\times c)。接着,让扩散模型 \epsilon_\theta 在压缩后的特征上运行。最后,通过解码器 \mathcal{D} 将压缩后的特征还原为图像。

训练分成两个阶段,先训练自编码器,再训练 Diffusion 。

训练自编码器的时候用 LPIPS 做约束。

自编码器本质上是VQ-VAE模型,主要区别在于将VQ层整合到解码器中。扩散阶段主要作用于隐式地处理了VQ编码之前的隐空间特征。

根据论文的描述,编码器和解码器模块应采用卷积结构,不含注意力机制。而UNet则具备注意力机制。

该方法采用了基于 UNet 架构的实现,并且同时融合了 cross-attention机制。

他指出,\epsilon_\theta中的cross-attention层通过\tau_\theta生成了K和V,Q则由z_T生成。

训练时 \epsilon_\theta\tau_\theta 是联合学习的

基于感知损失的图像压缩

压缩过程通常由编码组件和解码组件构成。编码组件将图像数据映射至隐空间中的特征表示,而解码组件则将这些特征还原为重建后的图像数据。

注意图像是 H\times W\times3 的,特征是 h\times w\times c

我们的感知压缩模型建立在前人研究的基础上,包含由感知损失和基于补丁的对抗性目标组成的自动编码器。

他的感知损失就是指 LPIPS
patch-based 应该是指 PatchGAN 对抗损失吧。

为了实现图像自编码,该方法采用了两个损失函数,其中,LPIPS感知损失和 patch-based 对抗损失是自编码器所采用的两个主要损失函数。

两阶段图像合成

两阶段应该指的就是,压缩性学习和生成性学习分开。

他们探索了对隐空间的两种约束方式,其中一种方法是通过KL散度将隐空间约束至正态分布,类似于VAE的架构。另一种方法是采用VQ方法,其与VQ-GAN相似,但区别在于将量化层放置在解码器中。

他们发现使用 VQ 方法更好

应该就是说,他们的编码器和解码器之间用了一个 VQ 层

他指出,自回归计算量较大,这迫使特征空间的维度必须保持较低,从而使得编码器和解码器必须采用数十亿参数来拟合先验分布。

通过减少运算量,同时降低特征对原图像的压缩率,即通过增加特征维度,他们的自编码器采用卷积神经网络作为编码器模块。

优化目标

自编码器的优化:

似乎就是用 LPIPS 用来衡量重建损失,以此训练一个带 VQ 层的自编码器。

Diffusion 模型的优化目标:

L_{LDM} := \mathbb{E}_{\mathcal{E}(x)、y、\epsilon服从\mathcal{N}(0,1)、以及t}\left[\left\| \epsilon - \epsilon_{\theta}(z_t, t, \tau_{\theta}(y)) \right\|^{2}_{2}\right]

看起来有点像官方版本的Diffusion Model,多了一个\tau_\theta组件,这个函数

值得注意的是,\epsilon_\theta 存在于隐空间中。可以推断,z_t 是隐空间中的特征。进一步地,\epsilon_\theta 的输出结果同样位于隐空间中。同时,训练过程同样发生于隐空间中。

其中 \tau_\theta 被定义为一个转换模块,负责将多模态的监督信号源 y 转换为潜在空间中的监督信号,并且需要通过训练确定其参数。针对不同模态的监督信号源 y,可以设计相应的转换模块 \tau_\theta

训练时 \epsilon_\theta\tau_\theta 是联合学习的

全部评论 (0)

还没有任何评论哟~