paper
Motivation: 现在为了将连续的图像数据匹配给离散的Transformer(Auto Regressive)模型, 需要使用Vector Quantization方法(如, VQ-VAE). 但是VQ Tokenizer训练困难, 对梯度近似敏感, 重建质量往往比连续空间的方法更差(如, VAE). 但是本文提出, 自回归本身是根据已有预测未知, 不依赖于数据是离散的还是连续的. 关键的缺失是一个能够在连续值空间中建模每个token概率分布的loss函数
因此, 提出一种新的方法, 在不使用VQ的情况下建模loss分布:
- 提出Diffusion Loss. 用一个小型扩散过程来模拟连续值token的概率分布: , 使得Auto-Regressive模型能够直接预测连续的latent数据
- 提出MAR框架, 融合 Diffusion Loss的Auto-Regressive 和 MAE 的方法, 结合Bidirectional Attention机制, 提高生成速度和质量
训练过程如下:
- 将原始图片经过预训练的VAE, 得到一个latent vector(不需要使用quantize): $$
- 对隐空间vector做随机掩码处理: $\mathcal Mn\frac{|\mathcal M|}{n}0.7\sim1X_{vis}={x_i|i\not\in\mathcal M}X_{mask}={x_j|j\in\mathcal M}$
- 使用Transformer(bidirectional attention)进行观察并生成条件向量, 这个向量总结了周围已知的图像信息, 为后续的denoise提供context, 指导去噪过程: $$
- 使用一个小的MLP网络作为去噪网络: $$其中:
- 噪声来源于高斯采样:
- 表示diffusion加噪的结果:
- 计算重建损失, 或者叫做Diffusion Loss: $$
- Inference的时候, 使用这个公式进行去噪: $$其中:
- 是上一步的噪声, 是一个更加混乱的状态. 是去噪之后的结果. 下标越小, 表示结果越接近真实值; 下标越大, 表示结果越接近噪声
- 是学习到的去噪网络(就是)
- 是一个随机加噪. 是时间步时的噪声标准差, 是一个从里面采样得到的新的噪声. 使用这个是为了降低确定性(不要过拟合), 增强泛化能力
- 同时, 使用MLP(output head, 输出头), 进行多token同时预测