首页 > 其他分享 >多模态-BLIP

多模态-BLIP

时间:2023-11-25 15:55:06浏览次数:25  
标签:模态 模型 encoder BLIP 图文 COCO 文本 图片

BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generatio

Paper 模型参数量 训练数据量 数据集来源
BLIP 224M-361M 14M - 129M COCO, Visual Genome, Conceptual12M, SBU caption LAION-115M

结构

结构如Fig.2所示

  • 视觉特征模块-ViT 将图片拆分成patch序列然后提取得到图片的特征序列。在序列前添加[CLS]token,该位置对应的ViT输出特征作为全局图片特征的表示。
  • 文本特征模块-双向Attention encoder,同样的在序列前面添加[CLS]token,该位置对应encoder的最终输出特征作为文本的整体表示。
  • 图文混合encoder,论文中称为image-grounded text encoder。用[Encode]token添加到文本序列的前面,该位置对应的encoder最终输出特征作为图文对的多模态特征表示。
  • 图文混合decoder,论文中称为image-grounded text decoder。用[Decode]token放在首位,用于启动自回归生成。decoder模块中掩模矩阵是下三角。

不同模态特征融合是如何体现呢?

  融合与All you need is Attention中Decoder模块处理事一致的。不管是encoder还是decoder模块,都是ViT模块提取图像特征,得到图像块的特征序列。encoder和decoder都是文本信息经过各自的Attention模块后,与图像特征序列进行cross-Attention操作。

image

Fig. 2

损失函数

ITC

  Image-Text contrastive Loss图文对比损失函数。该损失函数目标是将视觉Transformer特征与文本Transformer特征进行对齐,使得正的图文对具有相似的表示,而负的图文对则相反。该损失函数的实现可参考论文[1]

ITM

  Image-Text Matching Loss图文匹配损失函数。该损失函数目标是学习图文多模态表示,该表示抓住了图文细粒度对齐信息。ITM是一个二分类,来预测图文对是正的还是负的。为了挖掘更有价值的负样本对,采用了难例挖掘方法,具体实现可参考论文[1]

LM

  Language Modeling Loss,图生文损失函数,实际上是下一个token预测,一个交叉熵损失函数。

CapFilt

  由于标注成本过高,因此仅有少量的高质量人工标注的图文对数据,如COCO数据集。可以从网络上收集大量的图文对数据,然而网页上对图片的文本描述信息不都很准确,从而导致训练的图文模型性能受到干扰。论文提出一种提升图文数据集文本描述信息质量的方法。如Fig.3 所示

该方法包括两个模块:文本注释器Captioner和文本过滤器Filter,这二者是上述提到的VLP模型的一部分。

  • Captioner则是基于图像的文本生成器 text decoder,给定一张图片生成一段描述该图片的文本。基于LM损失函数在COCO又进行了微调。
  • Filter则是基于图像的图文过滤器,基于ITC和ITM损失函数在COCO上进行微调。对网络上收集的图文数据和基于Captioner合成的图文数据进行过滤。

image

Fig.3

实验

实验设置

image transformer初始化于在ImageNet预训练的ViT模型,text transformer初始化于\(BERT_{base}\)。ViT模型探索两种变体ViT-B/16, ViT-L/16.论文中除特殊说明外,BILP都是指使用ViT-B/16模型结构。

  • 训练集: 人工标注的数据集COCO和Visual Gnome,网络上收集的数据集Conceptual Captions, Conceptual 12M, LAION-115M。训练仅使用了其中14M的数据量。

CapFilt的影响

  表1 展示了在两种不同数据集下,使用CapFilt方法在下游任务,如图文检索和图片注释上的性能表现。这些下游任务或者是微调过的或者是没有微调的。
  从表格可以看出,单独使用CapFilt中的生产器Captioner或者单独使用过滤器Filter,都带来性能的提升。当着二者同时使用时,性能又进一步提升。 而且当模型和数据规模都变大时,使用CapFilt方法仍能带来性能的提升。

image

Table. 1

  图4展示的是,图像及对应文本描述。红色表示被过滤器拒绝,蓝色表示接受。\(T_w\)表示来着网络的文本,\(T_s\)表示生成的文本。图示表明,不管是网络上的文本还是生成的文本,过滤器都具备筛选过滤掉图文不匹配的能力。
image

Fig. 4

合成图片注释,多样性是关键。

  CapFilt方法采用核取样方法来生成图片的注释文本。核取样方法是一种随机解码方法,每次生产的token从满足累积概率之和大于给定阈值如0.9的几个候选token中随机取样。表2是核方法与其它几种方法进行对比。尽管核取样方法产生更多的噪音,但是仍带来性能的提升。
image

Table. 2

实验对比

图文检索

  在COCO和Filckr30K这两个数据集上进行图到文检索和文到图检索。微调是在这两个数据集上,使用ITC和ITM损失函数进行训练。为了更快速推理,首先基于图文特征相似度,选择k个候选对象,然后基于逐对的ITM分数重排序。表5展示了,BLIP模型实现了显著的性能提升。表5展示了,即使没有微调,也在Flickr30K测试集上也超过之前的模型。
image

Table. 5

图片注释 Image Captioning

  在NoCaps和COCO数据集上进行测试,模型是在COCO数据集上基于LM损失函数进行微调。论文在每张图片注释文本前添加"a picture of", 这样生成的结果会好些。表7中,展示了使用14M数据量训练的BLIP模型比其它方法基于相同体量数据集训练模型的生成性能更好。而使用129M数据集训练的BLIP模型与使用更大体量200M的LEMON模型的性能相当。这里的LEMON模型是要求有前置的计算量大的目标检测与高分辨率图片800x1333,而BLIP模型不要求目标检测和高分辨率图片(仅使用384x384),因此推理速度更快。

问题: NLP 生成的评价指标?
CIDEr, SPICE, BLEU
image

Table. 7

VQA

  VQA要求模型在给定图片和问题,然后输出答案。代替之前将VQA看作多选项的分类问题,而此次将VQA设计为答案生成任务。任务设计参考图5(a),与原始预训练时候模块输入输出有些区别。图片和问题被编码为多模态表示,然后输入给Decoder,进而输出答案。参考表8,结果就是[效果好]☺

自然语言视觉推理 NLVR2

  NLVR2任务要求模型推理一个语句是否正确描述一对图像。为了能对两张图片进行推理,如图5(B)所示设计,在基于图像的text encoder的交叉注意力层中,分别处理与两张图像的attention然后再进行融合。参考表8,结果就是[效果好]☺

Table. 8

视觉对话 VisDial

  VisDial 以对话方式扩展VQA任务,模型不仅要基于图片问题对来预测答案,还要考虑到对话的历史和图片的注释信息,进行推理判断。任务设计参考图5(c)所示,聚合图片和注释的特征表示然后通过交叉注意力方式传递给对话encoder。给定图像文本注释信息,在对话中问问题,然后基于ITM损失函数判断对话中的答案是不是问题的答案。参考表9,结果就是[效果好]☺

Table. 9 Fig. 5

零样本迁移到视频语言任务

  表 10 和 11 也展示出了本文提出图像文本模型对于视频语言任务上也具有很强的泛化能力。将在COCO和VQA数据集上训练的模型,零样本迁移到文本-视频检索和视频问答任务。为处理视频输入,统一从视频中取n帧然后提取帧特征,合并为特征序列。尽管有着数据域上的差异,而且此种方式丢弃了视频帧及时间序列信息,但结果就是[效果好]☺

Table. 10 Table. 11

参考

【1】Align before Fuse: Vision and Language Representation Learning with Momentum Distillation.

标签:模态,模型,encoder,BLIP,图文,COCO,文本,图片
From: https://www.cnblogs.com/wolfling/p/17855536.html

相关文章

  • 自实现模态对话框-DoModal函数
    参考CDialog::DoModal函数的实现方式,自己实现了模态框相关功能。ModalBase.h头文件1#include<afxwin.h>23#defineID_NULL04#defineID_OK15#defineID_CANCEL26#defineID_ABORT3......
  • 多模态大模型CogVLM:智谱AI的新篇章
    CogVLM,这是一种新的视觉语言基础模型,由智谱AI和清华KEG联合开发。CogVLM在不牺牲任何NLP任务性能的情况下,实现了视觉语言特征的深度融合。CogVLM-17B模型在多模态权威学术榜单上取得了综合成绩第一的成绩,在14个数据集上取得了state-of-the-art或者第二名的成绩。模型架构CogVLM的核......
  • 开源多模态模型—MiniGPT-5,多模态生成的突破
    在人工智能领域,多模态生成已成为科技巨头争相突破的前沿。而MiniGPT-5模型,由加州大学圣克鲁斯分校研发,提出了全新的“GenerativeVokens”概念,创新性地构建了文本与图像特征空间的桥梁,推动了普通训练数据的有效对齐,同时生成高质量的文本和图像。MiniGPT-5的核心技术:GenerativeVoke......
  • 11月10日模态框和透明
    目录模态框什么是z-index属性?z-index属性透明效果模态框设置对象的层叠顺序需要用到z-index属性,什么是z-index属性?这里提供一个代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><style>.a{......
  • 多模态模型框架
    多模态模型框架如果有一个序列一共有四步操作,每一步操作都可以作为一条训练数据。训练数据如下图:Model选型文字和图像编码器分别为CN-clip的Vit-B/16和bertgithub地址:https://github.com/OFA-Sys/Chinese-CLIP操作编码器为:一个线性层升维到512维度工程实现:数据方面:前......
  • 冰橙Ai- ChatGPT开放接口最新版4.0 1106接口 gpt-4-1106-preview gpt-3.5-turbo-1106
    冰橙Ai-ChatGPT开放接口最新版4.01106接口gpt-4-1106-previewgpt-3.5-turbo-1106 图像生成DALL·E3多模态接口冰橙GPTchatGPT开放接口使用说明 【接入了腾讯云内容安全检测】冰橙GPT稳定提供API接口服务定时有人进行问题排查处理1小时内问题响应接入了腾讯云的内......
  • 多种模态数据集
    图像描述ImageCaptioningLAION-5B2022.3发布的迄今为止最大规模的图文对的多模态数据集。共计约5.85B数据,是基于CLIP过滤的。基于这个大型数据集,作者也发布不同侧重的子集。LAION2B-en是包含英文注释文本的,LAION2B-multi是包含100多种的其它注释文本语言的,LAION2B-nolang其中......
  • 多模态-CogVLM
    图文多模态方向:利用现有强大的预训练图像和语言大模型,冻结其参数并通过可训练模块建立起图像与语言模型间联系,实现对图文数据的联合处理能力。CoGVLM结构  整个网络结构由4部分构成:视觉模型(ViTencoder),语言模型(LLM),MLP适配器(MLPadapter),视觉专家模块(visualexpert......
  • 带你认识一下多模态对比语言图像预训练CLIP
    本文分享自华为云社区《多模态对比语言图像预训练CLIP:打破语言与视觉的界限》,作者:汀丶。一种基于多模态(图像、文本)对比训练的神经网络。它可以在给定图像的情况下,使用自然语言来预测最相关的文本片段,而无需为特定任务进行优化。CLIP的设计类似于GPT-2和GPT-3,具备出色的零射击能力......
  • 带你认识一下多模态对比语言图像预训练CLIP
    本文分享自华为云社区《多模态对比语言图像预训练CLIP:打破语言与视觉的界限》,作者:汀丶。多模态对比语言图像预训练CLIP:打破语言与视觉的界限一种基于多模态(图像、文本)对比训练的神经网络。它可以在给定图像的情况下,使用自然语言来预测最相关的文本片段,而无需为特定任务进行优化。CL......