论文学习——Vector Quantized Diffusion Model for Text-to-Image Synthesis

文章目录

    • 引言
    • 正文
      • Abstract
          • 文章的核心
          • VQ潜在空间适合文本转图片生成
          • VQDiffusion的比起自回归和GAN的其他模型的成果
      • Introduction
          • NLP的成功给图片生成的启发
          • 自回归模型的单向误差解释
          • 预测误差累积
          • VQDiffusion能够解决预测误差累计和单向误差两个问题
          • 解决单向误差的方式——每一次预测都是考虑所有token的上下文信息
          • 解决错误累积的方式——使用基于掩码和替换的扩散策略
          • 模型测试实验
          • 扩散模型的生成速度快,生成质量高
      • Background:Learning Discrete Latent Space of Image Via VQ-VAE
          • transformer的作用——为什么使用VQVAE
      • 4 Vector Quantized Diffusion Model
          • 公式化简——文本和图片的相互转换
          • 自回归模型局限性1——顺序预测,忽略图形的空间结构
          • 自回归模型的局限性2——测试训练偏差
          • 自回归模型的局限性3——生成费时间
          • 模型提出的关键
        • 4.1 Discrete diffusion process离散扩散过程
          • 扩散模型中关键部分——转换矩阵的定义
          • 常规的扩散模型转换矩阵的问题
        • Mask-and-replace diffusion strategy
      • Model Architecture模型结构
      • Fast Inference strategy快速推理阶段

引言

  • 这篇文章描述的模型是将vqvae模型和扩散模型结合,进行图片生成。刚好可以用到当前的项目中,使用自回归模型进行音频信息生成,太浪费时间了。

正文

Abstract

文章的核心
  • 提出VQ-Diffusion,矢量量化扩散模型,使用最近开发的DDPM对潜在空间进行建模。
VQ潜在空间适合文本转图片生成
  • 避免现存方法都有的单向误差的出现
  • 融合掩码和替换策略,避免错误累计。
VQDiffusion的比起自回归和GAN的其他模型的成果
  • 同参数下,生成的图片的时间和质量都好于自回归模型
  • 同参数下,生成样本的多样性和质量,都好于GAN模型,而且能够处理更加复杂的场景。

Introduction

NLP的成功给图片生成的启发
  • transformer和注意力机制的在文本生成领域很成功,然后应用到图片生成领域,也很成功,尤其是自回归模型,DALLE就是他的应用样例。
自回归模型的单向误差解释
  • 因为自回归模型需要按照样本的时序信息,从左到右,从上到下,按照特定的方向,进行生成。但是图片的信心不仅仅是来自这两个方向,可能会来自于四面八方,这就到了非自然误差。
预测误差累积
  • 因为当前的预测结果只能根据上一个状态的采样结果,如果上一个状态出现了误差,就会影响当前预测结果,并出现错误累计。然后这个错误会不断传播累积,并影响到后续的所有的样本。
  • 训练过程不会出现,因为训练过程中,会出现真实样本进行引导,并且还有teacher-forcing策略进行引导。
VQDiffusion能够解决预测误差累计和单向误差两个问题
  • 我们提出的VQDiffusion能够解决这两个问题,他是以矢量量化之后的码本序列作为潜在空间,使用扩散模型进行生成。我们提出的模型十分适合文本图片生成。
  • 前向过程是基于马尔可夫链逐步进行破坏输入,采样过程是上述过程的反过程,从前向过程中学习到的分布进行采样。一开始是一个单纯地噪声,然后逐渐对噪声进行降噪,知道生成目标图片。
解决单向误差的方式——每一次预测都是考虑所有token的上下文信息
  • 整个扩散模型是由独立的文本编码器和基于扩散模型的图片解码器构成,其中解码器是在离散的图片编码上执行扩散模型。在推理的第一阶段,所有的图片编码要么是被遮住的,要么是随机的。
  • 扩散模型根据输入的文本编码一个一个估计每一个图片编码的概率密度。每一步推理过程中,扩散模型解码器会利用上一步预测的整个图片的token的所有上下文信息,估计当前分布的概率密度,预测当前步骤下的token。因为预测每一个token都是同时考虑所有上下文,所以清除了单向误差的出现。
解决错误累积的方式——使用基于掩码和替换的扩散策略
  • 故意引入带有遮罩的token和随机的token,让网络模型能够学习预测被遮住的token并且改掉错误的token。在推理阶段,我们会一次更新所有token的概率密度函数,然后根据新的分布,重新对每一个token进行采样。所以我们可以改掉错误的token,避免错误累计。
  • 与传统的无条件图像生成的仅替换扩散策略[1]相比,**掩码标记有效地将网络的注意力引导到掩码区域,从而大大减少了网络要检查的令牌组合的数量。**这种掩码替换扩散策略显着加速了网络的收敛性。
模型测试实验
  • 模型生成效果很棒,比GAN模型能够处理更加复杂的场景。比起大模型,针对特定类型的图片,见过的图片,生成效果会更好。
扩散模型的生成速度快,生成质量高
  • 扩散模型是一次性预测所有的token的数据分布,并不是像自会规模型一样,逐个进行预测,所以生成速率和生成图片的分辨率无关。

Background:Learning Discrete Latent Space of Image Via VQ-VAE

transformer的作用——为什么使用VQVAE
  • transformer是将文本映射被为图片,但是他的计算量取决于文本的长度,是文本长度的平方,这不行。为了降低运算,将像素映射为特定的token,借此来降低计算量。
  • 这就必须要用矢量量化变分编码器了VQVAE。

4 Vector Quantized Diffusion Model

公式化简——文本和图片的相互转换
  • 将图片转为码本序列 x ∈ Z N x \in \mathbb{Z}^N xZN,这个 N N N表示编码的长度,如果码本的个数是K,那么在特定未知的编码序号 x i x_i xi表示为 x i ∈ { 1 , 2 , … , K } x^i \in \{1,2,\ldots,K\} xi{1,2,,K} .文本编码token定义如下 y ∈ Z M y \in \mathbb{Z}^M yZM.文本转为图片问题,就可以定义为最大化条件概率 q ( x ∣ y ) q(x|y) q(xy)
自回归模型局限性1——顺序预测,忽略图形的空间结构
  • 图形是二维的,然后在自回归模型只能单向预测,从左到右进行扫描,完全忽略了图片的空间结构。而且,图片中某一个位置的上下文信息不仅仅包括左和上两个方向。
自回归模型的局限性2——测试训练偏差
  • 训练的时候用的是真实的数据集,但是在推理阶段,每一步都是根据之前的预测结果做出的估计,会出现错误累计。
自回归模型的局限性3——生成费时间
  • 生成每一个token都需要完整地过一遍模型,即使生成的而是那种很小的图片,也会这样。
模型提出的关键
  • 针对上述的所有问题,使用非自回归的方式对VQVAE的潜在特征空间进行建模。
  • 所提出的VQ-Diffusion方法利用扩散模型[23,59]最大化概率q(x|y),目前对于扩散模型的研究都是集中在连续扩散模型上,少有是建立在条件离散扩散模型的。
4.1 Discrete diffusion process离散扩散过程
扩散模型中关键部分——转换矩阵的定义
  • 从一个更高的维度上来,前向扩散过程,就是通过马尔可夫链 q ( x t ∣ x t − 1 ) q(x_t|x_{t-1}) q(xtxt1)逐渐破坏图片数据 x 0 x_0 x0,比如说随机取代状态 x t − 1 x_{t-1} xt1的一些token。经过固定T步之后,前向过程产生了若干个 x i x_i xi的带有噪声的token序列,最终的 x T x_T xT是一个完全是噪声的状态。反向过程就是,根据分布 q ( x t − 1 ∣ x t , x 0 ) q(x_{t-1}|x_t,x_0) q(xt1xt,x0)进行抽样,从 x T x_T xT逐步还原成最初的 x 0 x_0 x0的状态。但是在推理阶段, x 0 x_0 x0是不可知的,所以我们使用transformer网络基于整个数据分布,去近似分布 q ( x t − 1 ∣ x t , x 0 ) q(x_{t-1}|x_t,x_0) q(xt1xt,x0).
  • 再具体一点,这里定义一个转换矩阵,是K*K维度的,用来表示状态 x t − 1 x_{t-1} xt1变为 x t x_t xt的概率矩阵,前向马卡洛夫的扩散过程可以写成如下的形式 q ( x t ∣ x t − 1 ) = v T ( x t ) Q t v ( x t − 1 ) q(x_t|x_{t-1}) = v^{\text{T}}(x_t)Q_tv(x_{t-1}) q(xtxt1)=vT(xt)Qtv(xt1)
  • 因为马尔洛夫链属性,可以边缘化中间步骤,可以从 x 0 x_0 x0推断出任何一个中间步骤,具体定义如下。

在这里插入图片描述

  • 根据贝叶斯公式替换,将由 x t x_t xt推导出 x t − 1 x_{t-1} xt1的公式转换如下
    论文学习——Vector Quantized Diffusion Model for Text-to-Image Synthesis_第1张图片
常规的扩散模型转换矩阵的问题
  • 关键就是需要好好设计一下这个转换矩阵 Q t Qt Qt,这样从噪声中恢复模型就不是很困难了。
  • 之前的工作中,以前的研究主要是往这个转换矩阵中增加一些正态噪声,定义如下
    论文学习——Vector Quantized Diffusion Model for Text-to-Image Synthesis_第2张图片
  • 均匀扩散造成数据腐败是一个相对激进的过程,这可能对反向估计构成挑战。首先,不同于对序数数据使用高斯扩散过程,在这个过程中一个图像token可能被完全不相关的类别替换,这导致了该token的突然语义变化。
  • 其次,网络需要额外的努力来确定在修复它们之前哪些token已被替换。事实上,由于在局部上下文中语义冲突的不同,反向估计对于冲突的图像token来说是一个复杂任务,并且它陷入了识别可靠token以便正确重建原始图像的困境。
Mask-and-replace diffusion strategy

Model Architecture模型结构

  • 我们提出了编码和解码的transformer去估计分布 p θ ( x 0 ∣ x t , y ) p_{\theta}(x_0 | x_t,y) pθ(x0xt,y)如图一,整个框架是由两部分构成,分别是文本编码器还有扩散模型图片解码器。
  • 文本编码器获取文本的token,然后生成条件特征序列。
  • 扩散图片解码器获取图片token,和时间步骤t,输出没有噪声的token分布 p θ ( x 0 ∣ x t , y ) p_{\theta}(x_0 | x_t,y) pθ(x0xt,y)
  • 整个解码器包含多个几个transformer模块和softmax层
  • 每一个transformer模块包含一个全注意力模块,一个交叉注意力模块去组合组合文本信息,还有一个前馈网络模块。
  • 当前的时间步骤t,通过AdaLN被注入到网络结构中

Fast Inference strategy快速推理阶段

  • 在推理阶段可以利用重参数化技巧,跳过很多步骤,实现快速推理。
  • 具体来说,假设时间步长是 Δ t \Delta_t Δt,正常的马尔科夫采样链如下, x T x_T xT x T − 1 x_{T-1} xT1, x T − 2 x_{T-2} xT2, x 0 x_{0} x0,但是我们的采样顺序是夸时间步长的 x T − Δ t x_{T - \Delta_t} xTΔt x T − 2 Δ t x_{T - 2\Delta_t} xT2Δt, x T − 3 Δ t x_{T - 3\Delta_t} xT3Δt, x 0 x_{0} x0.反向转换分布如下

论文学习——Vector Quantized Diffusion Model for Text-to-Image Synthesis_第3张图片

  • 通过上述过程进行采样,在加快采样速度的同时,并不会对图片的生成质量有所降低。

  • 训练的算法描述如下
    论文学习——Vector Quantized Diffusion Model for Text-to-Image Synthesis_第4张图片

  • 推理的算法描述如下

论文学习——Vector Quantized Diffusion Model for Text-to-Image Synthesis_第5张图片

你可能感兴趣的:(音频生成,学习)