【生成模型之十四】Visual Autoregressive Modeling

论文:Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction

code:GitHub - FoundationVision/VAR: [NeurIPS 2024 Best Paper][GPT beats diffusion🔥] [scaling laws in visual generation📈] Official impl. of "Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction". An *ultra-simple, user-friendly yet state-of-the-art* codebase for autoregressive image generation!

一、背景

我们提出了视觉自回归建模(VAR),这是一种新一代范式,将图像的自回归学习重新定义为从粗到细的"next-scale prediction"或"next-resolution prediction",与标准的"next-token prediction"不同。这种简单直观的方法允许自回归(AR)Transformer快速学习视觉分布,并且可以很好地泛化。large AR模型强调scalability and generalizabilty

VQGAN and DALL-E这些模型利用视觉标记器将连续图像离散化为2D token的网格,然后将其展平为1D序列以进行AR学习(图2b),反映了顺序语言建模的过程(图2a)。

二、方法

image VAR:multi-scale token maps 是从粗到细(从低到高分辨率)自回归生成的,每个尺度内都有并行token生成。VAR需要多尺度VQVAE才能工作。

自回归建模需要定义数据的顺序。我们的工作重新考虑了如何"排序"图像:人类通常以层次化的方式感知或创建图像,首先限制全局结构,然后限制局部细节。这种多尺度、从粗到细的性质表明了图像的"顺序"。

VAR实现方式:我们的方法首先将图像编码为multi-scale token maps。然后,渐进过程从1×1的token映射开始,并在分辨率上逐渐扩展:在每一步,transformer都会根据所有先前的token映射预测下一个更高分辨率的token映射。我们将这种方法称为视觉自回归(VAR)建模。

关于原有的自回归模型弱点的讨论。tokenizer和flatten方法允许对图像进行下一个token自回归学习,但引入了几个问题:

1.Mathematical premise violation(违反数学前提);在量化自编码器(VQVAE)中,编码器通常会生成一个图像特征图f,其中包含所有i,j的相互依赖的特征向量f(i,j)。因此,在量化和flatten之后,令牌序列(x1,x2,...,xh×w)保持双向相关性。这与自回归模型的单向依赖假设相矛盾,该假设规定每个标记xt只应依赖于其前缀(x1,x2,...,xt-1)。

2.Inability to perform some zero-shot generalization;与问题1)类似,图像自回归建模的单向性限制了它们在需要双向推理的任务中的泛化能力。例如,给定图像的底部,它无法预测图像的顶部。

3.Structural degradation.

三、Implementation details

VAR tokenizer。如前所述,我们使用vanilla VQVAE架构[30]和具有K个额外卷积(0.03M额外参数)的多尺度量化方案。对于V=4096的所有标度,我们使用共享码本。根据基线[30],我们的tokenizer也在OpenImages[49]上进行了训练,复合损失(5)和空间下采样率为16×。

im为输入图像,E(·) a encoder, and Q(·) a quantizer. a learnable codebook Z ∈ RV ×C containing V vectors. where lookup(Z, v) means taking the v-th vector in codebook Z.

VAR transformer。我们主要关注VAR算法,因此我们保持了简单的模型架构设计。我们采用了类似于GPT-2和VQ-GAN[66,30]的具有自适应归一化(AdaLN)的标准decoder-only transformers 的架构,该架构在许多视觉生成模型中得到了广泛采用并被证明是有效的。对于类条件合成,我们使用类嵌入作为开始标记[s],以及AdaLN的条件。

相关推荐
云天AI实战派1 天前
AI 智能体问题排查指南:ChatGPT、API 调用到 Agent 上线失灵的全流程修复手册
大数据·人工智能·python·chatgpt·aigc
captain_AIouo1 天前
聚焦实操赋能,Captain AI系统功能实操指南及价值解读
大数据·人工智能·经验分享·aigc
92year1 天前
用 PydanticAI 写一个类型安全的 AI Agent——依赖注入、工具注册到流式输出全过程
aigc
刘贺同学1 天前
用Hermes一周,它自动生成了4个直接运行的Skill
aigc·ai编程
卷积殉铁子1 天前
OpenClaw不装了,GPT-6硬刚:谁能拿下未来5年AI红利?
人工智能·aigc·openai
秒云1 天前
MIAOYUN | 每周AI新鲜事儿 260430
人工智能·ai·语言模型·aigc·ai编程
PM老周1 天前
AI时代项目管理工具体验测评:功能效率协作与研发团队选型
ai·aigc·团队开发·ai编程
刘贺同学1 天前
拆解 AutoResearch:630 行代码,一晚上百次实验
aigc·ai编程
明天有专业课1 天前
RAG-不写SQL也能查询MySQL数据
面试·aigc