图像生成:自回归模型
自回归模型(Autoregressive Models)在图像生成领域扮演着重要角色,它们基于一个核心假设:当前像素值依赖于之前的像素值。这种依赖关系可以通过条件概率来表达,其中每一个像素的生成都是基于之前已经生成的像素的条件分布。在传统的视觉自回归图像生成任务中,这通常意味着从左到右和从上到下的顺序生成每个像素。
自回归模型的数学定义
自回归(Autoregressive,简称AR)模型是一种统计模型,用于描述时间序列中的每个值作为其之前值的函数。在机器学习中,自回归模型被广泛应用于序列数据的生成任务,如文本、语音和图像生成。自回归模型通过逐步预测下一个值,依次生成整个序列。
假设有一个序列 ,自回归模型的目标是学习条件概率分布 , 即在给定序列前面部分 的情况下,预测当前值 。
对于一个给定的序列 ,自回归模型的联合概率分布可以分解为以下形式:
在图像生成任务中,图像被看作是一个二维序列。在传统的自回归图像生成模型(VQVAE、VQGAN 等)将图像的像素视作一个一维序列,通过条件概率分布 来生成每个像素值 。
Autoregressive 模型时间线
PixelRNN(2016)
PixelRNN 是早期的自回归模型之一,它使用循环神经网络(RNN)来建模条件概率分布。由于 RNN 能够捕捉长序列依赖性,PixelRNN 能够生成高质量的图像,但是计算效率较低,因为每次生成一个像素都需要遍历整个序列。
PixelCNN(2016)
为了克服 PixelRNN 的计算瓶颈,PixelCNN 使用卷积神经网络(CNN)并引入了遮罩技术,确保每个像素仅依赖于其上方和左侧的像素。
VQ-VAE(2017)
在科学空间:VQ-VAE 的简明介绍中,提到了 VQ-VAE 与之前的 PixelCNN 和 PixelRNN 的关系。
受 PixelCNN 和 PixelRNN 专注于像素级的生成的启发,VQ-VAE(Vector Quantized Variational Autoencoder)提出了另一种方法,通过离散的潜在空间来建模数据。VQ-VAE 的主要贡献在于引入了向量量化层,将连续的潜在变量映射到一组离散的嵌入向量上,从而能够更高效地学习复杂的数据分布。
主要思想:VQ-VAE(Vector Quantized Variational AutoEncoder)通过将连续的图像表示量化为离散的代码来进行图像生成。它引入了一个离散的代码本,将连续的潜在向量映射到离散的代码上,进行编码和解码。
主要贡献:
- 采用向量量化方法,使得生成模型能够高效地处理离散代码。
- 在生成模型中,离散化的潜在空间简化了模型的训练和推理过程。
与之前模型的关系:
- VQ-VAE 在 VAEs(Variational AutoEncoders)的基础上,引入了离散的潜在空间,使得生成效果更好,训练更稳定。
VQVAE-2(2019)
VQVAE-2 是 VQ-VAE 的一个扩展版本,它引入了层次化的结构,使用多个层次的量化向量来建模不同尺度的特征,从而提高了模型的灵活性和生成图像的质量。
主要思想:VQ-VAE-2 引入了多层级的离散潜在变量,通过多层级的自回归模型进行生成。它使用了层次化的编码器和解码器结构,更好地捕捉图像中的复杂结构。
主要贡献:
- 引入了层次化的离散潜在空间,提高了生成图像的质量和分辨率。
- 在多个层级上进行自回归生成,提高了模型对图像全局和局部信息的捕捉能力。
改进点:
- 相较于 VQ-VAE,VQ-VAE-2 通过层次化的设计,显著提升了生成图像的细节和清晰度。
VQGAN(2021)
VQGAN 结合了 VQ-VAE 的思想和生成对抗网络(GANs)的优点。它使用编码器和解码器之间的量化瓶颈,并利用 GAN 框架来优化图像质量。VQGAN 在高分辨率图像生成方面表现出了强大的能力。
主要思想:VQGAN(Vector Quantized Generative Adversarial Networks)结合了 VQ-VAE 的离散潜在表示和 GAN(Generative Adversarial Networks)的对抗训练,提升了生成图像的质量。
主要贡献:
- 利用对抗训练,生成的图像更加逼真和细腻。
- 通过结合 VQ-VAE 和 GAN 的优势,解决了各自方法的一些固有缺陷。
改进点:
- 相较于 VQ-VAE-2,VQGAN 通过对抗训练机制,进一步提升了生成图像的视觉质量。