多模态小记:CLIP、BLIP与BLIP2

部署运行你感兴趣的模型镜像

CLIP

使用网络上爬取得到的大量图文对进行对比学习,图文匹配的是正样本,图文不匹配的是负样本,使匹配样本的embedding之间的距离尽可能小,不匹配样本间的距离尽可能大。

缺点:网上爬的数据质量差,不能进行生成式任务。

BLIP

CLIP只有ITC(Image Text Contrastive)任务,但不能做生成式的任务,而BLIP则提出了一个新的框架将ITM(Image Text Match)和LM(Language Model,即生成文本)的任务融合在一个框架里,称为Mutimodal mixture of Encoder-Decoder (MED)。
在这里插入图片描述
ITC做的任务跟CLIP几乎一致;而ITM的任务是一个二分类,输出图文是否匹配;LM任务就是根据图片输出对应文本。这三个任务将在同一框架下一起训练。

对于CLIP中爬取的数据噪声太多的问题,BLIP也提出了一个全新框架,Captioner-Filter框架,类似一个数据增强训练框架。左侧浅紫色的部分对应上图的整个训练框架,TwT_wTwTsT_sTs分别表示网上爬取的文本和LM生成的文本,绿色为较干净的数据,而红色是包含噪声较多的数据,ThT_hTh为人工标注的高质量数据,但是数据量非常少。

如下图,我们先用红TwT_wTwThT_hTh对MED做一个预训练。然后对于Filter(ITM任务部分)和Captioner(LM任务部分)我们使用人工标注的高质量数据集ThT_hTh进行微调。紧接着开始数据增强进程,由于Filter和Captioner都是用高质量数据集微调过的,因此其都更倾向于低噪声、高匹配度数据。此时有两个增强路线,路线1是将网上爬取的低质量TwT_wTw通过Filter,筛选出高质量的部分,即绿色TwT_wTw;路线2是给Captioner输入图片,使其生成对应的描述,这个描述同样过一遍Filter得到高质量部分,记作绿色TsT_sTs,三个绿色的数据共同组成了增强版高质量数据集,用这个数据集我们可以继续训练整个MED。
在这里插入图片描述

BLIP2

在BLIP的基础上,BLIP2主要专注于如何增大模型的规模,因为BLIP肉眼可见是一个非常庞大的框架,里面包含非常多的需要训练的参数,限制了模型规模的进一步扩大。BLIP2的思路是首先冻结住参数量最多的Text/Image Encoder。但不训练编码器的话,图文编码之间会有巨大的gap,为了解决这个问题,BLIP2引入了Q-Former(Querying Transformer)一个轻量级的Transformer来弥合两个冻结的编码器之间的gap。
在这里插入图片描述
Q-Former的输入是图片编码、一个可学习的Queries向量以及对应的文本,输出则是要求提取出图片中与文本相关的信息。
在这里插入图片描述
上图对应BLIP第一阶段的学习过程,有三个任务,训练三个loss。其一是ITM,这个任务图片和文本都是可以相互看到的,因此没有元素被mask;其二是ITG,根据图像生成文本,在这个时候Queries提取到的信息会通过attention层传递过来,Q要能自主地提取图像中的关键信息,因此Q是不能看见T地,而由于这个是生成式任务,T也只能看到Q和当前位置之前地T;其三是ITC,这个任务就是Q和文本分别编码,期望得到的特征尽可能接近,因此QT之间都不能看到对方。在经过训练后,第一阶段就能输出一个图像中与文本最相关的信息的编码,在没有文本的时候也会尽力将图片中有价值的信息编码到与文本相近的空间中。
在这里插入图片描述
在第二阶段的训练中,我们把Q-Former输出的编码再接一个全连接层,直接给到冻结的语言大模型中。有两种模式,一种是完全不给文本,让LLM自行生成;另一种则是给一下开头,让LLM进行补全。

您可能感兴趣的与本文相关的镜像

Qwen3-VL-8B

Qwen3-VL-8B

图文对话
Qwen3-VL

Qwen3-VL是迄今为止 Qwen 系列中最强大的视觉-语言模型,这一代在各个方面都进行了全面升级:更优秀的文本理解和生成、更深入的视觉感知和推理、扩展的上下文长度、增强的空间和视频动态理解能力,以及更强的代理交互能力

### 关于多模态模型 CLIPBLIPBLIP-2 的介绍比较 #### CLIP 模型概述 CLIP(Contrastive Language–Image Pre-training)是一种开创性的多模态模型,能够将图像和文本映射到同一嵌入空间中。该模型通过大规模无监督的方式训练,在大量互联网图片及其对应的标题上进行对比学习。这种设计使得CLIP能够在多种下游任务中表现出色,而无需针对特定任务重新训练。 #### BLIP 模型特点 BLIP(Bootstraping Language-Image Pretraining with Frozen Image Encoders and Large-Scale Web Data)进一步推进了这一领域的发展。它引入了一个冻结的视觉编码器以及一个强大的解码器结构用于处理语言部分。具体来说: - **CapFilt机制**:利用两种不同的方式——基于检索的任务和生成式的描述任务来增强模型的能力[^3]。 - **联合训练目标**:包括但不限于图像文本的对比学习、图像文本匹配以及图像条件下的语言建模等三个方面[^4]。 这些特性使BLIP不仅能在零样本设置下完成复杂的跨模态推理工作,而且还能有效地适应各种实际应用场景中的需求变化。 #### BLIP-2 架构改进 作为BLIP系列的新成员,BLIP-2继承并优化了许多前代版本的优点。其主要贡献在于提出了InstructBLIP框架,这是一个专门为指令跟随场景定制化的解决方案。相比于原始版,BLIP-2做了如下调整: - 更加注重交互性和可控性; - 提升了对于复杂命令的理解能力; - 改进了生成质量,特别是在遵循指示方面表现尤为突出[^1]。 此外,BLIP-2还特别强调了如何更好地支持开放域问答、对话系统以及其他涉及自然语言理解和生成的应用程序开发。 综上所述,虽然这三个模型都属于多模态研究范畴内的成果,但是各自侧重点有所不同。CLIP侧重于构建通用表征;BLIP则致力于提高泛化能力和应用灵活性;至于最新的BLIP-2,则是在此基础上增加了更多面向用户的特性和功能。 ```python # 示例代码展示不同模型加载方法 import clip from blip import BlipModel from blip2 import Blip2Model model_clip, preprocess = clip.load("ViT-B/32") # 加载CLIP模型 blip_model = BlipModel(pretrained=True) # 初始化BLIP实例 blip2_model = Blip2Model(pretrained="instruct") # 使用预定义配置创建BLIP-2对象 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShadyPi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值