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 当作看图片那一侧的大脑

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

相关推荐
TOYOAUTOMATON9 小时前
自动化工业夹爪
大数据·人工智能·算法·目标检测·机器人
智算菩萨9 小时前
Pip与第三方库:一行命令安装 AI 能力
人工智能·pip
serve the people9 小时前
TensorFlow 基础训练循环(简化版 + 补全代码)
人工智能·python·tensorflow
Slaughter信仰9 小时前
图解大模型_生成式AI原理与实战学习笔记(第四章)
人工智能·笔记·学习
拓端研究室9 小时前
2025医疗健康行业革新报告:AI赋能、国际化|附170+份报告PDF、数据、可视化模板汇总下载
人工智能·pdf
DisonTangor9 小时前
iMontage: 统一、多功能、高度动态的多对多图像生成
人工智能·ai作画·开源·aigc
martian6659 小时前
详解高阶数学领域-信息论与深度学习:互信息在对比学习中的应用
人工智能·深度学习·学习
johnny23310 小时前
MinerU:理论与实战
人工智能
雪不下10 小时前
计算机中的数学:概率(6)
人工智能·机器学习·概率论
진영_10 小时前
深度学习打卡第J1周:ResNet-50算法实战与解析
人工智能·深度学习