当前位置: 首页 > news >正文

ViT与CLIP:图像×文本 多模态读心术揭秘

讲解ViT与 CLIP的原理、差异,以及它们在多模态大模型中的应用

1 ViT (Vision Transformer)

  • 本质:直接把 Transformer 应用于视觉任务的模型。

  • 工作方式

    1. 将输入图像切成固定大小的 patch(如 16x16),
    2. 将每个 patch 展平后通过线性映射得到 patch embedding,
    3. 添加 positional embedding(位置信息),
    4. 输入到标准 Transformer Encoder 中,得到整图的表示或 per-patch 表示。
  • 用途

    • 单纯视觉任务,如分类、目标检测、分割。

    • 作为视觉编码器,为多模态模型提供“图像理解”能力。

在这里插入图片描述

📊 将图片分块,通过卷积层和flattern,提取出图片的特征,得到(batchsize, 9, embed_dim),过transformer得到embedding。语言encoder和图像encoder在这里有所不同,语言的encoder只与上文特征有关,而图像encoder与全局特征均有关。

2 CLIP (Contrastive Language-Image Pretraining)

  • 本质:OpenAI 提出的 跨模态对比学习框架,预训练得到能够把图片和文本投影到同一语义空间的视觉-文本模型。

  • 架构

    1. 视觉编码器:常用 ViT 或 CNN(如 ResNet),将图像转为 embedding。

    2. 文本编码器:Transformer,将文本转为 embedding。

  • 对比损失训练

    • 对于每个图像和文本描述对,让它们在 embedding 空间靠得更近。对于其他不匹配的组合,让它们远离。 例如,同一batch内做 InfoNCE Loss。
  • 能力

    • 支持 zero-shot 识别(如“狗的图片”与“狗”文本匹配 score 最高),为多模态理解奠定基础。

📊 clip采用对比学习的方式进行训练,目的是将图片特征和文本特征训练到同一个特征空间里面

3 ViT 与 CLIP 的区别

方面ViTCLIP
目标提供纯视觉表示提供图像与文本对齐的跨模态表示
输入图像图像 + 文本对
结构纯视觉 Transformer Encoder视觉编码器(可为 ViT)+ 文本编码器 + 对比损失训练
训练监督分类(ImageNet 标签)或自监督视觉任务大规模图文对的对比预训练
输出图像 embedding图像 embedding + 文本 embedding,且在同一空间
应用视觉下游任务跨模态检索、Zero-shot 分类、多模态大模型视觉模块

📊 ViT 是一种 Transformer 架构用于处理图像;CLIP 则是一个利用对比学习,将 ViT + 文本Transformer 结合训练得到的跨模态模型。

在这里插入图片描述

📊 ViT:强大的图像 Transformer 编码器,用于视觉任务。CLIP:通过对比学习,将 ViT 与文本 Transformer 结合起来,实现图像-文本对齐,成为多模态模型的基础。

4 在多模态大模型里的使用方法

  • 多模态大模型(如 LLaVA、Qwen-VL、Emu)通常需要将图像编码为 embedding,然后与语言模型交互。

  • ViT 可直接做视觉特征提取,但模型不具备“对齐文本语义”的预训练能力。

  • CLIP ViT(即使用 CLIP 训练过的 ViT 作为视觉 encoder)能够输出对语言理解更友好的 embedding,因此被广泛采用。

模型视觉编码与对齐方式多模态输入处理流程
LLaVA使用 CLIP ViT-L/336px 作为视觉编码器,直接提取视觉 embedding,通过 projection layer 映射到语言模型 token embedding 空间1. 图像输入 → CLIP-ViT 提取视觉 embedding(维度为 [n_patches, hidden_size])
2. 经过映射层(projection layer)转换为 token embedding
3. 与文本 token 一起拼接输入 LLM,完成多模态推理与生成
BLIP-2使用 pre-trained ViT-G/14 作为视觉编码器 + Q-Former(Querying Transformer) 提取 query embedding,再连接 LLM1. 图像输入 → ViT-G/14 提取视觉 embedding
2. Q-Former 输入固定数量 query,通过 cross-attention 提取 query embedding
3. 将 query embedding 输入 LLM 进行视觉-文本推理与生成
Qwen-VL使用 CLIP ViT-L/14 作为视觉编码器,通过 Q-Former 提取视觉 token,与 LLM 对齐1. 图像输入 → CLIP-ViT 提取视觉 embedding
2. Q-Former 提取视觉 token
3. 与文本 token 拼接后输入 LLM 实现多模态推理

. 图像输入 → CLIP-ViT 提取视觉 embedding
2. Q-Former 提取视觉 token
3. 与文本 token 拼接后输入 LLM 实现多模态推理 |

📊 表格展示了LLaVA、BLIP-2、Qwen-VL、Emu 实际使用流程与架构

http://www.lqws.cn/news/588961.html

相关文章:

  • python开篇介绍
  • 人工智能参与高考作文写作的实证研究
  • 大根堆加小根堆查找中位数o(N)时间复杂度
  • I/O I/O基本概念与基本I/O函数 6.30
  • CppCon 2018 学习:An allocator is a handle to a heap Lessons learned from std::pmr
  • 第八章IPv4、IPv6、ICMP、ARP、RARP
  • Mysql索引优化
  • 矩阵方程 线性代数
  • 深度学习04 卷积神经网络CNN
  • docker使用容器网络
  • SQL学习笔记5
  • python环境快速搭建
  • springboot中多个定时任务(@Scheduled)如何互不影响
  • jenkins集成sonarqube(使用token进行远程调用)
  • 查看CPU支持的指令集和特性
  • 项目:数据库应用系统开发:智能电商管理系统
  • 华为云Flexus+DeepSeek征文 | 基于华为云Flexus X实例部署Dify平台构建企业行政助手的可用性研究
  • 第 1 课:Flask 简介与环境配置(Markdown 教案)
  • HTML之常用基础标签
  • LeetCode Hot100(图论)
  • CSDN博客大搬家(本地下载markdown合适和图片本地化)
  • Python 爬虫入门教程:Requests 和 BeautifulSoup 实战
  • 设置方法区内存的大小
  • Linux 系统管理:自动化运维与容器化部署
  • 深入理解指针(3)
  • 【甲方安全建设】敏感数据检测工具 Earlybird 安装使用详细教程
  • httpd-devel 与服务无关
  • BERT 模型详解:结构、原理解析
  • AI编程实战:Cursor黑科技全解析
  • RocketMQ第五节(springboot整合MQ)