“如果模型可以识别图像而无需针对该特定任务进行训练怎么办?”欢迎来到视觉语言模型的世界。
更多专栏文章点击查看:
LLM 架构专栏
大模型架构专栏文章阅读指南
Agent系列
强化学习系列
欢迎加入大模型交流群:加群链接 https://docs.qq.com/doc/DS3VGS0NFVHNRR0Ru#
公众号【柏企阅文】
知乎【柏企】
个人网站:https://www.chenbaiqi.com
简介:为什么视觉任务仍然挑战我们
从识别照片中的人脸到检测实时视频中的物体,计算机视觉彻底改变了机器“看”世界的方式。由于深度学习,图像分类、目标检测、分割甚至人物重新识别(ReID)等任务都取得了巨大进展。
但这些进步是有代价的:
- 需要收集和注释海量数据集。
- 从头开始训练模型需要大量时间和计算资源。
- 特定于任务的微调限制了模型的泛化能力 。
为了克服这些障碍,研究人员引入了一种新的范式:在大规模数据上预训练模型→针对特定任务对其进行微调。
虽然这有所帮助,但它仍然严重依赖于每个任务的标记数据。
随后,自然语言处理(NLP)的进步引发了转变。如果我们可以在图像 - 文本对上训练模型,让它们在任务中泛化,而无需任何微调,会怎么样?
不同的学习范式
转变:从监督视觉到视觉语言模型(VLM)
受BERT和GPT等语言模型的启发,出现了一类新的模型:视觉语言模型(VLM)。
这些模型在图像 - 文本对的大型数据集上进行训练。与针对特定任务进行调整不同,它们旨在理解视觉和文本模式之间的对齐关系。
结果呢?一个单一的模型可以:
- 无需对任何标签进行训练即可对图像进行分类(零样本分类)。
- 根据文本检索图像。
- 理解复杂的视觉语义。
2021年,一个VLM成为头条新闻:OpenAI的CLIP(对比语言 - 图像预训练)。
CLIP学会了用正确的标题匹配图像,而不是通过使用对比损失将它们与不正确的标题匹配。它不仅看到像素,还用语言理解它们。
视觉语言模型的工作原理
大多数VLM的核心包括:
- 图像编码器(例如ResNet或Vision Transformer)。
- 文本编码器(例如,BERT或GPT等Transformer)。
- 以及将两者在共享嵌入空间中对齐的目标。
让我们进一步分解:
图像编码器
VLM中有两种主要类型的图像主干:
- 基于CNN的(如ResNet):非常适合局部特征提取,通常用于早期的VLM。
- 基于Transformer的(如ViT):将图像补丁视为令牌,实现全局注意力机制和更深入的理解。
由于ViT的可扩展性和表达能力,现代VLM经常使用ViT。
文本编码器
这些通常基于彻底改变NLP的Transformer:
- BERT:基于编码器的双向结构。
- GPT:基于解码器的自回归结构。
大多数VLM使用Transformer编码器来表示输入文本,从简单的短语到详细的标题。
VLMs如何在预训练期间学习?
为了对齐视觉和语言,VLM使用了几个训练目标。让我们探索一下关键的目标:
1. 对比目标
这是CLIP的基础。
对于每个图像 - 文本对:
- 在嵌入空间中将匹配对拉近。
- 将不匹配的对推得更远。
这实现了零样本分类——只需嵌入像“狗的照片”这样的标签并将其与图像匹配!
变体包括:
- 纯图像对比学习(例如,SimCLR、MoCo)。
- InfoNCE损失。
- 图文对比学习(例如,CLIP、ALIGN)。
- 图文InfoNCE损失。
- 监督对比(例如UniCL):使用类标签来强制结构。
- 监督图文InfoNCE损失。
2. 生成目标
这些涉及生成输入的屏蔽部分:
- 掩蔽图像建模(MIM):预测缺失的图像补丁(例如,MAE、BEiT)。
- 掩码语言建模(MLM):预测掩码文本标记(例如,BERT)。
- 掩蔽跨模态建模:使用图像预测缺失的文本,反之亦然。
它们帮助模型捕获更深层次的语义信息。
一些模型(例如CoCa)甚至学习从图像中生成字幕,结合对比和生成学习。
3. 对齐目标
这些侧重于结构化的关系:
- 图像 - 文本匹配:这个图像和标题是一对吗?
- 区域 - 单词对齐:将单词与图像区域匹配(非常适合目标检测)。
这些目标对于细粒度视觉任务特别有用,例如视觉问答(VQA)或定位任务。
VLM架构:它们是如何构建的?
视觉语言模型(VLM)通常按照以下三种架构范式之一设计:Two-Tower、Two-Leg或单塔One-Tower。
CLIP和ALIGN等模型使用的双塔方法为图像和文本使用单独的编码器,允许独立处理每个模态。这种设计快速灵活,适合大规模预训练。然而,它在编码过程中缺乏直接的跨模态交互,这可能会限制其推理细粒度对齐的能力。
为了解决这个问题,CoCa和FLAVA等模型中看到的双腿架构引入了一个融合模块,将视觉和文本特征结合在一起。这允许模型执行对比和生成任务,同时实现跨模态的更丰富交互。
最后,CLIPPO和UniCL等单塔模型通过对图像和文本使用单一共享编码器,将集成向前迈进了一步。这种更紧密的融合鼓励了更高效的跨模态通信和推理。虽然还是一个相对较新的方向,但单塔架构有望实现统一的多模态理解。
将VLMs应用于视觉任务
一旦经过预训练,VLM可以通过两种主要方式进行调整:
- 零样本推理:按原样使用模型。只需将类名嵌入为文本(例如,“斑马的照片”)并将它们与图像嵌入匹配。
- 线性探测:在冻结特征之上添加线性分类器以实现更快的微调。
它们已经应用于:
- 图像分类(零样本ImageNet)。
- 基于文本的检索。
- Person ReID(使用图像或文本搜索)。
- 对象检测(通过将文本关联到区域) 。
结论
视觉语言模型正在重新定义计算机视觉的边界。凭借跨任务泛化、通过语言解释图像以及从海量未标记数据中学习的能力,它们为传统监督学习提供了强大的替代方案。
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。