1
CLIP的向量嵌入原理
1. 核心思想:对比学习 + 共享空间
CLIP的核心目标是将 图像和文本映射到同一个向量空间 ,让语义相近的图像和文本在空间中靠近,语义不同的则远离。
具体来说,CLIP使用 双编码器架构 :
两个编码器将各自的输入映射到 相同维度的向量空间 (例如512维),然后通过 对比学习 来训练。
2. 训练过程:4个步骤
CLIP的训练可以概括为以下流程:

其中 s 是余弦相似度,τ 是温度参数。
通过这一“推拉”过程,模型学会了让匹配的图文对在向量空间中靠近,不匹配的远离。
3. 一个重要的现象:模态差距
研究表明,CLIP的文本向量和图像向量在空间中是 分开的 ——文本向量聚集在空间的一个区域,图像向量聚集在另一个区域。这意味着:
这个差距不是bug,而是CLIP的固有特性——它源于 初始化偏差 (预训练的单模态模型天然分布不同)和 对比学习的强化作用
2
CLIP与BERT的核心区别

对比维度 | BERT | CLIP |
|---|---|---|
设计目标 | 通用文本理解 | 图文跨模态对齐 |
训练任务 | 掩码语言建模(MLM)+ 下一句预测(NSP) | 图文对比学习(ITC) |
训练数据 | 纯文本(BooksCorpus + Wikipedia) | 图文配对数据(4亿图像-文本对) |
输入模态 | 仅文本 | 文本 + 图像(双编码器) |
输出用途 | 文本分类、问答、序列标注等NLP任务 | 图文检索、零样本分类、多模态应用 |
向量空间 | 单模态空间(文本) | 多模态共享空间(文本+图像) |
BERT的训练方式
BERT通过 掩码语言建模 (MLM)训练:随机遮盖输入文本中15%的词,让模型预测被遮盖的词是什么。这是一种“填空”任务,模型必须利用上下文来理解每个词的含义。
这种训练方式让BERT学会了 深度的文本语义理解 ,在通用NLP任务上表现卓越。
CLIP的训练方式
CLIP通过 对比学习 训练:让模型学会判断图像和文本是否匹配。这不是生成任务,而是 判别任务 ——判断图文对是真是假。
这种训练方式让CLIP学会了 跨模态的语义对齐 ,能够理解“猫”这个文本和猫的图像是同一个概念。
3
优劣势对比

BERT的优势
BERT的劣势
CLIP的优势
CLIP的劣势
4
适用场景对比

场景 | 说明 | 示例 |
|---|---|---|
文本分类 | 情感分析、垃圾邮件识别、新闻分类 | 判断用户评论是正面还是负面 |
问答系统 | 从文档中提取答案 | 根据产品手册回答用户问题 |
序列标注 | 命名实体识别、词性标注 | 从文本中提取人名、地名、时间 |
文本相似度计算 | 计算两段文本的语义相似度 | 判断两篇新闻是否报道同一事件 |
语义解析 | 理解复杂指令、逻辑推理 | 将用户指令转化为结构化查询 |
场景 | 说明 | 示例 |
|---|---|---|
以文搜图/以图搜文 | 跨模态检索 | 用“夕阳下的海滩”搜索相关图片 |
零样本图像分类 | 无需训练即可分类新类别 | 用“猫”、“狗”、“鸟”三个文本判断图像类别 |
多模态搜索 | 结合图像和文本的搜索 | 找“看起来像猫但不是猫的动物”图片 |
文本到图像生成 | 作为扩散模型的文本编码器 | Stable Diffusion使用CLIP编码文本描述 |
图像描述生成 | 结合其他模型生成图像描述 | CLIPCap:CLIP + GPT生成图片标题 |
视觉-语言预训练 | 作为下游多模态任务的基础 | 视频理解、视觉问答的预训练模型 |
在某些应用中,BERT和CLIP可以 协同工作 :
场景 | BERT的角色 | CLIP的角色 |
|---|---|---|
智能图像检索系统 | 理解用户复杂查询的语义 | 将理解后的查询与图像库匹配 |
机器人视觉语言导航 | 解析“先走到沙发旁,再拿起遥控器”这类复杂指令 | 识别图像中的“沙发”、“遥控器” |
多模态问答 | 理解问题的语义和逻辑 | 从图像中提取与问题相关的视觉特征 |
5
选型建议
→ 考虑CLIP的二值量化版本 。研究表明,通过在训练中加入伪量化损失,可以将CLIP的向量从float32压缩为二进制,内存减少32倍,同时保持约87-93%的性能