前言
在之前的文章中我们已经介绍了一些比较经典的图像tokenizer的工作:VQ-VAE、RQ、LFQ和VAR的multi-scale RQ。
在继续看相关工作之前我们首先小结一下自回归图像生成。自回归图像生成源于NLP的训练范式,核心问题有两个:
- 如何将图像离散化为token,并能从token中重建?
- 如何生成token?
对于第二项,图像和文本不同的点在于其并不是严格一维的,所以将token摊平再生成这样扫描式的生成会有位置上的bias。因此学界提出了Mask AR等等方式,我们之后也会介绍。本文的重点则是第一项离散化。有了第一篇文章的铺垫,我们可以来思考图像tokenizer本身了。如何刻画一个好的图像离散AE呢?我们可以列出以下的设计准则:
- 从image到token是一一对应的,也即每张独特的图像只有唯一的一组token与之对应,而给定一组token也只能重建出唯一的图像。
- 得到的token能通过decoder进行(几乎无损地)重建。这要求AE的重建质量比较高,训练时常用的重建loss、GAN、感知loss都是为了这点。同时codebook的vocab size$K$也不能太小。
- codebook的利用率应尽可能高,故而一大改进方向是增大$K$保证重建效果的同时保持尽可能高的codebook利用率。(按VQ-GAN-LC的算法,codebook利用率是训练完成后所有独特的token与$K$的比值)
- 量化方法最好和生成或者任务有联动。例如VAR就设计了用不同scale的token表示图片,从而利于不同scale的生成。
同时我们对可能用到的术语做一个阐述。首先我们需要有一个encoder将图像$img\in\mathbb R^{3\times H\times W}$encode为logits(或称feature map)$z\in\mathbb R^{h\times w\times d}$,而后将$z$离散化为一组整数$i$,这个过程称为tokenize;而后根据整数作为index从codebook中取对应的feature,组合得到$z_q:=e_i$,称从$z$到$z_q$的过程称为量化。
确定好设计准则后我们继续看图像tokenizer的相关工作。
SPAE: 将图像tokenize到文本codebook内
出自论文:《SPAE: Semantic Pyramid AutoEncoder for Multimodal Generation with Frozen LLMs》,发表在NIPS2023。在大模型爆发的2022/23年,一个自然的想法便是在不训练LLM的情况下让其具有多模态的生成能力,本文便探索了冻结LLM在生成图像方面的能力。