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

Clip模型与Vit模型的区别?

目录

一、ViT 模型是啥?

二、CLIP 模型是啥?

三、两者之间的关系可以这样理解

四、什么是语义坐标系?

4.1 语义坐标系中的坐标轴

4.4 放到 CLIP 里的理解:图和文在同一个语义坐标系

4.3 坐标系应用

五、总结


一、ViT 模型是啥?

ViT = Vision Transformer,就是把原来做 NLP 的 Transformer 搬来做视觉。

传统 CNN(ResNet 那类)是:

  • 用卷积核在图像上滑来滑去看局部,再慢慢堆深。

ViT 的思路是:

  1. 把图片切成一块一块的小方块(例如 16×16 patch)。

  2. 每个 patch 展平成一个向量,相当于一句话里的一个“词”。

  3. 给这些 patch 加位置信息(知道谁在左上、谁在右下)。

  4. 丢进 Transformer Encoder:靠 自注意力 Self-Attention 让每个 patch 和其他所有 patch 交流信息。

  5. 最后取一个 [CLS] 向量或者平均向量,作为这张图的“特征”。

简化公式:

  • 输入:图片 → patch 序列

  • 输出:一个 图像特征向量 f_img ∈ R^D

这个向量可以拿去干各种事:分类、检索、分割的 backbone 等。

所以:

ViT 只是一个“图像编码器结构”,管你下游干啥,它只负责把图 → 向量。

二、CLIP 模型是啥?

CLIP = Contrastive Language-Image Pre-training(对比式图文预训练)。

它解决的问题是:

“给我一句话,给我一堆图,我要知道哪张图跟这句话最匹配。”

CLIP 里有两个主要部件:

  1. 图像编码器(可以是 ResNet,也可以是 ViT)

    • 把图片变成一个向量 v_img

  2. 文本编码器(一般就是 Transformer)

    • 把一句话变成一个向量 v_txt

训练方式(对比学习):

  • 模型看到一批 配对的图-文

    • (图1, 文1)、(图2, 文2)、…、(图N, 文N)

  • 把所有图变成向量 v_img[i],所有文变成向量 v_txt[j]

  • 计算图文之间的相似度(常用 cos / 内积):

    sim[i, j] = v_img[i] · v_txt[j]

  • 目标:

    • 正确配对的 (i=i) 相似度最大

    • 其他错配对 (i≠j) 相似度低

  • 换句话说:

    • “图1”的向量要尽量靠近“文1”的向量,

    • 远离“文2、文3…”的向量。

经过大规模训练(几亿对图文),最终得到:

  • 对任意图片 → 向量 v_img

  • 对任意文本 → 向量 v_txt

  • 同一种语义的图和文,会自动聚在一起。

于是你就可以:

  • 文本搜图:

    • 文 → 向量;图库图 → 向量

    • 找相似度最大的图片向量

  • 以图搜图:

    • 查询图 → 向量,在图库图向量里找最近邻

  • 零样本分类:

    • 几个中文标签做成几句文本 → 向量

    • 看图片向量最像哪句文本的向量

所以:

CLIP 是一整套“图文对齐 + 检索”的模型和训练框架
它内部会用一个图像编码器(很多时候就是 ViT),再加一个文本编码器。

三、两者之间的关系可以这样理解

换一个通俗说法:

  • ViT:一个“只学会看图”的 Transformer 结构,能把图压成向量。

  • CLIP:把“看图的大脑(ViT/ResNet)” + “看字的大脑(文本 Transformer)”。拿海量图文配对一起训练,让“图向量”和“文向量”在同一个语义坐标系里对齐。

在 Chinese-CLIP 里:

  • 图片那边往往是 ViT-B/16 一类的 ViT

  • 文本那边是中文 RoBERTa 类模型

  • 用 CLIP 的训练方法,把 中文句子 ↔ 图片 对齐起来。

四、什么是语义坐标系?

4.1 语义坐标系中的坐标轴

这里有个重要点:

语义坐标系里的每一维(每个轴)
通常并不是人类可直接解释的东西

它不是简单的:

  • 第 1 维:可爱程度

  • 第 2 维:是否户外

  • 第 3 维:颜色深浅

而是模型在训练过程中“自动”学到的一堆特征组合。

但你可以概念性地这样理解:

  • 某个方向可能大致表示“动物 vs 非动物”;

  • 另一个方向可能表示“户外 vs 室内”;

  • 再一个方向表示“宏观场景 vs 局部物体”;

  • ……

只不过这都混在一起,变成了 512 维、1024 维这样高维的向量空间。

所以:

语义坐标系 = 一个高维空间,
每个轴是模型自己学出来的“特征方向”,
轴本身未必可解释,但“距离关系是有意义的”。


4.4 放到 CLIP 里的理解:图和文在同一个语义坐标系

image.png

4.3 坐标系应用

比如在 “相似图片搜图 / 文本搜图”应用中:

  • 你不需要显式去管“每一维代表什么”

  • 你只需要相信:

    • 模型已经帮你把所有图 & 文放进一个语义坐标系;

    • 在这个坐标系里,用内积 / 余弦做最近邻检索就表示“语义上很像”。

所以工程上可以完全把它当成黑盒子:

  1. 图片/文本 → embedding 向量

  2. 向量进 Faiss → 建索引

  3. 查询向量 → 最近邻 → 检索结果

理解“语义坐标系”的意义主要是:

  • 你知道**“相似”是在一个学出来的高维空间里定义的,而不是简单的像素差**;

  • 以后你想对比不同模型,你就是在对比:谁构造的“语义坐标系”更合理、结构更好。

五、总结

ViT 是一种“看图的神经网络结构”
CLIP 是一种“让图片向量和文本向量对齐的训练方法 + 成品模型”,而 CLIP 里常常把 ViT 当作看图片那一侧的大脑

语义坐标系是图像编码器与文本编码器 编码出来的向量所在的坐标空间,这个坐标空间设计是否合理,决定了图片或者文本在后续训练过程表达是否到位。

http://www.dtcms.com/a/609896.html

相关文章:

  • 前端 CSS selector
  • 《嵌入式开发硬核指南:91问一次讲透底层到架构》
  • 贵阳市网站建设wordpress改为邮箱验证注册
  • 深入解析与应用:Delphi-2M 健康轨迹预测模型的开源实践与研究(下)
  • 可信网站值得做吗网站中怎么做下载链接
  • 在 UniApp 中为小程序实现视频播放记录功能
  • 嗑一下Vue3 生态新插件
  • 31、【Ubuntu】【远程开发】内网穿透:反向隧道建立(三)
  • ubuntu20.04下使用D435i实时运行ORB-SLAM3
  • 网站建设哪便宜wordpress建手机版6
  • 东莞如何搭建网站建设wordpress视频压缩
  • Rust 宏:深入理解与高效使用
  • 基于异质专家协同一致性学习的弱监督红外 - 可见光行人重识别
  • 挂载配置文件以Docker启动Redis服务
  • 网站被墙怎么做跳转深圳龙岗个人网站建设
  • 标准输入输出stdio和JSON-RPC
  • 免费seo网站推荐一下软件手机网站建立教程
  • 有哪些网站可以用常州小程序开发报价
  • Python自动化浏览器操作与定时任务实战指南
  • web中国民族文化展示网站4页面
  • 【剑斩OFFER】算法的暴力美学——【模板】前缀和
  • php网站建设考试新品发布会的作用
  • 视频模板网站推荐建筑装饰网站模板
  • PyCharm 软件关联 GitHub 账户
  • 中东核心支付方式
  • 2025数维杯秋季赛赛中陪跑助攻进行中
  • 人工智能基础知识笔记二十:构建一个简单的Agent+MCP Server
  • 零基础入门C语言之贪吃蛇的实现
  • Origin将2D普通的XPS曲线图升级为三维XPS瀑布图
  • 【C++】哈希表算法习题