前言
离散视觉tokenizer(Discrete Visual Tokenizers)对于原生多模态大模型的重要性体现在以下几个关键方面:
-
统一表示
:视觉tokenizer能够将图像数据转换成离散的视觉token,这些token与文本token在形式上保持一致,从而允许图像和文本共享同一个表示空间。这种统一使得模型能够跨越模态理解信息,提高了多模态数据处理的效率和效果。
-
高效的信息编码与解码
:通过将高维图像数据降维成少量关键视觉token,视觉tokenizer有效减少了计算复杂度,使得模型能够更高效地处理和理解图像内容。这些token携带图像的核心特征,使得模型在生成和理解图像时能够更加精准和高效。
-
增强模型的泛化能力
:原生多模态大模型利用视觉tokenizer在大量多模态数据上进行预训练,学习到了跨模态的共性和差异,提高了模型的泛化能力。在处理未见过的数据或新任务时,模型能够更好地理解和生成跨模态内容。
-
促进零样本和少样本学习
:如快手和北京大学合作的LaVIT项目所示,优秀的视觉tokenizer使得模型在没有或只有少量样本的情况下,也能完成图像生成等任务。这意味着模型能够基于已有的知识进行灵活的泛化,减少对大量标注数据的依赖。
-
推动技术创新和应用发展
:离散视觉tokenizer的引入,为图像生成、图像编辑、视觉问答、跨模态检索等领域的技术创新提供了新的路径。它不仅推动了AI在创意产业、教育、医疗等领域的应用,还促进了人机交互的新模式,如更加自然和直观的用户界面设计。
-
模型性能超越
:如谷歌和CMU的研究显示,通过采用高质量的视觉tokenizer,语言模型在图像生成任务上的表现首次超越了扩散模型,这证明了视觉tokenizer在提升模型性能方面的重要作用。
综上所述,离散视觉tokenizer是原生多模态大模型能够跨越模态界限,实现高效、灵活且强大的多模态理解和生成能力的核心组件,对于推动人工智能技术进入更广泛的实用化阶段具有不可替代的价值。
Chameleon
https://arxiv.org/pdf/2405.09818
大家好我是爱因:原生的多模态大模型Chameleon:一种早期融合的token-based多模态基础模型(https://zhuanlan.zhihu.com/p/699279666?utm_id=0)
在Chameleon中,对于视觉tokenizer的描述,是这样描述的。
图像分词:我们
根据 Gafni 等人(2022)的研究(即论文Make-a-scene)
,训练了一个新的图像分词器,
它能够将512×512尺寸的图像编码成从一个8192大小的码本中选取的1024个离散token
。为了训练此分词器,我们仅采用授权图像。考虑到生成逼真人脸的重要性,我们在预训练阶段将含有人脸的图像比例提高了2倍。
我们分词器的一个核心缺陷在于重构含有大量文本的图像,这在执行与OCR相关的繁重任务时,限制了我们模型的能力
。
文本分词器:我们利用sentencepiece库(Kudo和Richardson,2018)针对下文概述的训练数据子集,训练了一个新的BPE分词器(Sennrich等人,2016),
其词汇表规模为65,536,该词汇表包含了来自8192个图像码本的token
。
Make-A-Scene
Make-A-Scene: Scene-Based Text-to-Image Generation with Human Priorsarxiv.org/pdf/2203.13131
在Make-A-Scene论文中,对于视觉tokenizer的描述,是这样描述的。
图像分词
基于离散表示的图像生成模型遵循两阶段训练方案。首先,训练一个图像分词器以提取离散的图像表示。在第二阶段,生成模型在离散的潜在空间中生成图像。
-
受向量量化(VQ)技术启发,
VQ-VAE 通过在线聚类学习提取离散的潜在表示
。
-
VQ-VAE-2 提出了一种分层架构,该架构由在多个尺度上操作的VQ-VAE模型组成,相比像素空间生成,实现了更快的生成速度
。
-
DALL-E 文本到图像模型采用了dVAE,利用gumbel-softmax [26, 39]放松了VQ-VAE的在线聚类
。
-
VQGAN 在VQ-VAE重建任务的基础上加入了对抗性损失和感知损失
,生成了质量更高的重建图像。
-
在我们的工作中,
我们通过向特定图像区域(如人脸和显著对象)添加感知损失来修改VQGAN框架
,这进一步提高了生成图像的保真度。
VQ-VAE
https://arxiv.org/pdf/1711.00937
[论文简析]VQ-VAE:Neural discrete representation learning[1711.00937](https://www.bilibili.com/video/BV1bb4y1i7j6/)
与我们的方法最相关的或许是变分自编码器(VAEs)。VAEs包含以下组成部分:一个编码器网络,它根据输入数据x参数化离散潜在随机变量z的后验分布q(z|x);一个先验分布p(z);以及一个对输入数据具有p(x|z)分布的解码器。
通常情况下,VAEs中的后验和先验假设为具有对角协方差的正态分布,这允许采用高斯重参数化技巧。扩展内容包括自回归的先验和后验模型、正规化流,以及逆自回归的后验[22]。
在本工作中,我们引入了VQ-VAE,其中我们
使用离散的潜在变量,并借鉴了向量量化(VQ)的新训练方式
。这里的后验和先验分布是分类分布,从这些分布中抽取的样本索引了一个嵌入表。这些嵌入随后被用作解码器网络的输入。
左边:描绘VQ-VAE的示意图。右边:嵌入空间的可视化。编码器输出z(x)被映射到最近的点e2。梯度∇zL(以红色显示)将促使编码器改变其输出,这可能在下一次正向传播中改变配置。
图像中包含大量冗余信息,因为大多数像素都是相互关联且含有噪声的,因此在像素级别学习模型可能会比较低效
。
在这个实验中,我们展示可以通过一个纯粹的反卷积过程p(x|z),将128×128×3尺寸的图像压缩到z = 32×32×1的离散空间(其中K=512),从而实现压缩。
这一压缩大约减少了128×128×3×8 / 32×32×9 ≈ 42.6倍
。我们通过学习一个强大的先验(PixelCNN)覆盖z来对图像建模。这不仅极大地加速了训练和采样的速度,而且还利用了PixelCNN的能力来捕捉图像的全局结构,而非低层次的统计特性。
注意,上面计算压缩比时,分子中的8指的是图像是用8位二进制表示的,离散空间的K是512(K可以理解为词表大小),512是2的9次方,分母中的9就是这么来的。视觉token的数量32x32=1024,因此
一张图会被转换为1024个离散的token
。
左侧:ImageNet中的128x128x3尺寸图像,右侧:通过使用K=512的32x32x1潜空间的VQ-VAE重建的图像。
VQ-VAE 2
Generating Diverse High-Fidelity Images with VQ-VAE-2(https://arxiv.org/pdf/1906.00446)
我们探究了使用向量量化变分自编码器(VQ-VAE)模型进行大规模图像生成的可能性。为此,我们对VQ-VAE中使用的自回归先验进行了扩展和增强,从而生成比以往更高连贯性和保真度的合成样本。我们采用了简单的前馈编码器和解码器网络,使得我们的模型成为那些对编码和/或解码速度有严格要求的应用场景下的有力候选者。此外,VQ-VAE仅需在压缩的潜在空间中对自回归模型进行采样,这一过程比在像素空间中采样快一个数量级,特别是在处理大图像时。我们证明了通过多层次分级组织的VQ-VAE,并结合对潜在代码的强大先验知识,能够在诸如ImageNet这样的多面向数据集上生成质量可与当前最先进的生成对抗网络(GANs)相媲美的样本,同时避免了GAN已知的问题,比如模式坍塌和多样性缺失。
所提出的方法遵循两阶段的方法:首先,我们训练一个分层的VQ-VAE(见图2a),将图像编码到一个离散的潜在空间上;接着,我们在由所有数据诱导出的离散潜在空间上拟合一个强大的PixelCNN先验模型。
VQ-VAE 2的架构
来自一个具有三层潜在映射的分层VQ-VAE的重建图像(顶部、中间、底部)。最右侧的图像是原始图像。每个潜在映射都为重建图像增添了额外的细节。这些潜在映射相对于原始图像分别大约缩小了3072倍、768倍、192倍。
dVAE
DVAE#: Discrete Variational Autoencoders with Relaxed Boltzmann Priors(https://arxiv.org/pdf/1805.07445)
dVAE & VQ-VAE(https://www.bilibili.com/video/BV1bv4y1S7Rq/)
玻尔兹曼机是强大的概率模型,已被证实作为变分自编码器(VAEs)中二进制潜在变量的有效先验。然而,以往训练离散VAEs的方法采用了
证据下界(ELBO)
,而非更紧致的重要权重下界。
我们提出了两种放松玻尔兹曼机至连续分布的方法,从而允许采用重要性加权下界进行训练
。这两种放松方式分别基于广义重叠变换和高斯积分技巧。在MNIST和OMNIGLOT数据集上的实验表明,这些放松方法的表现超越了以往采用玻尔兹曼先验的离散VAEs。复现这些结果的实现代码可于https://github.com/QuadrantAI/dvae 获取。
VQ-GAN
Taming Transformers for High-Resolution Image Synthesis(https://arxiv.org/pdf/2012.09841)
设计用于学习序列数据上的长程交互,Transformer继续在各种任务上展现出最先进的成果。与CNNs不同,它们不包含优先考虑局部交互的归纳偏见。这使得它们具有表达力,但对于长序列,如高分辨率图像,计算上不可行。
我们展示了如何将CNNs的归纳偏见的有效性与Transformer的表达力结合起来,使它们能够建模并因此合成高分辨率图像
。我们展示了如何(i)使用CNNs学习图像成分的丰富上下文词汇,并反过来(ii)利用Transformer高效地建模它们在高分辨率图像中的组合。我们的方法很容易应用于条件合成任务,其中非空间信息,如图像类别,和空间信息,如图像分割,都可以控制生成的图像。特别是,我们展示了使用Transformer进行语义引导的百万像素图像合成的首个结果,并在基于类别的ImageNet上获得了自回归模型中的最新成果。代码和预训练模型可在https://git.io/JnyvK找到。
图2。我们的方法使用卷积VQGAN学习一个上下文丰富的视觉部分的编码本,其组合随后被自回归Transformer架构建模。一个离散的编码本提供了这些架构之间的接口,基于patch的判别器能够在保持高感知质量的同时实现强压缩。这种方法将卷积方法的效率引入到基于Transformer的高分辨率图像合成中。
DALL-E
Zero-Shot Text-to-Image Generation(https://arxiv.org/pdf/2102.12092)
文本到图像生成传统上专注于为在固定数据集上训练找到更好的建模假设。这些假设可能涉及复杂的架构、辅助损失或在训练期间提供的辅助信息,如对象部分标签或分割掩码。我们描述了一种基于Transformer的简单方法,该Transformer自回归地建模文本和图像tokens作为单一数据流。有了足够的数据和规模,我们的方法在与之前的特定领域模型进行零样本评估时具有竞争力。
我们通过采用与(Oord等人,2017年;Razavi等人,2019年)类似的两阶段训练程序来解决这些问题:
阶段1。我们训练一个离散变分自编码器(
dVAE
)来将每张256×256的RGB图像压缩成一个
32×32的图像token网格
,网格中的每个元素可以取
8192
种可能的值。这将transformer的上下文大小减少了192倍,同时视觉质量没有大幅下降(见图1)。
• 阶段2。我们
将最多256个BPE编码的文本token与32×32=1024的图像token拼接起来,并训练一个自回归transformer来对文本令牌和图像令牌的联合分布进行建模
。
原始图像(顶部)和离散VAE的重构(底部)的比较。编码器将空间分辨率降低8倍。虽然细节(例如,猫的毛发的纹理、店面的文字和插图中的细线)有时会丢失或扭曲,但图像的主要特征通常仍然可以识别。我们使用8192的大词汇表大小来减轻信息丢失。
BEIT
BEIT: BERT Pre-Training of Image Transformers(https://arxiv.org/pdf/2106.08254)
AI论文精读之BEIT(https://www.bilibili.com/video/BV1G24y1G7vA/)
我们介绍了一个自监督视觉表示模型BEIT,它代表来自图像Transformer的双向编码器表示。遵循自然语言处理领域开发的BERT,我们
提出了一个掩码图像建模任务来预训练视觉Transformer
。具体来说,我们的预训练中
每张图像有两个视角,即图像块(例如16×16像素)和视觉tokens(即离散tokens)
。我们首先将原始图像“分词”成视觉tokens。然后我们随机遮罩一些图像块并将其输入到骨干Transformer中。预训练的目标是基于损坏的图像块恢复原始视觉tokens。预训练BEIT后,我们通过在预训练编码器上附加任务层直接微调模型参数。在图像分类和语义分割上的实验结果显示,我们的模型与之前的预训练方法取得了竞争力的结果。
BEIT预训练的概述。在预训练之前,我们通过自动编码风格的重建学习一个“图像分词器”,其中图像根据学习的词汇表被分词成离散的视觉tokens。在预训练期间,每张图像有两个视角,即图像块和视觉tokens。我们随机遮罩一定比例的图像块(图中的灰色块),并将它们替换为特殊的掩码嵌入[M]。然后这些块被输
与自然语言类似,我们将图像表示为由“图像分词器”获得的离散tokens序列,而不是原始像素。具体来说,我们将图像x 分词成z,其中词汇表V = {1, . . . , |V|}包含离散token索引。