本文将图像视为一种“外语”,并引入了一个名为Vision-to-Language Tokenizer(V2L Tokenizer)的工具,它将连续的视觉信号映射到LLM的token空间。方法使得冻结的LLM能够在不需要在多模态数据集上进行资源密集型微调的情况下理解视觉信号。V2L Tokenizer通过生成全局和局部token来处理图像。
文章链接:https://arxiv.org/pdf/2403.07874.pdf
代码和模型:https://github.com/zh460045050/V2L-Tokenizer
今天和大家分享的这项工作非常有创意,研究和挖掘了大语言模型(LLM)直接理解视觉信号的潜力,而无需在多模态数据集上进行微调。方法的基础概念将图像视为一种语言实体,并将其翻译成LLM词汇表中派生的一组离散单词。为了实现这一点,本文提出了一种名为视觉到语言Tokenizer(Vision-to-Language Tokenizer,简称V2L Tokenizer)的工具,它通过编码器-解码器、LLM词汇表和CLIP模型的共同帮助,将图像转换为一种“外语”。通过这种创新的图像编码,LLM不仅获得了视觉理解的能力,而且还能够以自回归的方式进行图像去噪和恢复————关键是,无需任何微调。严格的实验验证发现,包括图像识别、图像描述、视觉问答等理解任务,以及包括修复、扩展、去模糊和位移恢复等图像去噪任务。
介绍
在自然语言处理(NLP)领域,通过部署大语言模型(LLMs),如GPT、PaLM和LLaMA,已经取得了显著的进步。为了解决需要结合文本和视觉理解的复杂挑战,学者们正在扩展现成LLMs的能力。这种增强涉及整合额外的视觉处理组件,以促进对视觉内容的理解或从文本生成图像。随后,这些改进的模型会使用各种多模态数据集进行额外的再训练或微调,以使视觉潜在空间与语言潜在空间对齐。然而,这种精炼过程通常需要大量的训练资源。
如上图1所示,我们的目标是为大语言模型赋予理解视觉信号的内在能力,重要的是,无需微调。在本方法中,将每个图像视为来自“外语”的语言实体,使其适应普通LLM的输入要求。因此,这种对齐发生在输入(token)空间而不是特征空间中,这区别于以前的多模态方法 ,这些方法需要微调来进行模态对齐。因此,在我们的方法论中,可以避免在多模态数据集上进行微调或再训练的过程。我们的技术将图像翻译成一组离散的token,这些token在LLM的词汇表中。一旦翻译完成,这些token就可以输入到LLM中,使其能够处理和理解视觉信息,从而促进一系列涉及图像理解和去噪的任务。
将图像翻译成一组冻结LLM可以理解的token是一项挑战。这项工作中介绍了一种 Tokenizer ,旨在将图像(一种非语言模态)映射到冻结LLM的输入(token)空间。这种 Tokenizer 被称为视觉到语言 Tokenizer (Vision-to-Language Tokenizer,简称V2L Tokenizer)。V2L Tokenizer的设计灵感来自于VQ-GAN 的成功,采用了编码器-量化器-解码器结构。然而,它的目标是将视觉信息翻译到LLM的token空间,这与它的灵感来源不同,后者旨在学习一个独立的潜在空间,仅用于图像生成。我们的V2L Tokenizer放弃了优化随机初始化的量化器codebook的标准过程;相反,它在整个训练过程中利用LLM的现有词汇作为其量化器codebook。在量化损失函数的指导下,图像在优化过程完成后被转换为一组LLM tokens。
通常,LLM的词汇表由完整的单词和子词单元组成,这是由于使用了诸如BPE和SentencePiece这样的语言Tokenizer。不失一般性,这个词汇表的广度影响其将图像编码为LLM tokens的能力————更大的词汇表通常提供更强大的表示能力。在我们的方法中,我们通过组合其词汇项形成二元组或三元组来扩展LLM的词汇表,这在将图像映射到LLM tokens时显著增加了表示能力。除了将每个图像块转换为语言token外,我们的V2L Tokenizer 还包括提取整个图像的全局表示。我们通过使用来自扩展LLM词汇表的子词、二元组或三元组的组合来实现这一点,以封装图像的全面信息。
在LLM中,上下文学习已被证明对zero-shot推理非常有益。这是通过在LLM推理过程中,在指令文本前加上一些特定领域的示例来实现的。我们的方法避免了LLM微调的必要性,而是采用上下文学习来指导LLM模仿给定的少数样本中的模式。这使得模型能够更好地理解“外语”(即视觉模态)。
从实验上看,我们的工作在这种新场景中超越了以前的尝试 ,其中LLM能够在没有任何微调或再训练的情况下理解视觉信号,包括图像描述和视觉问答等理解任务,以及包括修复、扩展、去模糊和图像恢复等图像去噪任务。
相关工作
图像量化: 图像量化过程旨在将图像转换为一系列来自codebook的离散token。VQ-VAE是该领域的著名工作,该方法采用编码器-解码器结构,将图像量化为一系列潜在的离散code,然后用于重建图像。VQ-GAN通过引入对抗性和感知损失来增强codebook学习过程,使codebook能够捕捉更精确和细致的表示。同时,将图像量化为一系列token使得可以使用GPT以自回归方式进行图像生成。RQ-VAE 采用了一种残差量化方法,其中每个图像块由多个codebook token表示,以更准确地反映原始图像特征。DQ-VAE 进一步提出了可变长度的token来编码图像,从而实现更精确和高效的量化。Reg-VQ 旨在通过利用先验分布正则化来提高codebook的利用率并防止其崩溃。
大语言模型(LLMs): 大语言模型,尤其是那些采用Transformer-解码器架构的模型,在自然语言处理领域取得了显著进展。开发有效的大语言模型(LLM)的过程通常包括多个阶段,包括初始预训练,随后的监督微调,奖励模型的训练,以及使用人类反馈的强化学习(RLHF)来实现与指令的对齐。LLaMA 系列一直处于提供开源LLMs的前沿,提供了一系列规模的对齐和非对齐版本。例如,LLaMA 2 提供了7B、13B和70B参数的模型。
使用LLMs进行视觉信号理解: 尽管LLMs天生具备自然语言理解的能力,但它们也可以作为各种视觉-语言应用中的解码器,通过使用模态桥接模块将视觉特征与语言特征对齐。例如,Flamingo 使用数十亿的图像-文本对来训练门控交叉注意力层,以促进冻结的视觉编码器和冻结的LLM之间的同步。类似地,BLIP-2 通过引入轻量级QFormer来弥合模态差距。这个QFormer在两个相应的阶段进行训练:一个用于代表性学习,另一个用于生成性学习。此外,MiniGPT-4 和LLaVA 都证实,通过在高质量的指令数据上调整单个线性层,就足以实现特征对齐。虽然这些方法为多模态理解任务提供了令人满意的结果,但它们缺乏生成视觉内容的能力,并且需要收集额外的图像-文本对来训练视觉-语言对齐模块。
不同于在特征空间中执行多模态对齐,一些方法通过将图像视为“外语”,将图像映射到LLMs的token(输入)空间。例如,LQAE 训练了一个VQVAE Tokenizer ,使用冻结的LLM codebook来量化图像,将其转换为一组语言token。为了使LLM执行图像理解和生成任务,SPAE通过引入分层量化技术和CLIP提供的语义指导,进一步提高了来自冻结LLM codebook的量化图像token的质量。然而,由于视觉特征和语言token embedding之间存在显著差异,这些方法难以将语义语言token分配给图像。这一限制阻碍了LLMs在给定上下文中充分理解视觉信号。与上述方法相比,我们的方法在共享的多模态空间内引入了图像量化,为给定图像分配了语义上有意义的语言token。此外,我们将图像token分为两类:全局token,用于图像理解任务,以及局部token,用于图像生成任务。这种分离是通过使用两种不同类型的量化器以及两个独立codebook来实现的。
方法
问题表述
随后,如下图3所示,可以执行一系列任务,如图像分类、图像描述、视觉问答和图像去噪。这是通过将任务指令、上下文学习样本以及全局或局部token的串联输入到冻结的LLM中以自回归方式完成的。
视觉到语言 Tokenizer (V2L Tokenizer)
为了解决这个问题, 我们引入了一个简单的过滤策略。具体来说, 使用一个图像量化数据集 (如 ImageNet)和扩展的LLM词汇表, 计算数据集中每个图像与LLM词汇表中每个词汇项之间的CLIP相似度。然后, 记录每个图像得分最高的前 5 个词汇项。最后, 将所有图像的这些前 5 个词汇项聚合起来, 形成最终的扩展LLM词汇表, 作为我们的全局codebook。
局部codebook。局部codebook的目标是使用codebook中的一个条目来表示图像的一部分(例如, 一个图像块)。我们使用原始LLM词汇表作为局部codebook。
全局和局部codebook的Embeddings。如前图2所示, 通过CLIP文本编码器将全局codebook (即扩展的LLM词汇表) 和局部codebook (即LLM词汇表) 投影到embedding中。全局和局部codebook的 embedding分别称为LLM embedding和E-LLM embedding。此外, 我们使用一个可训练的投影器, 它被实现为一个线性层, 进一步将LLM embedding投影以与视觉空间对齐。量化器, 稍后将介绍, 进一步利用投影的LLM embedding (P-LLM embedding) 和E-LLM embedding来编码输入图像的局部和全局信息。
编码器。我们的编码器由一个可训练的CNN编码器和一个冻结的CLIP视觉编码器组成。CNN编码器与 VQ-GAN 中使用的一个相同, 但对下采样率进行了修改。将输入图像的尺寸缩小了8倍。CNN编码器旨在提取局部信息, 而CLIP视觉编码器专注于编码全局信息。有关编码器的详细信息, 请参见原文的补充材料。
视觉信号理解
图像去噪。根据SPAE 设计了几个图像去噪任务, 包括修复、扩展、去模糊、位移恢复和旋转恢复。这些任务的提示如下图4所示。
实验
设置
上表1显示了使用不同配置的LLaMA 2模型与先前的工作(包括LQAE、SPAE和使用冻结语言模型进行多模态少样本学习的基线)之间的比较。检查了可能影响N-Way K-Shot分类的各种因素,包括:(1) N的值;(2) K的值;(3) 任务感应,定义为在提示中指定特定的N-Way类别;(4) 每个少样本样本的重复频率。有两个主要观察结果:(1) 我们的模型在所有场景中都超过了以前最好的方法SPAE,尽管使用的LLM更小(我们的13B/70B LLaMA 2与SPAE的340B PaLM-2相比)且词汇表更紧凑(我们的11,908与SPAE的65,000相比);(2) 随着用于表示图像的token数量的增加,我们模型的性能有所提高。这可以归因于引入的词汇扩展,它生成了更大池的语义相关token候选。
图像描述和视觉问答。 遵循SPAE,从COCO描述(或VQA)训练集中随机选择10个图像-描述对(或图像-问题-答案三元组),形成图像描述(或VQA)提示中的上下文学习样本,如前所述。默认情况下,使用21个全局token来表示一个图像。可视化结果呈现在图5中。更多结果请参见原文的补充材料。
语义解释。 下图6展示了一组随机选择的六幅图像的前四个全局token与最高相似度分数的可视化。我们的方法中的词汇扩展技术有效地增加了语义相关的token选项(即二元组和三元组)的范围。补充材料中提供了额外的结果。在表2中,还定量评估了我们的全局token的语义质量,并在ImageNet-1K验证集上使用CLIP分数和相对CLIP分数(CLIP-R)与SPAE进行了比较,这些分数评估了每个图像与其关联的语言token之间的对齐程度。尽管SPAE使用了更大的词汇表(SPAE的65,000与我们的11,908相比),仍然观察到了一致的改进。
图像重建和去噪
重建评估。 V2L Tokenizer将图像编码成一组来自LLM词汇表的局部token。这些编码的token应该捕捉到最有意义的信息,使得解码器能够重建原始图像并恢复任何被污染(“污染性”)的图像。在本研究中,使用包括FID、LPIPS和PSNR等指标来评估V2L Tokenizer的重建质量。如表3所示,在ImageNet-1K验证集上将我们的方法与SPAE 和VQ-GAN进行了比较。在我们的方法中,探索了两种不同的设置:(1) 使用VQ-GAN的解码器而不涉及全局token;(2) 使用所提出的解码器,它在解码过程中加入了额外的Kg个全局token(默认配置,如前所讨论的)。我们的方法在所有指标上都优于SPAE。
图像去噪。 介绍了用于修复、扩展、去模糊、位移和旋转恢复的提示,以及恢复被污染图像的过程,如图4所示。在表4中,研究了影响这五个上下文图像去噪任务质量的两个因素:(1) 图像 Tokenizer ,它将图像编码成一组token;(2) LLM,它旨在预测给定污染图像token的原始图像的局部token,借助上下文学习样本。随机选择了ImageNet-1K验证集中的5,000张图像来形成我们的评估集。使用FID和LPIPS分数作为指标。V2L Tokenizer在几乎所有指标上的五个任务中都优于其他方法。这一成就归因于图像特征与冻结LLM的token空间的对齐。还展示了下图7中的一些定性结果。更多可视化结果可以在原文的补充材料中找到。
掩蔽图像恢复。 给定ImageNet-1K验证集中的一张图像,我们首先通过V2L Tokenizer提取其全局和局部token。随后对这些局部token的30%进行随机掩蔽。为了预测掩蔽token,使用LoRA调整的7B LLaMA-2模型(有关调整的详细信息,请参见补充材料)。下一步涉及将掩蔽token的预测与未掩蔽token的集成,然后将这些token输入到解码器中进行图像重建。这一视觉信号恢复过程的定性结果如图8所示。为了可视化目的,“输入”掩蔽图像是通过将原始图像的未掩蔽局部token与被设置为零的掩蔽token组合生成的,然后通过解码器处理。
结论
本文将图像视为一种“外语”,并引入了一个名为Vision-to-Language Tokenizer(V2L Tokenizer)的工具,它将连续的视觉信号映射到LLM的token空间。方法使得冻结的LLM能够在不需要在多模态数据集上进行资源密集型微调的情况下理解视觉信号。V2L Tokenizer通过生成全局和局部token来处理图像。全局token旨在通过我们提出的词汇扩展技术捕获基本的语义信息,这使得执行如图像识别、图像描述和视觉问答等任务成为可能。相比之下,局部token旨在从图像中提取详细的、块级别的特征,从而促进如修复和去模糊等图像去噪任务。广泛的定量和定性实验验证了我们方法相较于此前尝试的优越性。