东莞建设网站制作,青海网站制作,wordpress企业主题哥,网站开发用到什么技术文章主要是对BLIP2 #xff08;使用冻结图像编码器和大型语言模型的Bootstrapping语言图像预训练#xff09;论文的阅读笔记#xff0c;也对BLIP#xff08;用于统一视觉语言理解和生成的Bootstrapping语言图像预训练#xff09;算法进行了简单的介绍。
文章#xff1a;…文章主要是对BLIP2 使用冻结图像编码器和大型语言模型的Bootstrapping语言图像预训练论文的阅读笔记也对BLIP用于统一视觉语言理解和生成的Bootstrapping语言图像预训练算法进行了简单的介绍。
文章
BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and GenerationBLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models
一、BLIP用于统一视觉语言理解和生成的Bootstrapping语言图像预训练 关键贡献使用CapitatorCap为网络图像生成合成字幕并使用FilterFilt删除有噪声的字幕。
背景
大多方法基于编码器或者编码-解码器结构编码器模型不太容易直接转移到文本生成任务但是编码解码框架并未成功应用在图像文件检索任务中。过去的CLIP中文本-图像对的数据是从网上收集得到的但是网络文本对于视觉语言预训练VLP是次优的。
两个贡献
a编码器-解码器的多模式混合MED一种用于多任务预训练和灵活迁移学习的模型架构。
三种模式单模式编码器、基于图像的文本编码器、基于图像的文字解码器。三个预训练视觉语言目标图像文本对比学习、图像文本匹配、图像语言。
b 字幕和过滤CapFilt从噪声图像-文本对中学习进行数据增强用于对MED微调。
字幕器生成给定网络图像的合成字幕过滤器从原始网络文本和合成文本中去除噪声字幕
模型架构
BLIP预训练架构——基于编码器-解码器的多模式混合视觉语言模型
图2. BLIP的预训练模型架构和目标相同的参数具有相同的颜色。提出了编码器-解码器的多模式混合可以在三个功能之一中操作1用图像-文本对比ITC损失来训练单模式编码器以对齐视觉和语言表示。2 基于图像的文本编码器使用额外的交叉注意力层来建模视觉-语言交互并使用图像-文本匹配ITM损失进行训练以区分正面和负面的图像-文本对。3基于图像的文本解码器用因果自注意层取代了双向自注意层并与编码器共享相同的交叉注意层和前馈网络。解码器使用语言建模LM损失进行训练以生成给定图像的字幕。
3.1 模型架构
提出了编码器-解码器的多模式混合这是一个多任务视觉语言模型可以在以下三个功能中选择进行操作
单模式编码器分别对图像和文本进行编码。文本编码器与BERT相同其中[CLS]标记被附加到文本输入的开头以总结句子。图像编码器使用 ViT。基于图像的文本编码器通过在自注意SA层和文本编码器的每个变换器块的前馈网络FFN之间插入一个额外的交叉注意CA层来注入视觉信息。特定于任务的[Encode]标记被附加到文本并且[Encode]的输出token被用作图像-文本对的多模式表示。以图像为基础的文本解码器使用因果自注意层取代了基于图像的文本编码器中的双向自注意层。[Decode]标记用于发出序列开始的信号序列结束标记用于发出其结束的信号。
3.2 预训练目标
联合优化了三个目标包括两个基于理解的目标和一个基于生成的目标每个图像-文本对只需要一次前向通过计算量较大的视觉转换器三次前向通过文本转换器
Image-Text Contrastive Loss (ITC) 集成 ALBEF 中的 ITC损失。通过鼓励正面图像文本对具有相似的表示负面图像文本相反对齐视觉变换器和文本变换器的特征空间Image-Text Matching Loss (ITM) 旨在学习图像-文本多模态表示捕捉视觉和语言之间的细粒度对齐。ITM是一个二分类任务给定其多模态特征其中模型使用ITM头线性层来预测图像文本对是正匹配还是负不匹配Language Modeling Loss (LM) 旨在生成给定图像的文本描述。优化交叉熵损失该损失训练模型以自回归方式最大化文本的可能性
3.3 CapFilt
背景
有图像-文本对IhTh类似 COCO 的标注数据集较少CLIP中使用的网络收集的图片文本对通常不能准确地描述图像的视觉内容这使得它们成为一个嘈杂的信号对于学习视觉语言对齐来说是次优的。 图3. BLIP的学习框架。介绍了一种为网络图像生成合成字幕的字幕器以及一种去除噪声图像-文本对的过滤器。字幕器和过滤器从相同的预训练模型初始化并在小规模人工注释数据集上单独微调。bootstrapped数据集用于预训练新模型。
字幕器和过滤器都是从相同的预训练MED模型初始化的并在COCO数据集上单独微调。微调是一个轻量级的过程。字幕器是一个基于图像的文本解码器。它与LM目标进行了微调以解码给定图像的文本。给定网络图像Iw字幕制作者生成每个图像具有一个字幕的合成字幕Ts。过滤器是一个基于图像的文本编码器。它与ITC和ITM目标进行了微调以了解文本是否与图像匹配。过滤器去除原始网络文本Tw和合成文本Ts中的噪声文本其中如果ITM头预测文本与图像不匹配则认为文本是噪声的。最后将过滤后的图像-文本对与人类注释的对相结合形成一个新的数据集用于预训练新的模型。
二、BLIP2 使用冻结图像编码器和大型语言模型的Bootstrapping语言图像预训练 图1 BLIP-2框架概述。按照两阶段策略预先训练了一个轻量级查询变换器 Q-Former以弥补模态差距。第一阶段从冻结图像编码器中引导视觉语言表示学习。第二阶段从冻结的LLM引导视觉到语言的生成性学习从而实现零样本指示的图像到文本生成。
BLIP2 优势
两阶段训练表征学习阶段和生成学习阶段有效利用冻结的预训练图像模型和语言模型视觉问答、图像字幕和图像文本检索三个任务上取得了 SOTA由 LLM (如 OPT、FlanT5) 提供支持BLIP-2 可以被提示执行遵循自然语言指令的 zero-shot 图像到文本生成这实现了诸如视觉知识推理、视觉对话等新兴功能由于使用了冻结的单模态模型和轻量级的Q-FormerBLIP-2比现有技术的计算效率更高。比如BLIP-2 在 zero-shot VQAv2 上比 Flamingo 高 8.7%可训练参数减少了 54 倍
模型实现
Q-Former的实现 图2 左Q-Former和BLIP-2第一阶段视觉语言表征学习目标的模型架构。共同优化了三个目标这三个目标强制执行查询一组可学习token以提取与文本最相关的视觉表示。右控制查询文本交互的每个目标的自注意掩码策略。
3.1 模型架构
Q-Former由两个变换器子模块组成它们共享相同的自注意层1与冻结图像编码器交互的用于视觉特征提取的图像变换器2 既可以作为文本编码器又可以作为文本解码器的文本变换器。具体实现如下
创建了一组可学习的Query token作为图像变换器的输入。Query通过自注意力层相互交互并通过交叉注意层每隔一个transformer块插入与冻结的图像特征交互。Query还可以通过相同的自注意层与文本进行交互。根据预训练任务的不同应用不同的自注意掩码来控制Query-文本交互。用BERTbase的预训练权重初始化Q-Former交叉注意力层是随机初始化的。Q-Former总共包含188M个参数。请注意Query被视为模型参数。
实验中使用了32个Query其中每个Query的维度为768与Q-Former的隐藏维度相同。使用Z来表示输出Query表示。Z的大小32×768远小于冻结图像特征的大小例如ViT-L/14的257×1024。这种瓶颈架构与预训练目标一起工作迫使查询提取与文本最相关的视觉信息。
3.2 从冻结图像编码器中进行视觉语言表示学习
在表示学习阶段将Q-Former连接到冻结图像编码器并使用图像-文本对进行预训练。受BLIP的启发共同优化了三个共享相同输入格式和模型参数的预训练目标。每个目标在Query和文本之间使用不同的注意力mask策略来控制它们的交互见图2。
三个预训练目标 图像-文本对比学习ITC学习对齐图像表示和文本表示以使它们的相互信息最大化。它通过对比正对与负对的图像文本相似性来实现这一点。将来自图像转换器的输出查询表示Z与来自文本转换器的文本表示t对齐其中t是[CLS]标记的输出嵌入。由于Z包含多个输出token每个查询一个首先计算每个查询输出与t之间的成对相似性然后选择最高的一个作为图像-文本相似性。为了避免信息泄露使用了一个单峰值自注意掩码其中查询和文本不允许相互看到。由于使用了冻结图像编码器与端到端方法相比可以为每个GPU拟合更多的样本。因此可以使用in-batch negative而不是BLIP中的动量队列。 基于图像的文本生成ITG损失训练 Q-Former在给定输入图像作为条件的情况下生成文本。由于Q-Former的架构不允许冻结图像编码器和文本token之间的直接交互因此生成文本所需的信息必须首先由查询提取然后通过自注意层传递给文本token。因此查询被迫提取视觉特征以捕获有关文本的所有信息。使用多模式因果自注意掩码来控制查询-文本交互类似于UniLM中使用的掩码。查询可以相互关注但不能关注文本标记。每个文本标记都可以处理所有查询及其以前的文本标记。 还将[CLS]令牌替换为新的[DEC]标记作为通知解码任务的第一个文本token。 图像-文本匹配ITM 学习图像和文本表示之间的细粒度对齐。这是一项二元分类任务要求模型预测图像-文本对是正匹配还是负不匹配。使用双向自注意掩码所有查询和文本都可以相互关注。 输出查询嵌入Z来捕获多模式信息。将每个输出查询嵌入到一个两类线性分类器获得一个logit并将所有查询的logits平均作为输出匹配分数。采用了李等人的hard negative挖掘策略来创建信息negatives pairs。
3.3.从冻结LLM中引导视觉到语言生成学习
生成预训练阶段将Q-Former附带冻结图像编码器连接到冻结LLM以获取LLM的生成语言能力。如图3所示。
使用全连接FC层将输出查询嵌入Z线性投影到与LLM的文本嵌入相同的维度中。将投影的Query嵌入预处理为输入文本嵌入。它们起到了软视觉提示的作用将LLM置于Q-Former提取的视觉表示之上。
由于Q-Former已经过预训练可以提取语言信息性的视觉表示因此它有效地充当了一个信息瓶颈将最有用的信息提供给LLM同时去除不相关的视觉信息。这减轻了LLM学习视觉语言对齐的负担从而缓解了灾难性的遗忘问题。
两种类型的LLM
基于解码的LLM在语言模型丢失的情况下进行预训练其中冻结的LLM的任务是根据Q-Former的视觉表示生成文本。基于编码器-解码器的LLM使用前缀语言模型损失进行预训练将文本分为两部分。前缀文本与视觉表示连接作为LLM编码器的输入。后缀文本被用作LLM解码器的生成目标。 图3 BLIP-2对语言生成预训练的第二阶段 从冻结的大型语言模型LLM中引导生成。顶部引导基于解码器的LLM例如OPT。底部引导基于编码器-解码器的LLM例如FlanT5。全连接层从Q-Former的输出维度适应所选LLM的输入维度。
3.4.模型预训练
预训练数据
使用与BLIP相同的预训练数据集包括COCO、Visual Genome、CC3M、CC12M、SBU和来自LAION400M数据集的115M张图像。采用BLIP中的CapFilt方法为网络图像创建合成字幕。具体地用BLIPlarge字幕模型生成10个字幕并基于CLIP-ViT-L/14模型生成的图像-文本相似性对合成字幕与原始网络字幕进行排序。将每个图像的前两个字幕作为训练数据并在每个预训练步骤随机抽取一个。
经过预训练的图像编码器和LLM
对于冻结图像编码器探索了两种最先进的预训练视觉转换器模型1CLIP的ViT-L/14和2EVA-CLIP的ViT-g/14。删除了ViT的最后一层并使用了倒数第二层的输出特性这会带来稍好的性能。对于冻结语言模型探索了基于解码器的LLM的无监督训练的OPT模型族以及基于编码器-解码器的LLMs的指令训练的FlanT5模型族。
训练前设置
第一阶段进行了250k步的预训在第二阶段进行了80k步的预训。在第一阶段中对ViT-L/ViT-g使用2320/1680的batch在第二阶段中对OPT/FranT5使用1920/1520的batch。在预训练期间将冻结的ViTs和LLMs参数转换为FP16。预训练比现有的大规模VLP方法更便于计算。所有模型都使用相同的预训练超参数集。使用AdamW优化器设置β10.9β10.98重量衰减为0.05。使用余弦学习率衰减峰值学习率为1e-4线性预热为2k步。第二阶段的最低学习率为5e-5。使用大小为224×224的图像并通过随机调整大小的裁剪和水平翻转进行增强。
实验结果
4.1.指示的零样本图像到文本生成 图4 使用BLIP-2模型w/ViT-g和FlanT5XXL的指示零样本图像到文本生成的精选示例其中显示了广泛的功能包括视觉对话、视觉知识推理、视觉共感推理、故事讲述、个性化图像到文本的生成等。
表1 BLIP-2在各种零样本视觉语言任务中的结果概述。与以前最先进的型号相比。BLIP-2在视觉语言预训练期间实现了最高的零样本性能同时所需的可训练参数数量大大减少。。
表2 与最先进的零样本视觉问答方法进行比较 对表二的观察结果更强的图像编码器或更强的LLM都会带来更好的性能。这一观察结果验证了BLIP-2是一种通用的视觉语言预训练方法可以有效地在视觉和自然语言领域快速发展。这一观察结果得到了几个事实的支持
ViT-g在OPT和FlanT5方面都优于ViT-L。在同一LLM系列中较大的型号优于较小的型号。FlanT5是一种指令调谐LLM在VQA上优于无监督训练的OPT。 图5 视觉语言表征学习对视觉对语言生成性学习的影响。如果没有表征学习Q-Former就无法弥补模态缺口导致零样本VQA的性能显著降低。
4.2.图像字幕
为图像字幕任务微调BLIP-2模型该任务要求模型为图像的视觉内容生成文本描述。使用提示“a photo of”作为LLM的初始输入并在语言建模丢失的情况下训练模型生成标题。在微调过程中保持LLM冻结并与图像编码器一起更新Q-Former的参数。结果如表3所示。与现有方法相比BLIP-2在NoCaps上有了显著的改进实现了最先进的性能展示了对域外图像的强大泛化能力。
表3与NoCaps和COCO Caption上最先进的图像字幕方法的比较。所有方法都优化了微调过程中的交叉熵损失。其中C CIDErSSPICEB4BLEU4.
4.3.视觉问答
给定带注释的VQA数据微调了Q-Former和图像编码器的参数同时保持LLM冻结。对开放式答案生成损失进行了微调其中LLM接收Q-Former的输出和问题作为输入并被要求生成答案。为了提取与问题更相关的图像特征在问题上附加了Q-Former条件。具体地说问题标记被作为输入提供给Q-Former并通过自注意层与查询交互这可以引导Q-Former的交叉注意层关注信息更丰富的图像区域。表4展示了BLIP-2在开放式生成模型中的结果。
表4 与最先进的模型进行比较这些模型经过微调可用于视觉问答。
4.4.图像文本检索
由于图像文本检索不涉及语言生成直接对第一阶段的预训练模型进行微调不使用LLM。具体而言使用与预训练相同的目标即ITC、ITM和ITG在COCO上与Q-Former一起微调图像编码器。 结果如表5所示。与现有的零样本图像文本检索方法相比BLIP-2实现了最先进的性能。ITC和ITM损失对于图像文本检索至关重要因为它们直接学习图像文本相似性。表6显示了ITG的损失有利于图像文本检索。这一结果支持了在表示学习目标中的设计ITG损失迫使查询提取与文本最相关的视觉特征从而改善视觉语言对齐。
表5与最先进的图像-文本检索方法进行比较在COCO上进行微调并将零样本传输到Flickr30K。
Limitation 由于图文数据集大多数是一对一的匹配所以很难让模型建立上下文的联系主要是因为LLM模型的局限性最近的LLM可以在给定少量例子的情况下进行上下文学习但LLM无法从中学习单个序列中多个图像-文本对之间的相关性Flamingo论文使用了一个来源紧密的交错图像和文本数据集M3W每个序列有多个图像和文本对。类似的数据集的创建也是未来工作的目标。 由于各种原因BLIP-2的图像到文本生成可能会产生不令人满意的结果包括LLM的知识不准确、激活了不正确的推理路径或者没有关于新图像内容的最新信息见图7。 由于使用了冻结模型BLIP-2继承了LLM的风险例如输出攻击性语言、传播社会偏见或泄露私人信息。补救方法包括使用说明来指导模型的生成或在删除有害内容的过滤数据集上进行训练。 图6 使用BLIP-2型号w/ViT-g和FlanT5XXL生成指示的零样本图像到文本的输出示例不正确分别是错误的建立联系错误的推断依据过时的知识库 图7 VQA微调的模型架构其中LLM接收Q-Former的输出和问题作为输入然后预测答案。还可以将该问题作为Q-Former的条件使得提取的图像特征与该问题更相关。
表6 基于图像的文本生成ITG损失通过强制查询来提取与语言相关的视觉特征来提高图像文本检索性能