Token导航 LogoToken导航

AI 资讯 · 科技行者

图像生成模型固定token分配方式引发质疑

更新 2026-11-05科技行者正文 7102字阅读约 23分钟

你有没有想过,为什么给一张几乎全是蓝天的照片和一张挤满人群细节的照片,分配同样数量的"信息单元",是一件挺荒唐的事?

这正是图像生成领域里一个长期被忽略的问题。几乎所有主流的图像生成模型,不管是早期的VQ-VAE还是后来红极一时的LlamaGen,都在做同一件事:把图片切成固定数量的格子,不管格子里是晴朗的天空还是繁复的花纹,统统分配一样的"token"(也就是模型理解图像的基本单位)。这篇来自加州大学圣地亚哥分校的论文,就是来拆这个"一刀切"的问题的。

**核心问题:均匀分配,到底哪里不对**

想象你是个编辑,要给一本画册写文字说明。如果这本画册里有一页是纯色背景的封面,另一页是故宫全景的工笔画,你会给这两页分配同样字数的说明文字吗?显然不会。纯色封面可能一句话就说完了,工笔画可能要写上千字才能讲清楚细节。

图像生成模型过去面对的,正是这种"一视同仁"的尴尬。

传统的2D网格式Tokenizer(视觉分词器,负责把图片压缩成模型能处理的离散符号序列)会把一张256×256的图片切成固定的256个token,不管图片内容是什么。这就好比不管一篇文章讲的是什么,硬性规定每页必须写满300个字,结果简单的内容被灌水凑数,复杂的内容却被硬生生砍掉细节。

后来有人想到了另一条路:干脆别用2D网格了,改用1D序列。TiTok、FlexTok这些方法把图片变成一串可变长度的token序列,序列可以根据图片复杂度伸缩。这确实解决了"胖瘦不均"的问题,但带来了一个新麻烦:序列里的token和图片上的具体区域之间,不再有清晰的对应关系了。

这就好比你把一本书打乱重新装订,虽然页数可以根据内容多少灵活调整了,但你再也没法说"第五页对应书里哪个章节"了。这种空间对应关系的丢失,会直接损害图片细节的还原精度,也让这类方法很难用在需要精确空间定位的下游任务上。

论文的作者们意识到,真正需要的是一种中间路线:既要像1D序列那样灵活伸缩,又要像2D网格那样保留空间对应关系。他们给出的答案,是一种叫四叉树(QuadTree,一种将二维空间递归地分成四个象限的树形结构)的经典数据结构。

**四叉树怎么解决这个矛盾**

四叉树这个概念其实在计算机图形学里用了几十年,思路很简单:一块区域如果简单,就不再往下细分;如果复杂,就把它切成四块,每一块根据自己的复杂程度再决定要不要继续切。

论文提出的QuadTok,就是把这个经典思想搬进了视觉Tokenizer里。具体来说,QuadTok默认用两层结构:第一层是8×8的粗粒度网格,代表图片的整体布局;如果某个粗粒度区域内容复杂,就把它展开成2×2共四个子节点,对应16×16网格里更精细的区域。

这里有个技术细节值得展开讲讲。QuadTok并不是简单地把图片切块了事,而是先用一个ViT编码器(Vision Transformer,一种把图片切成小块、用注意力机制处理的视觉模型架构)提取出整张图片的密集特征。

然后,每个四叉树节点会被赋予一个可学习的"指令token",这个指令token记录了自己在树里的层级和空间位置。这些指令token会去"读取"ViT提取出的全局特征,通过注意力机制,把对应区域的视觉信息"抓"到自己身上,变成这个节点的特征表达。

这个过程被称为Aggregator(聚合器,论文中用于把密集的ViT特征汇聚成四叉树节点特征的Transformer模块)。

打个比方,这就像开一场部门汇报会。每个部门代表(指令token)事先知道自己要汇报哪块业务(哪片空间区域,什么层级的细节),然后去公司的大数据库(ViT提取的全局特征)里,专门摘取和自己业务相关的信息,整理成自己的汇报内容。如果没有这套"指令token"机制,每个节点就没法知道自己该负责哪块区域,信息抓取就会变成一锅粥,谁都说不清自己代表了图片的哪个部分。

拿到这些节点特征后,还要经过向量量化(Vector Quantization,把连续的特征向量映射到一个离散的"码本"里最近的那个条目,从而得到离散符号),变成一串串离散的token编号。这串离散编号,就是QuadTok给这张图片最终的"身份证"。

有了离散token之后,还得能把图片重建回来。QuadTok的解码过程也延续了四叉树的层级思路:先用粗粒度的level-1 token恢复出图片的整体轮廓,再用细粒度的level-2 token在对应区域里添加细节。这个过程被称为Hierarchical Decoding(层级解码,按照从粗到细的顺序,逐层叠加细节来重建图像)。

这就像画一幅素描,先用大笔触勾勒出人物的整体轮廓和明暗关系,确认大结构没问题了,再用细笔尖去刻画五官和衣服褶皱。如果反过来,先画细节再补轮廓,很容易出现局部画得很精细但整体比例失调的尴尬结果。

**谁来决定该不该展开:复杂度引导机制**

四叉树这个结构本身只是提供了"可以精细化"的能力,但谁来判断哪块区域值得精细化呢?这是论文里第二个关键问题。

作者们给出的方案叫Region-Wise Complexity Guidance(区域级复杂度引导,一种通过比较展开前后的重建效果差异,来判断某片区域是否值得精细化的数据驱动策略)。

具体做法挺巧妙的。对于同一张图片,随机选一半的粗粒度区域展开成精细节点,构造出一棵"探测树";再构造出它的互补树,也就是把原本没展开的那一半区域展开。这样一来,每个区域都恰好经历过一次"展开"和一次"不展开"的状态,而且是同时进行的,效率很高。

接下来,用这两棵树分别重建图片,和原图做对比,计算每个区域的LPIPS(Learned Perceptual Image Patch Similarity,一种衡量图片感知相似度的指标,比像素级的MSE更贴近人眼的主观感受)损失差异。如果某块区域展开后LPIPS损失明显下降,说明这块区域"展开有用",论文管这个叫重建收益(reconstruction benefit)。只有收益超过某个阈值τ的区域,才会被真正展开成精细节点。

这套机制说白了,就是让模型自己去"试错",看看哪些区域精细化之后画质提升明显,哪些区域精细化了也没多大用。

这跟我们装修房子时请设计师评估预算有点像。预算有限的情况下,设计师不会把每个房间都砸大钱装修,而是会先评估:客厅是待客的主要场所,升级建材带来的观感提升很明显,值得多花钱;储物间反正平时不怎么进去,简单处理就行。如果不做这种评估,要么所有房间都按顶配装修导致预算爆炸,要么所有房间都按最低标准来导致观感很差。QuadTok的复杂度引导机制,就是这个"评估-分配预算"的过程。

实验数据证明了这套机制确实有效。在ImageNet数据集上,一棵"全展开"的四叉树平均需要320个token,重建质量的rFID(reconstruction Fréchet Inception Distance,衡量重建图片和原图分布差异的指标,越低越好)是1.50。而用复杂度引导策略筛选后的"自适应树",平均只需要230个token,rFID反而达到了1.46,比全展开还略好,同时token数量少了28%。

这组对比很说明问题:多花token不一定换来更好的效果,关键是把token花在刀刃上。

**让四叉树"守规矩":亲缘因果掩码**

把四叉树摊平成一维序列喂给Transformer处理时,有个隐患:摊平之后,树原本的层级结构信息会丢失,如果不加约束,标准的自注意力机制会让序列里任意两个token互相"看见"对方,这就可能破坏token和图片区域之间原本清晰的空间对应关系。

为了解决这个问题,论文设计了Kinship Causal Attention(亲缘因果注意力,一种根据四叉树父子关系严格限制token之间注意力交互范围的掩码策略)。

这套规则听起来有点像一个家族的礼仪规矩。粗粒度的父节点们可以互相看见,因为他们代表整张图片的大布局,需要互相协调来确定全局结构。细粒度的子节点可以看见所有的父节点,因为细节的生成需要参考全局语境,但父节点不能反过来看子节点,毕竟全局布局不该被局部细节牵着鼻子走。同一个父节点底下的子节点(也就是"兄弟节点")之间可以互相看见,因为它们属于同一片区域,细化的时候需要互相配合;但不同父节点底下的子节点,互相之间是看不见的。

论文做了个很直观的实验来验证这套规则的必要性。研究者故意扰动了一个细粒度token,换成一个随机的码本索引,然后对比扰动前后的重建图片差异。结果发现,有了亲缘因果掩码的约束,这个扰动造成的影响严格限制在对应的那一小块图片区域内;而去掉这个约束之后,扰动的影响会扩散到整张图片。

这组对比其实揭示了一个很现实的代价权衡。论文的消融实验数据显示,去掉亲缘因果掩码后,重建的rFID反而从1.46略微下降到1.41,看起来好像还变好了;但PSNR(峰值信噪比,衡量像素级重建精度的指标,越高越好)却从20.37大幅跌到19.16,掉了一个多点。更关键的是下游的生成质量:同样用697M参数的生成器,去掉掩码后gFID(生成质量的FID指标)从2.23恶化到3.17。

这说明什么?如果不加这层约束,Tokenizer会悄悄退化成一个普通的1D序列模型,靠牺牲空间对应关系去换取感知层面上看起来还不错的重建效果,但这种"讨巧"的代价是下游生成任务的显著劣化,还顺带丢掉了精确的空间定位能力。这就像一个翻译,为了让译文读起来更通顺,擅自打乱原文的句子顺序和逻辑结构,短期看译文确实流畅了,但原文里精确的因果关系和细节对应全没了,后续想根据译文反查原文具体哪句话对应哪个意思,就彻底没法操作了。

**四叉树的因果性,恰好契合自回归生成**

四叉树结构带来的另一个好处,是它天然适合自回归生成(autoregressive generation,一种按顺序逐个预测token、后面的预测依赖前面已生成内容的生成方式)。

QuadTok把四叉树按照广度优先搜索(BFS,Breadth-First Search,一种先遍历完当前层所有节点、再进入下一层的遍历方式)的顺序摊平成一维序列,粗粒度的token排在前面,细粒度的子token排在后面。这个顺序天然对应着"先画大致轮廓,再补充局部细节"的生成逻辑。

生成器部分用的是LLaMA风格的解码器Transformer(这是目前主流的大语言模型架构,用标准的因果注意力机制,每个token只能看到它前面的token),每一步预测只依赖之前已经生成的视觉编码和当前的条件信息,比如类别标签。

这里有一点需要特别说明:生成器用的是标准因果掩码,而不是Tokenizer训练时用的亲缘因果掩码。也就是说,在生成阶段,模型是严格按照BFS顺序一个接一个预测token的,不存在Tokenizer训练时那种"父子节点特殊交互"的规则了。

实验结果显示,这套生成框架相当能打。947M参数的QuadTok生成器,在ImageNet 256×256的生成基准上拿到了2.08的gFID,相比之下,参数量更大的1.4B RandAR-XXL模型gFID是2.15,QuadTok不仅参数更少,效果还更好。而且因为平均token数量比固定256个token的方案要少,QuadTok在相同批次大小下的生成速度也更快,论文里的实测数据显示,在111M参数规模下,QuadTok的生成速度最高能达到LlamaGen的2.4倍。

论文还做了个有意思的实验,把四叉树扩展到三层,在原本的8×8、16×16基础上再加一层32×32的网格。三层结构下,重建质量进一步提升,三层版本的rFID达到0.770,PSNR达到23.31,比两层版本的1.46和20.37都要好不少,说明这套"按需展开"的思路,层数越深潜力越大,只是计算成本也会随之上升。

**意外的礼物:零样本空间布局控制**

如果故事讲到这里就结束了,QuadTok也不过是一个效率更高的Tokenizer加生成器组合。但论文里最让人意外的部分,是这套结构带来的一个"副产品":零样本空间布局控制能力。

因为四叉树结构里,每个节点都明确对应着图片上的一片具体区域,这种空间对应关系在生成过程中被完整保留了下来。这意味着,如果你在生成之前就指定好"图片的左半边要展开精细节点,右半边保持粗粒度",模型生成出来的主体对象,大概率就会集中出现在左半边。

论文的作者们没有为这个能力专门训练任何新模型,直接复用了在ImageNet上训练好的、参数完全冻结的生成器和Tokenizer,就实现了这种空间控制效果。

这就好比一个熟练的导演,原本只是按剧本顺序拍戏,但因为摄影机的运镜逻辑足够清晰(先拍全景确定构图,再拍特写补充细节),导演突然意识到,只要在开拍前告诉摄影师"这次把镜头焦点预先放在画面左侧",摄影师根本不需要重新培训,自然而然就能拍出主体偏左的画面。这个能力不是刻意设计出来的新功能,而是原有流程结构自带的性质。

论文做了定量验证,选取了左、右、上、下四个方向的半平面区域作为目标,对比"按指定布局生成"和"随机布局生成"两种情况下,生成的主体是否真的出现在目标区域。评估用了三种定位指标:Grad-CAM(一种通过梯度回传来可视化模型关注区域的技术)热力图的质心位置、Grounding DINO(一个开放词汇的目标检测模型)检测框的中心、以及SAM 2(Segment Anything Model 2,一种零样本图像分割模型)生成的掩码质心。

结果相当亮眼。以"左半平面"为目标为例,随机布局下只有29.6%的图片Grad-CAM质心落在左侧,而指定布局后,这个比例跃升到58.3%,提升了近29个百分点。右、上、下三个方向也都有类似的显著提升,涨幅在17到29个百分点之间。更难得的是,这种空间控制带来的画质损失几乎可以忽略,FID-50cls指标的变化范围只在-0.15到+0.12之间,也就是说画质基本没受影响。

**几张表格里能读出什么**

论文给出的核心数据表格值得专门拎出来说一说。

在ImageNet重建任务上,230个token的QuadTok达到了1.46的rFID和20.37的PSNR,对比固定256 token的LlamaGen(downsampling factor为16,也拿到2.19 rFID和20.79 PSNR),QuadTok用更少的token数量,拿到了相近甚至更优的rFID表现,代价是PSNR略低一些。这个PSNR略低的现象,其实呼应了前面提到的"空间对应关系保留"带来的代价,QuadTok为了保持清晰的token-区域对应关系,在纯像素精度上做了一定让步,换来的是感知质量和下游生成能力的提升。

在生成任务的对比表格里,QuadTok-XXL以947M参数拿到2.08 gFID,领先于同等量级甚至更大量级的多数对比方法,包括VAR-d30(2.0B参数,gFID 1.92,这个确实比QuadTok更优)、RandAR-XXL(1.4B参数,gFID 2.15)、GigaTok-XL-XXL(1.4B参数,gFID 1.98)。可以看出QuadTok处于第一梯队,虽然不是绝对最优,但考虑到参数效率,表现相当有竞争力。

零样本迁移到COCO数据集的表格也值得一提。同一个在ImageNet上训练的Tokenizer,不做任何微调,直接拿到COCO验证集上测试,平均token数量是232个,比固定256 token节省了大约9%,rFID是7.88。这说明QuadTok学到的"哪里该展开、哪里该保持粗粒度"的判断能力,并不是针对ImageNet数据特化的过拟合技巧,而是具备一定的跨数据集泛化能力。

**这篇论文留下的伏笔和局限**

论文作者自己也坦承了两个尚未解决的问题。

第一个是规模和模态的限制。目前所有实验都局限在ImageNet这种类别条件生成任务上,还没有扩展到LAION这类开放域大规模数据集,更没有涉及文本到图像的生成这种更复杂的多模态任务。四叉树结构要支撑文本条件的跨模态注意力机制,需要更大的训练算力投入,这是一个明确的待办事项。

第二个局限来自ImageNet数据集本身的偏好。ImageNet里的图片大多是单一主体、以物体为中心的构图,这种数据分布天然限制了零样本空间布局控制能力的上限。QuadTok确实能很好地把主体和背景分离、做基本的区域定位,但面对更复杂的多物体场景、涉及物体间相对关系的复杂布局,这种能力就会遇到瓶颈。模型学到的空间先验,终究受限于训练数据本身的构图多样性。

Q&A

Q1:QuadTok是什么?

A:QuadTok是加州大学圣地亚哥分校团队提出的一种基于四叉树结构的视觉Tokenizer,它能根据图片区域的复杂程度动态分配token数量,复杂区域用更多token精细刻画,简单区域用更少token粗略表示,同时保留token和图片空间位置的明确对应关系。

Q2:QuadTok相比传统方法能省多少token?

A:在ImageNet数据集上,QuadTok平均只用230个token就能达到和固定256 token方案相当甚至更好的重建质量,节省约10%;零样本迁移到COCO数据集后,平均用232个token,节省约9%。

Q3:QuadTok的零样本空间布局控制是怎么实现的?

A:因为四叉树的每个节点都对应图片上的具体区域,只要在生成前指定哪些区域要展开成精细节点,模型就会倾向于把生成的主体对象放在这些区域里,整个过程复用的是已经训练好且参数冻结的模型,不需要额外训练。

文章标签AI资讯

资讯来源:由AI资讯编辑整理自互联网公开内容,版权归原作者所有,未经许可,不得转载。