想象你开了一家婚介所。每天的工作,是把一张张照片和一段段自我介绍放在一起,判断两个人是否般配。这正是多模态对比学习在做的事——只不过“照片”变成图像,“自我介绍”变成文本,而“红娘”变成神经网络。传统红娘上岗前要先做“身家调查”:把照片里的人、物、场景预先框出来,再与文字细细比对。这样准确,但每见一个客户都要花大量时间调取资料,成本极高。 今天要介绍的两位“红娘”代表了两种风格。BLIP 像一间全能工作室:既有视觉小编读图,又有文本小编读文,还设了融合顾问做最终撮合;它甚至能自己写推荐信来筛选优质案卷。ViLT 则像一款极简约会App:不做身家调查,直接把照片切成小方块和文字拼成一张“大合照”,让模型一眼扫过看整体感觉,速度快得惊人。一个靠精读赢得精度,一个靠极简赢得速度。看懂它们的差异,你就知道在真实项目里该请哪位出山。

岗位关联

掌握这两个模型的架构与选型逻辑,你将能在图文检索、内容审核、商品匹配等任务中快速判断该用“精度优先”还是“速度优先”,是通往多模态 AI 实战的必修课。

目录
  1. 可视化演示
  2. 背景与问题
  3. BLIP模型结构
  4. BLIP创新点
  5. ViLT模型结构
  6. 两模型对比
  7. 优缺点分析
  8. 应用与选型
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

动态演示BLIP/ViLT的核心机制,通过开始/执行/监控/完成四种模式展示关键概念与交互流程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

BLIP/ViLT:ViLT ViLT:无区域检测器的纯 T BLIP:图文理解与生成统一架 核心机制可视化 BLIP/ViLT整体架构与关键组件

背景与问题

作为婚介所老板,你首先得明白业务本质:判断一张照片和一段自我介绍是否“般配”。红娘看得多了,就会形成直觉——哪些组合看起来有戏,哪些一眼就知道不合适。这种直觉来自大量正例和负例的积累,是经验,也是这门生意的核心资产。

在深度学习中,这套“经验”就是对比学习。模型有两个编码器:一个把图片表示成向量,一个把文本表示成向量。般配的图文向量应该靠近,不般配的应该远离。衡量“近不近”最常用的指标是余弦相似度,再除以一个温度系数 τ 来控制分布的尖锐程度。温度越低,模型对“第一名”越执着,对错误配对越敏感。

在一个 batch 里有 N 对图文。对第 i 张图来说,它的正样本是配对文本 T_i,负样本是 batch 里其他 N-1 个文本。模型要能从中挑出正确的那一个,于是有了图文对比损失:

红娘每看一批案例,就调整一次自己的“打分习惯”,最终目标是让真CP永远排在候选列表第一名。这就是对比学习最朴素的直觉。

LITC=−1N∑i=1Nlog⁡exp⁡(sim(Ii,Ti)/τ)∑j=1Nexp⁡(sim(Ii,Tj)/τ)\mathcal{L}_{ITC} = -\frac{1}{N}\sum_{i=1}^{N} \log \frac{\exp(\text{sim}(I_i, T_i)/\tau)}{\sum_{j=1}^{N} \exp(\text{sim}(I_i, T_j)/\tau)}
公式的含义是:让正确图文对的“缘分分数”在整桌备选中排第一,排得越前,损失越小。
  1. 分子项第 i 张图与正确文本的相似度,除以温度 τ 后取指数,作为正对的“缘分分”
    exp⁡(sim(Ii,Ti)/τ)\exp(\text{sim}(I_i, T_i)/\tau)
  2. 分母项第 i 张图与 batch 内所有 N 个文本的缘分分之和,既包含正对,也包含所有负对
    ∑j=1Nexp⁡(sim(Ii,Tj)/τ)\sum_{j=1}^{N} \exp(\text{sim}(I_i, T_j)/\tau)
  3. 概率与损失正对缘分分占总分的比例越大,log 值越接近 0;对全 batch 求平均再取负号,就是我们要最小化的损失
    −1N∑i=1Nlog⁡(正对分总分)-\frac{1}{N}\sum_{i=1}^{N} \log \left( \frac{\text{正对分}}{\text{总分}} \right)

BLIP模型结构

BLIP 是一间全能红娘工作室,里面有清清楚楚的三个岗位。视觉小编负责读照片,文本小编负责读自我介绍,融合顾问则负责把两边信息放到一起深聊,最后拍板“合不合适”。

视觉小编是一个 ViT 编码器,把图像切成一块块 patch 后转成特征;文本小编是 BERT 风格的编码器,把文字转成特征;融合顾问则通过交叉注意力,让图像特征和文本特征充分对话,最后输出一个匹配概率。BLIP 就把这三个岗位统一在一个架构里,分别承担对比学习、匹配判断和字幕生成三类任务。

其中“判断这张图配不配这段文字”的任务叫 ITM(Image-Text Matching)。融合顾问把图像特征和文本特征的 [CLS] 向量拼接起来,过一个 MLP 和 sigmoid,得到匹配概率:

融合顾问看过双方材料后给出一个“合适程度”,系统据此决定要不要安排约会。BLIP 的核心能力,就藏在这个融合模块里。

pmatch=σ(MLP([hI;hT]))p_{match} = \sigma\left(\text{MLP}([h_{I}; h_{T}])\right)
这是红娘现场拍板:输出 0 到 1 之间的概率,越接近 1 表示越般配。
  1. 融合表示把图像特征 h_I 和文本特征 h_T 拼接成一个向量,让两类信息一起进入判断
    z=[hI;hT]z = [h_I; h_T]
  2. 线性打分MLP 将拼接向量压缩成一个实数值 logit,相当于红娘在心里打了一个初分
    z′=MLP(z)z^\prime = \text{MLP}(z)
  3. 概率转换sigmoid 把 logit 映射到 (0,1),得到“般配”概率
    pmatch=σ(z′)=11+e−z′p_{match} = \sigma(z^\prime) = \frac{1}{1 + e^{-z^\prime}}

BLIP创新点

工作室最厉害的地方,是它会自己写推荐信和筛案卷。网上爬来的图文对噪声很大,很多图配文根本对不上:一张猫的照片,旁边配的却是“今天的午饭真好吃”。如果照单全收,红娘的经验会被带偏。

BLIP 为此设计了 CapFilt 策略。它先训练一个生成器,为图片写一段新字幕(相当于写推荐信);再训练一个过滤器,用 ITM 分数判断这张图和新字幕是否匹配;最后只保留高置信度的图文对,作为后续训练的优质案卷。

写推荐信用的是语言建模(LM)目标——已知图片和前文,预测下一个词:

用高质量的推荐信(生成字幕)和严格的风控官(过滤器),工作室的案卷质量越来越高,撮合成功率自然提升。这是 BLIP 区别于早期多模态模型的关键创新。

LLM=−∑t=1Tlog⁡Pθ(wt∣w<t,I)\mathcal{L}_{LM} = -\sum_{t=1}^{T} \log P_\theta(w_t \mid w_{<t}, I)
这是“推荐信”的生成端:模型一边看图片一边决定下一句话写什么,写得好不好由这个损失衡量。
  1. 条件概率给定图片 I 和已经写出的词 w_{<t},模型预测当前词 w_t 的概率
    Pθ(wt∣w<t,I)P_\theta(w_t \mid w_{<t}, I)
  2. 逐词累加把整句话 T 个词的预测概率连乘,相当于检查推荐信每一个词是否都顺理成章
    ∏t=1TPθ(wt∣w<t,I)\prod_{t=1}^{T} P_\theta(w_t \mid w_{<t}, I)
  3. 对数与负号连乘转连加方便求导,取负号变成最小化问题
    −∑t=1Tlog⁡Pθ(wt∣w<t,I)-\sum_{t=1}^{T} \log P_\theta(w_t \mid w_{<t}, I)

ViLT模型结构

极简约会App不做身家调查。ViLT 干脆放弃了区域检测和 CNN 骨干,把图片切成固定大小的 patch,每个 patch 用线性层直接变成向量,再和文本 token 的向量拼成一条长序列,交给一个普通的 Transformer 层层计算自注意力。

图片和文字第一次见面,就坐在同一张长桌上。没有“预检测”这一前置环节,也不需要一个单独的目标检测器额外提供视觉特征。整个过程可以用一条公式表示:

ViLT 不看房子的户型图,也不查汽车的配置表,只看双方同框的“整体感觉”。好处是省事、快;代价是它缺少物体级别的先验,对细粒度空间细节的理解会弱一些。

z0=[Linear(p1),…,Linear(pN); Embed(w1),…,Embed(wM)]z_0 = [\text{Linear}(p_1), \dots, \text{Linear}(p_N); \ \text{Embed}(w_1), \dots, \text{Embed}(w_M)]
图片和文字拼接成同一条序列,每一层注意力都能让它们自由互动。
  1. 图像 patch 投影每个图像 patch p_i 通过线性层映射为 d 维向量
    vi=Linear(pi)v_i = \text{Linear}(p_i)
  2. 文本 token 嵌入每个词 w_j 通过嵌入表映射为 d 维向量
    tj=Embed(wj)t_j = \text{Embed}(w_j)
  3. 序列拼接图像向量与文本向量按顺序拼成一条输入序列
    z0=[v1,…,vN;t1,…,tM]z_0 = [v_1, \dots, v_N; t_1, \dots, t_M]

两模型对比

两位红娘同台竞技,风格截然不同。BLIP 是“各自先了解,再安排深聊”——视觉编码器和文本编码器先分头提取特征,再用交叉注意力融合。ViLT 则是“一张大桌集体见面”——图像 patch 与文本 token 直接拼接,交给同一个 Transformer 自注意力处理。

架构差异可以用两行“工作流”对比:

参数规模上,BLIP base 约为 2.23 亿,ViLT-B/32 约为 1.12 亿,因此 ViLT 推理更快、部署更省。性能上,BLIP 在 VQA、图文检索等精细任务上通常高出数个点,尤其当任务依赖细粒度视觉细节时优势明显。数据需求上,BLIP 的 CapFilt 能消化噪声较大的网络数据,ViLT 对数据质量更敏感。想为每个客户量身定制,工作室更稳;要在一小时内见上千个客户,App 才是王道。

hBLIP=CrossAttn(ViT(I),BERT(T)),hViLT=Transformer([Linear(Ipatch);Embed(T)])h_{BLIP} = \text{CrossAttn}(\text{ViT}(I), \text{BERT}(T)), \quad h_{ViLT} = \text{Transformer}([\text{Linear}(I_{patch}); \text{Embed}(T)])
一行公式看清两种工作流:BLIP 先分头提取再融合,ViLT 直接拼接共享主干。
  1. BLIP 路径图片走 ViT,文本走 BERT,再通过交叉注意力让两种特征相互修正
    hBLIP=CrossAttn(vI,tT)h_{BLIP} = \text{CrossAttn}(v_I, t_T)
  2. ViLT 路径图像 patch 线性投影后与文本嵌入拼接,交给同一个 Transformer
    hViLT=Transformer([vpatch;tword])h_{ViLT} = \text{Transformer}([v_{patch}; t_{word}])
  3. 对比结论BLIP 模块多、参数大,ViLT 模块少、吞吐快
    ParamsBLIP≈2×ParamsViLT\text{Params}_{BLIP} \approx 2 \times \text{Params}_{ViLT}

优缺点分析

没有完美的红娘,只有适不适合。BLIP 精读细品,能写推荐信,能过滤低质案卷,但模型重、训练贵、部署成本高。ViLT 轻快明了,预处理便宜,推理延迟低,但 patch 级特征缺乏物体级语义,细粒度空间推理容易吃亏。

选型时可以给每个模型打分:

重口碑选工作室,重翻台率选App。如果两者都重要,还可以让它们分工合作,这正是下一节要讲的级联方案。

scorem=α⋅Accuracym+β⋅Speedm\text{score}_m = \alpha \cdot \text{Accuracy}_m + \beta \cdot \text{Speed}_m
精度和速度是两种“业绩指标”,权重 α、β 由业务场景决定。
  1. 权重设定α 越高越看重准确率,β 越高越看重吞吐
    α+β=1,α,β≥0\alpha + \beta = 1, \quad \alpha, \beta \ge 0
  2. 计算得分对候选模型 BLIP、ViLT 分别做加权求和
    scoreBLIP=αAB+βSB;scoreViLT=αAV+βSV\text{score}_{BLIP} = \alpha A_B + \beta S_B; \quad \text{score}_{ViLT} = \alpha A_V + \beta S_V
  3. 选择最大得分最高的模型胜出
    m∗=arg⁡max⁡mscoremm^* = \arg\max_{m} \text{score}_m

应用与选型

落到真实项目,你要当“婚介所老板”而不是理论家。做电商图搜,海量商品先让 ViLT 快速粗筛,再让 BLIP 对候选精排;做内容安全审核,用 BLIP 判断封面图与标题是否一致,揪出低质标题党;如果数据源很脏,CapFilt 就是现成的“案卷清洁工”。

一个很实用的工程模式是级联:先用便宜模型把明显不匹配的候选拦下,再把存疑样本交给贵模型精判。用公式写出来:

实践时先用小规模评测集对比精度与时延,再根据业务预算调整阈值 θ 和级联顺序。先让 App 快速过滤明显不合适的,再让工作室精挑细选,这才是省钱又放心的婚介生意。

y={拒绝,ViLT(I,T)<θBLIP 精排,否则y = \begin{cases}\text{拒绝}, & \text{ViLT}(I,T) < \theta \\\text{BLIP 精排}, & \text{否则}\end{cases}
先用轻量 ViLT 做阈值粗筛,再用 BLIP 对通过初筛的样本精细打分。
  1. 粗筛ViLT 输出的匹配分数低于阈值 θ 的图文对直接拒绝
    ViLT(I,T)<θ⇒y=拒绝\text{ViLT}(I,T) < \theta \Rightarrow y = \text{拒绝}
  2. 精排通过粗筛的候选交给 BLIP 做细粒度判断
    y=BLIP(I,T)y = \text{BLIP}(I,T)
  3. 性价比多数负样本被轻量模型拦截,只有少数需要重型模型,整体成本自然下降
    开销≈粗筛成本+精排比例×精排成本\text{开销} \approx \text{粗筛成本} + \text{精排比例} \times \text{精排成本}

AI 应用场景

电商图搜与商品推荐

阶段:模型选型与推理部署

解决的问题:商品库百万级,单靠精确模型全量推理太慢,纯轻量模型精度不够。用 ViLT 做粗召回、BLIP 做精排,让“红娘App”先筛,“工作室”再深聊。

具体案例:用户上传穿搭照片,系统先用 ViLT 从 100 万商品中召回 1000 个候选,再用 BLIP 的 ITM 分数排序,最终返回 Top 20。线上时延从 800ms 降到 200ms,点击率明显提升。

内容安全与低质内容过滤

阶段:多模态内容理解

解决的问题:标题党、图文不相关的内容难以用纯文本规则识别。BLIP 的图文匹配能力能判断封面图与标题是否“般配”。

具体案例:资讯平台用 BLIP 为每篇封面文章打匹配分,低分内容进入人工复审队列,将低质内容曝光率降低约四成。

图文数据库自动清洗

阶段:数据准备与质量提升

解决的问题:网络爬取的图文对噪声多,人工清洗费时费力。BLIP 的 CapFilt 流程自动为图片生成字幕,再用 ITM 过滤低置信度样本。

具体案例:训练图像检索模型前,用 CapFilt 将 2000 万爬取图文对清洗到 800 万高质量对,在下游召回任务上提升约 3 个百分点。

Python 演示

python59 行
import torchimport torch.nn as nnimport torch.nn.functional as F class TextEncoder(nn.Module):    def __init__(self, dim_in, dim_out):        super().__init__()        self.net = nn.Sequential(            nn.Linear(dim_in, 128),            nn.ReLU(),            nn.Linear(128, dim_out)        )     def forward(self, x):        return F.normalize(self.net(x), dim=-1) class ImageEncoder(nn.Module):    def __init__(self, dim_in, dim_out):        super().__init__()        self.net = nn.Sequential(            nn.Linear(dim_in, 128),            nn.ReLU(),            nn.Linear(128, dim_out)        )     def forward(self, x):        return F.normalize(self.net(x), dim=-1) def contrastive_loss(img_feats, txt_feats, tau=0.07):    logits = img_feats @ txt_feats.t() / tau    labels = torch.arange(logits.size(0))    loss_i = F.cross_entropy(logits, labels)    loss_t = F.cross_entropy(logits.t(), labels)    return (loss_i + loss_t) / 2 def main():    torch.manual_seed(0)    B, dim_in = 16, 64    img_encoder = ImageEncoder(dim_in, 32)    txt_encoder = TextEncoder(dim_in, 32)    optim = torch.optim.Adam(        list(img_encoder.parameters()) + list(txt_encoder.parameters()),        lr=1e-3    )     for step in range(20):        fake_img = torch.randn(B, dim_in)        fake_txt = torch.randn(B, dim_in)        img_feats = img_encoder(fake_img)        txt_feats = txt_encoder(fake_txt)        loss = contrastive_loss(img_feats, txt_feats)        optim.zero_grad()        loss.backward()        optim.step()        if step % 5 == 0:            print(f"step {step}: loss={loss.item():.4f}") if __name__ == "__main__":    main()
目的:用 PyTorch 实现一个极简的图文双编码器,并训练 InfoNCE 对比损失,演示 BLIP/ViLT 中 ITC 损失的核心逻辑。
  1. logits = img_feats @ txt_feats.t() / tau计算 batch 内所有图-文对的相似度矩阵,并用温度系数缩放。
  2. labels = torch.arange(logits.size(0))对角线位置才是正确的图文配对,其他都是负样本。
  3. loss_i = F.cross_entropy(logits, labels)以图找文:每张图要从 N 个文本中认出自己的配对。
  4. loss_t = F.cross_entropy(logits.t(), labels)以文找图:对称方向同样训练,鼓励模型双向对齐。
  5. F.normalize(self.net(x), dim=-1)对特征做 L2 归一化,让点积结果直接等于余弦相似度。

常见误区

误区ViLT 连 region 特征都不用,肯定只是“偷懒的低配模型”,图像理解远不如 BLIP,所以项目里无脑选 BLIP 就好。

正解ViLT 不是没有理解能力,而是换了一种理解方式。它把图像 patch 当成和文字 token 平等的序列元素,通过深层自注意力学全局交互。它的弱项主要出现在细粒度空间推理和物体级语义上,但面对常规图文匹配、检索粗筛,表现足够好,而且换来了显著的速度优势。

为何常见:人们容易从“模块缺失”直接推断“能力缺失”,忽略了 Transformer 本身已经具备很强的特征学习能力。

误区既然对比学习要靠负样本区分,那就把 batch size 尽量调大,负样本越多模型一定越强。

正解负样本增多确实能提升对比学习的难度和判别力,但 batch size 受 GPU 显存限制,而且温度系数 τ 对梯度影响极大。τ 太小会让模型只关注最难的负样本,训练不稳定;τ 太大又会让正负样本分不开。实际中需要平衡显存、温度和收敛速度。

为何常见:InfoNCE 公式里负样本都在分母,初学者容易把它当作“免费的午餐”,忽略了计算和调参成本。

误区BLIP 有语言建模损失,ViLT 又和 BLIP 常被一起讨论,所以这两个模型应该都能生成字幕、写文章,主要用于文本生成。

正解BLIP 确实具备生成能力,但它的核心任务仍然是图文理解和匹配,生成只是辅助手段,用来增强表示和清洗数据。ViLT 则根本没有生成模块,只做对比和匹配。两个模型的主要用途都是图文检索、匹配、理解类任务,而不是自由文本生成。

为何常见:看到 LM 损失就以为“是 GPT 那样的生成模型”,忽略了多模态预训练中 LM 常作为辅助目标存在。

误区既然生成器能给图片写新字幕,那原始网络描述就没什么用了,训练时直接全部用生成字幕代替。

正解CapFilt 的完整流程是生成与过滤并行:一方面为图片生成候选字幕,另一方面用过滤器评估候选与图片的匹配分数,只保留高置信度的样本。生成字幕是“补充弹药”,不是“全盘替换”。原始描述在数据质量尚可时仍保留价值,人工写的文本往往比模型生成更丰富。

为何常见:把 CapFilt 简化为“生成字幕→替换原文本”,忽略了过滤器才是保证数据质量的关键。

误区已经用对比损失让图片向量和文本向量对齐了,再往上加交叉注意力或融合模块纯属浪费,匹配时直接算点积就行。

正解对比损失学的是“全局粗对齐”,适合检索召回。但很多任务需要细粒度的局部对应,比如“图片里左侧的红车是否对应文本里的红色跑车”,这时必须让两种特征在交叉注意力里逐位互动。BLIP 的融合模块和 ViLT 的单流 Transformer 都是干这个的,它们的存在是匹配精度的保证。

为何常见:初学对比学习时看到双编码器结构简单清晰,容易误以为“世界只有双塔”,忽略了下游任务的复杂度。

面试题

Q1. 在 BLIP 中,用于判断“图片与文字是否匹配”的损失是

单选题 · easy

  • A.语言建模损失
  • B.图文匹配损失← 正确答案
  • C.图文对比损失
  • D.图像重建损失

答案:B。图文匹配损失(ITM)专门做二分类,输出“匹配/不匹配”概率,相当于红娘最终拍板。语言建模损失用于字幕生成,图文对比损失用于粗对齐,图像重建损失不在 BLIP 的目标集合里。

Q2. ViLT 相比早期视觉语言模型,最大的结构简化是

单选题 · easy

  • A.不再使用文本编码器
  • B.不再需要区域检测← 正确答案
  • C.不再使用注意力机制
  • D.不再需要设置损失函数

答案:B。早期模型依赖目标检测器提取 region 特征,ViLT 直接用线性投影把图像 patch 变成 token,省掉了整个区域检测流程。它仍然使用注意力机制、文本编码和损失函数。

Q3. BLIP 的 CapFilt 策略主要用于

单选题 · easy

  • A.提升数据采样速度
  • B.过滤低质量图文对← 正确答案
  • C.降低损失函数复杂度
  • D.增加模型参数量

答案:B。CapFilt 先生成字幕,再用过滤器评估匹配分数,只保留高置信度的图文对,本质是数据清洗。它不改变采样速度、损失函数复杂度或参数量。

Q4. 对比损失中的温度系数 τ 主要控制

单选题 · mid

  • A.训练总步数
  • B.模型隐藏层数
  • C.相似度分布的尖锐程度← 正确答案
  • D.输入图像的分辨率

答案:C。τ 越小,logits 分布越尖锐,模型对最难负样本越敏感;τ 越大,分布越平滑,正负样本的区分度越低。它不控制步数、层数或分辨率。

Q5. BLIP 联合优化的三个目标包括

多选题 · mid

  • A.图文对比损失← 正确答案
  • B.图文匹配损失← 正确答案
  • C.语言建模损失← 正确答案
  • D.目标检测损失

答案:ABC。BLIP 同时优化 ITC(图文对比)、ITM(图文匹配)和 LM(语言建模)。目标检测损失属于 region 类模型,BLIP 的 ViT 视觉编码器并不做目标检测。

Q6. ViLT 用图像 patch 替换区域特征的主要好处是

单选题 · mid

  • A.不需要额外区域检测器← 正确答案
  • B.图像分辨率必然更高
  • C.文本长度可以无限增加
  • D.不再需要文本嵌入

答案:A。patch 直接来自图像切块,省去了检测器预处理。图像分辨率由输入决定,文本长度仍受 Transformer 长度限制,文本嵌入依然保留。

Q7. 下列关于 BLIP 与 ViLT 对比的说法正确的有

多选题 · hard

  • A.BLIP 通常参数量更大← 正确答案
  • B.ViLT 推理更加轻量← 正确答案
  • C.BLIP 不支持图文检索
  • D.ViLT 有区域检测模块

答案:AB。BLIP base 约 2.23 亿参数,ViLT 约 1.12 亿,所以 A 正确;ViLT 结构简单、无检测器,推理更轻量,B 正确。两者都可用于图文检索,ViLT 没有区域检测模块。

Q8. 在 ITC 损失中,一个 batch 里“正样例”指的是

单选题 · mid

  • A.对角线上的图文对← 正确答案
  • B.任意随机图文对
  • C.与图片无关的文本
  • D.反向排列的图文对

答案:A。通常把 batch 内第 i 张图与第 i 条文本视为配对,所以相似度矩阵对角线是正样例。其他位置经过负样本采样后都是负样例。

Q9. 如果上线任务对时延极其敏感且数据较干净,首选

单选题 · hard

  • A.BLIP base
  • B.ViLT← 正确答案
  • C.纯文本 BERT
  • D.图像分类 ResNet

答案:B。ViLT 轻量、无区域检测器,推理吞吐高,适合低时延场景。BLIP 精度高但更重;纯文本 BERT 不能处理图像;ResNet 只做图像分类,不能做图文匹配。

Q10. 关于图文融合方式,正确的说法有

多选题 · hard

  • A.BLIP 使用交叉注意力融合图文← 正确答案
  • B.ViLT 使用自注意力融合图文← 正确答案
  • C.两个模型都是单流结构
  • D.两个模型都包含生成目标

答案:AB。BLIP 是双流编码加交叉注意力融合,ViLT 是单流拼接后自注意力融合,所以 A、B 正确,C 错误。ViLT 没有生成目标,只有 ITC 和 ITM,D 错误。