note
- 基础阶段:生成512×512分辨率的图像,优化模型以生成高质量的图像。
- 超分辨率阶段:从512×512的输入生成1024×1024分辨率的图像,进一步优化图像的细节和清晰度。
- 蒸馏版本:通过减少采样步骤,生成与原始模型相似质量的图像,但推理时间大大减少。
文章目录
一、Cogview3模型
论文:CogView3: Finer and Faster Text-to-Image Generation via Relay Diffusion
相关背景:
- 对于更高分辨率的图像进行加噪,其加噪后的结果在低频处有更高的信噪比(Signal-to-Noise Ratio,SNR)
- 图像中的低频信息:一张图像有不同频段信息的分布,其低频往往包含了主要的纹理信息,而高频主要为图像的边缘信息,即图像的低频信息与图像的“语义”有着紧密的联系。
- diffusion model的采样是从完全的随机高斯噪声出发;relay diffusion是使用block noise,就是将低分辨率的高斯噪声通过一个s×s的卷积核将分辨率映射为原来的s倍,从而适配高分辨率图像的训练。具体来说,如果我们要训练256×256分辨率下的diffusion models,那么s=4,即将64×64的低分辨率噪声映射成256×256的。
模型架构:
- 三阶段的unet模型。通过变分KL正则化编码器将像素空间压缩了8倍。使用T5-XLL编码器作为文本编码器,在扩散模型的训练过程中冻结该编码器。
- 两阶段中继扩散:
- 扩散模型,以 512×512 的分辨率生成图像
- 执行 2 倍超分辨率,从 512×512 的输入生成1024×1024 的图像
- 其他:中继超分辨率、中继扩散的蒸馏
二、模型细节
CogView3模型的训练过程分为几个阶段,每个阶段都有其特定的目标和方法。以下是其训练过程的详细说明:
1. 文本预处理:
- 图像重描述:首先,CogView3通过自动生成图像的描述性标题来增强训练数据。这涉及到使用语言模型(如GPT-4V)自动生成图像的详细描述,从而提供更丰富、更相关的文本信息。
- 提示扩展:为了使模型能够更好地处理用户可能提供的简短提示,CogView3还探索了扩展用户提示的方法,使其在生成图像时能够更全面地理解用户的意图。
2. 模型框架:
- CogView3的主体是一个具有3个阶段UNet架构的3亿参数的文本到图像扩散模型。模型在潜在图像空间中操作,该空间通过变分KL正则化自编码器从像素空间中压缩了8倍。
3. 训练pipeline:
- 使用Laion-2B作为基础训练数据集,并去除包含政治敏感、色情或暴力内容的图像,以确保训练数据的适当性和质量。
- 基础阶段训练:CogView3的基础阶段模型首先在256×256的图像分辨率上训练600,000步,然后继续在512×512的分辨率上训练200,000步。
- 超分辨率阶段训练:在预训练的512×512模型的基础上,进一步训练1024×1024分辨率的模型100,000步,然后进行20,000步的微调,以实现最终版本的超分辨率模型。
4. Relaying Super-resolution 中继超分辨率:
- 潜在中继扩散:CogView3的第二阶段通过中继扩散进行超分辨率增强,从基础阶段生成的结果开始扩散。与原始的像素级中继扩散不同,CogView3在潜在空间中实现中继扩散,并使用简单的线性变换代替原始的块状模糊。
- 生成过程:在扩散过程的每一步,采样器根据当前的噪声状态和模型参数生成新的样本。
- 逆向过程:在生成图像的逆向过程中,采样器从纯高斯噪声开始,逐步去除噪声,生成清晰的图像。
- 采样器公式:为中继超分辨率设计了特定的采样器,通过反向过程生成图像,该过程结合了去噪和去模糊。
- 它负责在模型的逆向过程中从噪声状态生成清晰的高分辨率图像
(1)正向扩散过程:
q ( x t ∣ x 0 ) = N ( x t ∣ F ( x 0 , t ) , σ t 2 I ) , t ∈ { 0 , … , T } q\left(x t \mid x_0\right)=\mathcal{N}\left(x t \mid F\left(x_0, t\right), \sigma_t^2 I\right), \quad t \in\{0, \ldots, T\} q(xt∣x0)=N(xt∣F(x0,t),σt2I),t∈{0,…,T}
其中:
- x 0 x_0 x0 是初始的高分辨率图像。
- x t x t xt 是时间步 t t t 的图像。
- F ( ⋅ ) F(\cdot) F(⋅) 是从高分辨率图像 x 0 x_0 x0 到低分辨率图像 x L x_L xL 的预定义转换。
- σ t \sigma_t σt 是由噪声调度控制的噪声尺度。
- I I I 是单位矩阵。
(2)反向扩散过程:
反向扩散过程是一个结合去噪和去模糊的过程。它从纯高斯噪声开始, 逐步生成图像。这个过程可以表示为:
q
(
x
t
−
1
∣
x
t
,
x
0
)
=
N
(
x
t
−
1
∣
a
t
x
t
+
b
t
x
^
0
+
c
t
x
0
t
,
δ
t
2
I
)
q\left(x_{t-1} \mid x_t, x_0\right)=\mathcal{N}\left(x_{t-1} \mid a_t x_t+b_t \hat{x}_0+c_t x_0^t, \delta_t^2 I\right)
q(xt−1∣xt,x0)=N(xt−1∣atxt+btx^0+ctx0t,δt2I)
其中:
∘
a
t
=
σ
t
−
1
2
−
δ
t
2
σ
t
2
\circ a_t=\frac{\sigma_{t-1}^2-\delta_t^2}{\sigma_t^2}
∘at=σt2σt−12−δt2
- b t = 1 t b_t=\frac{1}{t} bt=t1
- c t = t − 1 t − a t c_t=\frac{t-1}{t}-a_t ct=tt−1−at
- x ^ 0 \hat{x}_0 x^0 是预测的去噪结果。
- δ t \delta_t δt 表示采样器的随机度。
(3)潜在空间中的中继扩散:
在CogView3中, 中继扩散在潜在空间中进行, 而不是在像素空间中。这个过程可以表示为:
z
t
0
=
F
(
z
0
,
t
)
=
T
r
−
t
T
r
z
0
+
t
T
r
z
L
z_t^0=F\left(z_0, t\right)=\frac{T_r-t}{T_r} z_0+\frac{t}{T_r} z_L
zt0=F(z0,t)=TrTr−tz0+TrtzL
其中:
- z 0 z_0 z0 是初始图像的潜在表示。
- z L z_L zL 是低分辨率图像的潜在表示。
- T r T_r Tr 是中继扩散的开始时间点。
- z t 0 z_t^0 zt0 是时间步 t t t 的潜在表示。
(4)训练目标:
训练目标是最小化去噪后的潜在表示与原始潜在表示之间的差异:
E
x
0
∼
p
data
E
ϵ
∼
N
(
0
,
I
)
∥
D
(
z
t
0
+
σ
t
ϵ
,
t
,
c
text
)
−
z
0
∥
2
\mathbb{E}_{x_0 \sim p_{\text {data }}} \mathbb{E}_{\epsilon \sim \mathcal{N}(0, I)}\left\|D\left(z_t^0+\sigma_t \epsilon, t, c_{\text {text }}\right)-z_0\right\|^2
Ex0∼pdata Eϵ∼N(0,I)
D(zt0+σtϵ,t,ctext )−z0
2
其中:
- D D D 是UNet去噪器函数。
- c t e x t c_{\mathrm{text}} ctext 是输入文本条件。
- z 0 z_0 z0 是原始图像的潜在表示。 z t 0 z_t^0 zt0 是时间步 t t t 的潜在表示
5. 中继扩散的蒸馏:
- 结合渐进式蒸馏方法和中继扩散框架,实现了CogView3的蒸馏版本。在超分辨率阶段,通过将教师模型的两个步骤与学生模型的一个步骤匹配,逐步减少采样步骤,从而减少推理时间。
6. 整体的训练目标:
- 基础阶段:生成512×512分辨率的图像,优化模型以生成高质量的图像。
- 超分辨率阶段:从512×512的输入生成1024×1024分辨率的图像,进一步优化图像的细节和清晰度。
- 蒸馏版本:通过减少采样步骤,生成与原始模型相似质量的图像,但推理时间大大减少。
三、模型效果
几个机器评估的benchmark如下,cogview3的蒸馏版本效果也是很强,对应的评价指标解释:
- Aes:美学评分(Aesthetic Score),衡量图像的美学质量。
- HPS v2:人类偏好评分 v2(Human Preference Score v2),衡量人类对图像的偏好。
- ImageReward:图像奖励(ImageReward),衡量图像的整体质量,包括文本-图像对齐和美学。
- FID:Fréchet Inception Distance,衡量生成图像与真实图像分布之间的差异。
Reference
[1] CogView3: Finer and Faster Text-to-Image Generation via Relay Diffusion
[2] 从Relay Diffusion到Cogview 3:浅谈Noise Scheduling与扩散模型
[3] (2024,CogView3,级联架构,中继扩散,超分辨率,线性模糊,蒸馏)通过中继扩散进行更精细、更快的文本到图像生成
[4] Stable Diffusion 3技术报告:结合DiT,碾压DALL·E 3等模型