Clip模型与Vit模型的区别?

目录

[一、ViT 模型是啥?](#一、ViT 模型是啥?)

[二、CLIP 模型是啥?](#二、CLIP 模型是啥?)

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

四、什么是语义坐标系?

[4.1 语义坐标系中的坐标轴](#4.1 语义坐标系中的坐标轴)

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

[4.3 坐标系应用](#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 里的理解:图和文在同一个语义坐标系

4.3 坐标系应用

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

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

  • 你只需要相信:

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

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

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

  1. 图片/文本 → embedding 向量

  2. 向量进 Faiss → 建索引

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

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

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

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

五、总结

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

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

相关推荐
GoldenSpider.AI2 小时前
什么是AI?AI新手终极指南(2025)
人工智能
m0_635129263 小时前
身智能-一文详解视觉-语言-动作(VLA)大模型(3)
人工智能·机器学习
知行力3 小时前
AI一周资讯 251108-251114
人工智能·chatgpt
迦蓝叶3 小时前
RDF 与 RDFS:知识图谱推理的基石
java·人工智能·数据挖掘·知识图谱·语义网·rdf·rdfs
DisonTangor3 小时前
【百度拥抱开源】介绍ERNIE-4.5-VL-28B-A3B-Thinking:多模态AI的重大突破
人工智能·百度·语言模型·开源·aigc
F_D_Z3 小时前
【解决办法】报错Found dtype Long but expected Float
人工智能·python
pen-ai3 小时前
【高级机器学习】 12. 强化学习,Q-learning, DQN
人工智能·机器学习
受之以蒙4 小时前
Rust ndarray 高性能计算:从元素操作到矩阵运算的优化实践
人工智能·笔记·rust