深入理解序列图像生成中颜色强度的连续化

Wings Lv3

颜色强度的离散性和连续性建模

上一章中介绍了可以通过序列生成的方式来控制图像生成的“效率”。在论文[1]中提出,我们可以直接通过对颜色强度离散化后,将其看做是分类任务进行模型参数的学习。

正如之前的文章所述,分类任务在计算机中只是一个ID编号(具有可交换性),如果用ID编号对离散的颜色强度进行建模就会导致数据稀疏性,而且离散的数量越多,数据稀疏的情况越明显。直觉上,相近的颜色出现的概率应该也接近,具有一定的连续性。

首先颜色强度$v \in [-1, 1]$本身在颜色区间上是稠密的,其次,颜色出现的概率$p$本身也是稠密的,所以很自然会联系起,他们之间是否存在某个连续的概率密度函数$f \in C^0$使两者相互对应,在论文[2]中,作者直接对其做一个连续性假设。在深度学习领域中,最好还要能一阶可微,这样方便进行梯度计算从而更新模型参数。

连续的概率密度函数假设

假设在颜色强度$v \in [-1, 1]$之间,存在一个连续的概率密度函数$f \in C^0$,使其有$f(v) \ge 0$,$\int_{-\infty}^{\infty} f(v) \mathrm{d}v = \int_{-1}^{1} f(v) \mathrm{d}v = 1$。

有了连续性假设以后,最直接的好处是,在以往离散颜色强度(比如0-255离散)中,如果颜色强度数值100和102都很高,但是101却没有数据或数据较少,此时通过给定概率密度函数的连续性,就能够通过类似插值将该数值“补充”出来而不至于差距太大,对于没记录的离散颜色强度如100.5, 101.5也都能够补充出来。

最大似然估计导出优化目标

接着,在该任务中,概率密度函数是通过给定数据求得的,而其中就可以使用最大似然估计去得到该概率目的函数,其核心思想是,通过给出待定概率密度函数的参数$\Theta$,通过观测的数据$X$利用最大似然估计去计算这些参数从而确定概率密度函数,即有:

$$
\begin{equation}
\arg \max_{\Theta} p(X; \Theta),
\end{equation}
$$

正如之前的文章所述,我们将一个$n \times n$的图像看做是序列问题有$X = (x_1, x_2, \dots, x_{n^2})$,其生成过程是一个条件概率连乘的过程有:

$$
\begin{equation}
p(X) = \prod_{i=1} ^{n^2} p(x_i | x_1, x_2, \dots x_{i-1}),
\end{equation}
$$

所以对于带有待定系数的概率函数来说,给定观测数据集$\mathcal{D}$中的图片$X \in \mathcal{D}$,希望其生成的概率最大化即有:

$$
\begin{equation}
\begin{aligned}
\arg& \max_{\Theta} \prod _{X \in \mathcal{D}} p(X; \Theta), \

\arg& \max_{\Theta} \prod _{X \in \mathcal{D}}\prod_{i = 1} ^{n^2} p(x_i | x_1,\dots,x_{i_1};\Theta),

\end{aligned}
\end{equation}
$$

所以对于在数据集$\mathcal{D}$出现的图片数据取负对数形式就有:

$$
\begin{equation}
\arg \min_{\Theta} - \log \sum_{X \in \mathcal{D}} \sum_{i = 1}^{n^2} p(x_i |x_1, \dots; \Theta),
\end{equation}
$$

所以为了能够让该目标函数下降,还得要求$p(x)$是可微的。

序列图像生成的采样方法

在没有进行概率建模之前,PixelCNN直接针对颜色强度进行离散化,离散后的颜色强度在Softmax下就是一个概率分布,通过这个离散的概率分布进行采样。

而进行概率密度函数建模以后,训练好的模型给出的是概率密度函数$p(x_i|x_1 \dots, x_{i-1};\Theta)$。对于连续的概率密度函数,计算机是无法直接对连续的颜色强度进行采样,此时就可以采用逆变换法来进行采样,其原理是:

通过概率密度函数$p(x)$得到概率分布函数$F(x)$,由于$p(x) \ge 0$的性质,所以$F(x)$一定是一个单调递增函数,所以有其反函数$F^{(-1)}$可以对$x$进行采样:

$$
\begin{equation}
x = F^{(-1)}(u),
\end{equation}
$$

其中自变量$u \sim U[0, 1]$是服从$[0, 1]$区间上的均匀分布。这可以直观理解:概率分布函数$F(x)$的导数是概率密度函数$p(x)$,增长快的地方意味着其对应的概率密度大,在$y$轴上增长较快,也就更容易在均值分布中采样到。通过这种方式,我们就能够根据模型给出的概率分布函数随机采样对应的连续的颜色强度。

简单总结一下

在这里我们能够看到,同样是从最大似然估计出发,但其对象不一样的时候,中间的建模过程是不一样的,但若不关注对象本身的分类和回归的属性,在外的行为实际上仍然是一样的,或者说,在这里真正的区别并不是离散和连续的区别,而是分类和回归的区别:

  • 分类对象:分类本身作为概率分布导出损失函数和采样过程。
  • 回归对象:将其进行连续化建模,通过给定的连续密度函数进行拟合,再导出损失函数和采样过程。

对概率密度函数部分展开

接下来,针对密度函数展开来说。首先,从上述推导来看,只要是带有连续可微的密度函数都可以采用,比如高斯分布,逻辑斯蒂分布,在这里将具体展开讲。

混合的概率密度函数

由于我们是通过给定的概率密度函数进行“拟合”,但在这里还可能存在一个问题是,数据观测到的分布并不符合某个特定的分布也不知道这个观察数据的分布是什么分布,所以如果单独使用某个特定的分布大概率是“拟合”不好的;其次,可能观测数据是几个分布的混合,比如类似高斯分布的混合,在概率密度上,在几个数值上具有几个高峰存在。

所以,在这里,可以采用混合的概率密度函数来对观察数据的概率密度函数进行建模,这类似于,多项式拟合,原始数据可能是一个三次多项式的数据,如果采用线性函数拟合是拟合不好的,但如果采用的是高于三次多项式的函数,最多高次方的系数为0,其余系数拟合三次多项式的数据是有拟合好的能力。

所以为了拟合上述这种情况,我们采用混合的密度函数,给定多个概率函数有$p_i(x;\Theta_i)$,其中$p_i$可以是任意的概率密度函数,$\Theta_i$是该概率密度函数的控制变量集合。这里可以通过权重$\pi_i,\sum_i \pi_i = 1$来分配每一个概率函数的权重,这样的组合本身仍然是一个概率密度函数,有定理1

定理1-概率密度函数组合

存在一组概率密度函数$p_i(x;\Theta_i)$,有权重$\pi_i,\sum_i \pi_i = 1$,使得$\sum_{i} \pi_i p_i(x;\Theta_i)$仍然是一个概率密度函数。

证明:每一个概率密度函数$p_i$有概率分布函数$F_i$,其组合$\mathcal{F}(x) = \sum_i\pi_i F_i(x)$,有

$$
\lim_{x\to -\infty} \mathcal{F}(x) = \lim_{x \to -\infty}\sum_{i}\pi_i F_i(x) = 0,
$$

$$
\lim_{x\to \infty} \mathcal{F}(x) = \lim_{x \to \infty}\sum_{i}\pi_i F_i(x) = \sum_{i} \pi_i \lim_{x \to \infty} F_i(x) = \sum_{i} \pi_i * 1 = 1,
$$

所以$\mathcal{F}(x)$仍然是一个概率分布函数,所以$F^\prime(x) = \sum_i\pi_i p_i$是一个概率密度函数。 $\blacksquare$

而在采样的时候,其实是有多种方式来达到的,可以是直接对组合的概率密度函数求反函数,也可以先通过$\pi_i$的概率采样到是哪个概率密度函数以后再利用该函数的反函数进行采样。

逻辑斯蒂函数的反函数

由于采样的时候需要概率分布函数的反函数,而逻辑斯蒂分布的反函数比较容易得到有:

$$
\begin{equation}
\begin{aligned}
F(x) =\frac{1}{1+e^{-(x-\mu)/\gamma}}, \

x = F^{(-1)}(u) = -\gamma \ln \frac{1-u}{u} + \mu,

\end{aligned}
\end{equation}
$$

所以,在上述采样完以后,我们能够通过反函数快速计算得到采样结果。这也是选择逻辑斯蒂函数的一个好处。

总结

本章利用最大似然估计对是连续变量的预测的变量进行建模,并讨论了一下概率密度函数的选择。从这个角度来看,这对于很多本应该是连续的对象,应当从这个视角来进行建模。

参考文献

[1] Van Den Oord A, Kalchbrenner N, Kavukcuoglu K. Pixel recurrent neural networks[C]. International conference on machine learning. PMLR, 2016: 1747-1756.

[2] Salimans T, Karpathy A, Chen X, et al. Pixelcnn++: Improving the pixelcnn with discretized logistic mixture likelihood and other modifications[J]. arXiv preprint arXiv:1701.05517, 2017.

  • 标题: 深入理解序列图像生成中颜色强度的连续化
  • 作者: Wings
  • 创建于 : 2026-05-11 10:00:00
  • 更新于 : 2026-05-11 11:16:58
  • 链接: https://www.wingslab.top/深度学习/深入理解序列图像生成中颜色强度的连续化/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。