论文阅读笔记——Autoregressive Image Generation without Vector Quantization

MAR 论文
基于 VQ(向量量化)的图像生成方法具有显著优势,它通过离散化压缩将原始图像映射到有限的 codebook 空间,从而缩小学习范围、降低建模难度,同时这种离散表示更易于与自回归(AG)生成方式结合,提升多模态任务(如文本到图像生成)的融合能力;然而,该方法也存在明显局限性,包括训练难度较高(容易导致codebook利用率不足,仅部分编码参与计算,严重制约模型表达能力)、解码重建质量欠佳等问题,其根本原因在于VQ本质上是一种有损压缩方式,不可避免会丢失部分信息。
在这里插入图片描述
本文的核心创新点在于彻底摒弃了传统VQ(向量量化)方法,直接进行自回归图像生成。作者提出关键观点:在自回归学习框架下,预测下一个 token x 时,离散化表征并非必要条件——若允许 x 保持连续性,则 VQ 机制自然失去存在价值。为实现这一目标,论文创新性地采用扩散模型(diffusion)的损失函数替代传统的交叉熵损失,从而将x建模为连续概率分布而非离散符号。这一转变不仅绕过了 VQ 带来的信息损失问题,更通过连续空间的建模提升了生成质量。
在这里插入图片描述
当前主流的大语言模型(LLM)普遍采用单向Causal Attention机制,这确实符合语言生成的序列特性(当前词只依赖历史信息)。然而,在图像生成领域,双向Attention可能更具优势——与语言中词与词的线性依赖不同,图像中的像素或patch往往与其周围区域存在空间上的相互影响。通过双向Attention建模这种全局上下文关系,理论上可以更自然地捕捉图像的空间结构特征,同时仍能保持自回归生成的特性(通过适当的掩码机制实现)。这种改进既保留了自回归的序列生成优势,又弥补了单向Attention对图像空间关系建模的不足。

传统的自回归图像生成通常采用固定的序列顺序(如从左到右、从上到下逐行生成图像块),如图(a)所示。然而,本文提出这种固定顺序的生成方式并非最优解。受掩码语言模型(MLM)的启发,论文创新性地提出 掩码自回归(Masked Autoregressive, MAR) 方法——如图(b)所示,模型可以随机选择生成任意位置的图像块,而无需遵循预设顺序。这种灵活生成方式带来两个关键优势:首先,它突破了传统自回归模型的顺序限制,使生成过程更符合图像的空间特性;其次,如图©所示,MAR支持同时预测多个被掩码的图像块,从而显著提升解码速度。这一设计在保持自回归建模优势的同时,实现了更高效的并行化生成。

实验

在这里插入图片描述
(1)在自回归中,用diff loss代替 CE loss,效果都是有提升,说明了diff loss的有效;
(2)在AR下(第一行),diff loss相比 CE loss提升的并不明显,当切换成论文提出的MAR形式,这个提升优势就愈加明显。
(3)在MAR_default(masked AR,就是上述©图形式)下,表现最好,而且即是是CE loss,也是相比之前的变体,也是又很明显的提升,说明masked AR在图像任务的有效性。

### 自回归模型与扩散模型在可扩展图像生成中的比较 自回归模型(Autoregressive Model, ARM)和扩散模型(Diffusion Model, DM)都是当前用于图像生成的强大工具,但在某些特定场景下,ARM表现出更优的性能。以下是关于两者对比的关键点: #### 性能差异 自回归模型的核心优势在于其高效的参数化设计和较低的计算复杂度。具体来说,在大规模数据集上训练时,ARM能够利用条件概率分布逐步构建高质量图像[^1]。相比之下,尽管扩散模型以其灵活性著称,但它们通常需要更多的推理步骤来实现相似质量的结果,这显著增加了运行时间成本。 #### 可扩展性和效率 对于可扩展图像生成任务而言,ARM展现出更高的效率特性。例如,在Llama系列研究中提到的技术表明,通过优化架构设计并引入先进的注意力机制,可以有效减少内存占用同时提升处理速度。此外,《视觉自回归建模》一文中进一步探讨了如何借助“下一尺度预测”的方法增强ARM的能力,使其更适合于高分辨率图片合成需求[^2]。 #### Llama 的应用场景 基于上述理论基础之上开发出来的Llama不仅限于自然语言处理领域,在计算机视觉方向也有广泛的应用前景。特别是在跨模态学习方面,它可以通过融合文本信息指导图像创作过程;或者反过来,依据给定图形素材推测可能对应的描述语句。这种双向映射关系极大地拓宽了AI系统的表达能力边界。 ```python import torch from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama") model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama") input_text = "Generate an image of a cat." inputs = tokenizer(input_text, return_tensors="pt").to('cuda') outputs = model.generate(**inputs) print(tokenizer.decode(outputs[0], skip_special_tokens=True)) ``` 以上代码片段展示了如何使用预训练好的Llama模型来进行简单的图文转换实验。实际部署过程中还需要考虑更多细节调整以满足不同业务场景下的定制化要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值