全面梳理视觉语言模型对齐方法:对比学习、自回归、注意力机制、强化学习等
全面梳理视觉语言模型对齐方法:对比学习、自回归、注意力机制、强化学习等
视觉语言模型对齐是具身智能领域的重要研究方向,旨在让机器能够理解和处理图像和文本之间的关联。本文将全面梳理对比学习、自回归、注意力机制、强化学习等经典方法,以及CAL、SeVa、PixelLLM、InternLM-XComposer2、LaVIT等新方法,帮助读者深入了解这一领域的最新进展。
经典方法
在具身智能领域,对齐视觉和语言模态是一个重要的研究方向,它旨在让机器能够理解和处理图像和文本之间的关联。传统的视觉-语言模型运用多种其他技术用于图像和文本的对齐,包括但不限于对比学习、自回归、注意力机制、强化学习等。
对比学习
对比学习的经典范例是CLIP,CLIP模型使用对比损失函数来优化图像和文本的特征表示。模型的目标是使得匹配的图像-文本对的特征向量在特征空间中更接近,而不匹配则更远离。模型会计算每个图像与所有文本描述的相似度(通常是余弦相似度),并使用softmax函数来确定每个图像-文本对是否匹配的概率。对于一个批次的数据,模型会尝试最大化正样本(匹配的图像-文本对)的相似度,同时最小化负样本(不匹配的图像-文本对)的相似度。
自回归
也有模型采用自回归的方式来生成文本描述。在提取图像特征并编码文本表示后,自回归模型会使用当前的文本序列和图像特征来预测下一个词或字符。这个过程是迭代的,每次迭代都会将新生成的词添加到序列中,并用更新后的序列和图像特征来预测下一个词。并且,为了更好地对齐视觉和语言模态,模型可能会使用注意力机制来聚焦于图像的特定部分,这些部分与当前生成的文本序列最相关。
注意力机制
Transformer模型则通过注意力机制对齐视觉和语言模态,过程涉及到将两种模态的特征映射到一个共享的语义空间中,使得不同模态的特征可以在同一个空间中进行比较和交互。注意力机制使用注意力权重来确定图像的哪些部分与当前处理的单词或短语最相关,这种注意力权重是通过计算特征之间的相似度得到的。多模态Transformer模型还可以使视觉和语言特征会在不同的层之间进行交互,这种交互可以通过跨模态注意力层实现,其中模型学习如何将图像的某些部分与文本描述中的特定部分对应起来。
强化学习
强化学习是指一个智能体(agent)通过与环境的交互来学习最优策略。具体来说,智能体通常是一个深度学习模型,而环境是指智能体进行交互的整个系统,它可以提供视觉输入(如图像)和对应的语言标签(如正确的文本描述),还负责评估智能体的输出,并提供奖励信号。还需要设计一个奖励函数来评估智能体生成的文本描述的质量。智能体在环境中进行尝试,生成文本描述,然后根据奖励函数获得奖励。智能体使用梯度上升方法来最大化累积奖励,并通过调整网络参数来改进其策略。通过这种方式,强化学习可以帮助模型学习如何生成与视觉输入紧密对齐的语言输出,从而实现视觉和语言模态的对齐。
监督式微调和无监督式微调
此外,还可以通过监督式微调和无监督式微调调整预训练模型的参数来对齐视觉和语言模态,提高在下游任务上的泛化能力。两种方法使用的训练数据和目标不同。监督式微调依赖于成对的标注数据,目标是提高模型在特定任务上的性能;而无监督式微调使用未标注的数据,目标是探索和利用图像和文本之间的潜在关系。两种方法都可以提高模型在视觉-语言任务上的性能和泛化能力。
新方法
近年来涌现出许多更好地实现视觉语言模态对齐的新思想:比如改进传统的自回归方式,为不同的文本标记基于其视觉相关性分配不同的权重;或者通过构造偏好样本对,促进视觉语言对齐;也有学者旨在提高VLM的细粒度的图像定位能力;还有学者在视觉特征提取时引入低秩矩阵使其与语言特征对齐,或者通过其他方法使视觉和语言特征相统一,从而平衡视觉、语言模态,使LLM能够学习视觉模态的同时保留语言能力……在此我们选取了几篇代表性文章,让我们一起来看看吧~
CAL:通过对比对齐优先考虑视觉相关性
对比性对齐(Contrastive ALignment,简称CAL)是一种针对视觉语言模型(VLMs)中图像和文本模态对齐问题的新策略,根据每个文本标记的视觉相关性为其分配不同的贡献。传统的VLMs在处理图像和文本的对齐时,会以自回归的方式平等对待每个文本标记,这可能导致与图像关联度不高或甚至相互矛盾的文本标记被过度强调。CAL 的核心思想是通过对比不同图像输入下的预测逻辑值(logits),来为每个文本标记的视觉相关性分配不同权重。
具体来说,对于每个文本标记,模型会计算在两种情况下的预测logit,即有图像输入和没有图像输入的情况。然后计算两者logit的差异,这个差异反映了文本标记与图像输入的视觉相关性。通过对比图像输入,模型为每个文本标记动态计算视觉相关性权重。CAL提出基于每个标记的视觉相关性权重重新分配它们的贡献,最终的损失函数是加权平均的原始MLE(最大似然估计)目标。
在训练过程中,模型首先计算每个文本标记的视觉相关性权重,然后根据这些权重重新计算损失函数,以此来优化模型参数。这样,模型在训练时会更加关注与图像输入高度相关的文本标记,从而提高图像文本模态对齐的质量。
通过这种方法,CAL模型能够区分文本标记的视觉相关性,优先训练那些与图像输入高度相关的标记,同时减少与图像输入不相关或相矛盾的标记的影响,从而优化视觉文本对齐。实验结果表明,CAL能够在多种基准数据集上一致地提高不同类型的VLMs的性能,并且引入的计算开销很小,使得该方法非常高效。
SeVa:自监督的视觉偏好对齐
这篇文章通过无监督的方式构造偏好样本对,来解决视觉语言模型的偏好对齐问题。文章发现,通过引入图像增强技术,可以生成与原始图像在语义上有差异的负面样本。这些负面样本虽然与原始图像在内容上有所偏差,但却能迫使视觉语言模型(VLM)产生不同的语义标记,从而学习到更加鲁棒和全面的特征表示。这种方法可以使模型更好地从错误中学习,提高其在复杂推理任务中的性能,并且减少模型产生不符合用户意图的输出,即减少“幻觉”现象。通过这种方式,模型能够更加精确地对齐用户意图,提升多模态理解的能力。
偏好样本对的构造过程如下:首先,对于给定的图像-问题(image-question)对,模型会生成一个回答,这个回答被视为正样本。然后,通过对图像应用数据增强技术(如随机翻转、裁剪、添加噪声等),生成一个失真的图像,并用这个失真图像和原始问题再次生成一个回答,这个回答被视为负样本。这样,原始图像和问题生成的回答与增强图像和问题生成的回答就构成了一对偏好样本。通过这种方式,可以大量生成用于直接偏好优化(DPO)训练的数据,型会尝试最大化正样本的预测概率,同时最小化负样本的预测概率,从而在不依赖人工标注或昂贵的人类评估的情况下,实现模型的自我改进和对齐。
PixelLLM:细粒度定位和视觉语言对齐
目前尚不清楚如何使用大型语言模型执行局部任务,例如将单词或文字指代定位到图像局部。这项工作目标是开发一个视觉语言模型,该模型可以将位置(例如一组点或框)作为输入或输出。当将位置作为输入时,模型会执行位置条件字幕,从而为指示的对象或区域生成字幕。当生成位置作为输出时,模型会回归语言模型生成的每个输出字的像素坐标,从而实现密集的单词定位。那么文章是如何从位置输入实现单词定位的呢?
研究团队在语言模型的单词特征之上添加了一个小型的多层感知器(MLP),这个MLP的作用是将每个单词的特征映射到一个像素位置,即预测每个单词在图像上的对应位置。这意味着对于语言模型生成的每个单词,MLP都会输出一个二维的坐标(x, y),表示该单词在图像中对应的位置。这个过程可以视为一个回归任务,其中目标是学习单词特征到像素坐标之间的映射关系。
为了训练这个MLP,模型需要在训练数据上学习单词和它们在图像中的对应位置。这通常涉及到有标签的数据集,如Localized Narrative数据集,其中包含了人类在描述图像时的注意力轨迹,这些轨迹与描述中的每个单词同步,提供了丰富的位置标注信息。
通过这种方式,PixelLLM模型能够将语言模型的文本生成能力与细粒度的图像定位能力结合起来,为每个生成的单词提供一个精确的图像内位置,从而在视觉语言模型中实现了更丰富的空间理解。
InternLM-XComposer2:掌握视觉语言大模型中的自由形式文本图像合成和理解
在多模态大型语言模型(MLLMs)的研究中,如何有效地将新模态(如视觉信息)与语言模型(LLMs)对齐是一个关键问题。理想的对齐应该能够在不损害LLM原有语言处理能力的同时,为其增添新模态领域的知识。然而,目前的方法存在一些局限性。它们通常采用两种极端的方法:一是将视觉和语言token视为完全相同,这可能会忽视两种模态在本质上的差异;二是将它们视为完全不同的实体,这会导致在对齐过程中产生较大的成本和复杂性。这两种方法都未能很好地平衡模态间的属性差异和对齐效率。
本文介绍了 InternLM-XComposer2,提出了一种 偏LoRA (PLoRA) 方法,通过在输入token中专门针对新模态部分(如视觉token)应用低秩适应来实现对齐。PLoRA在保持原始LLM架构不变的情况下,只为视觉token引入额外的LoRA参数,而语言token则保持原有的结构。具体来说,对于视觉token,在其对应的Transformer层中,将LoRA参数应用于线性变换。对于每个视觉token,通过一个额外的低秩矩阵(由两个小矩阵相乘得到)来调整其特征表示。这样,模型能够在处理视觉信息时获得增强的表示能力,同时保留对语言的理解和生成能力。通过这种方式,PLoRA实现了新模态与文本的有效对齐,提高了模型在多模态任务中的性能。
LaVIT:基于动态离散视觉标记化的LLM统一语言视觉预训练
流行的MLLM方法主要将视觉输入视为提示,并只专注于优化以冻结 LLM 的视觉内容为条件的文本生成过程。这种对视觉和语言的不公平处理严重限制了该模型的潜力。本文突破了这一限制,以统一的形式表示视觉和语言。具体来说,引入了一个设计良好的视觉分词器,将非语言图像翻译成一系列离散的分词,就像 LLM 可以阅读的外语一样。生成的视觉标记包含值得一个单词的高级语义,还支持与图像不同的动态序列长度。面对这个分词器,所提出的基础模型称为 LaVIT 可以在相同的生成学习范式下不加选择地处理图像和文本。
视觉分词器(Visual Tokenizer**)将非结构化的图像数据转换成一系列离散的、类似于文本分词的标记。具体来说,首先图像被分割成多个小块(patches),这些小块作为输入传递给预训练的视觉编码器(如ViT)。视觉编码器为每个图像块生成连续的特征向量,这些特征向量捕捉了图像块的视觉信息。然后视觉分词器中的选择器(selector)模块评估每个图像块的重要性,并选择包含有信息量的块。然后,这些被保留的视觉块特征通过一个可学习的码本(codebook)进行量化,将连续的特征向量转换为离散的代码。
文章中提出的视觉分词器支持动态序列长度,即根据图像的内容动态调整生成的视觉标记数量。由于不同图像的语义复杂性不同,动态调整视觉标记的数量可以避免对所有图像使用固定长度的标记序列,从而减少计算资源的浪费。
通过将视觉和语言信息统一为离散的标记序列,模型可以在相同的生成学习框架下处理这两种模态。这意味着模型可以使用统一的目标函数来优化,比如自回归的语言模型训练目标,来预测序列中的下一个标记,无论是文本标记还是视觉标记。