关于CLIP的基本知识
目录为什么需要CLIPCLIP的模型结构和训练方式CLIP能做什么CLIP做不到什么为什么需要CLIP传统的计算机视觉模型你要收集一大堆猫狗图片或者是手写数字之类的给他们手工分别标注类别。然后构建一个卷积神经网络使用标注好的数据训练网络让他正确预测类别。在训练完毕之后输入新的图片输出分类结构。例如你输入一张狗然后返回狗96% 这表示对狗的预测概率示意然后你突然需要识别一些其他东西比如飞机汽车苹果你需要增加标签修改输出层准备新数据。这里出现了三个问题1.人工标注非常昂贵如果你要识别1000个东西每个类别收集1000张照片你就需要100万张标注图片2.分类体系固定一个针对1000类的分类器输出层对应1000个类别。你不能通过增加一段新文字就让原来的分类自动增加一个类别。3.模型训练的成果不容易迁移针对不同的任务就算你已经训练过类似的东西但大部分情况下你无法利用先前训练好的模型你只能改代码重新设计去设计一个新模型CLIP是怎么解决问题的互联网上有大量配对好的文本和图像这不一定是人工制作的严格分类但是信息很丰富。比如第一句不单单表达cat还包含orange sleeping window。比起单一的标签自然语言含有更加丰富的概念。如果模型能理解就不需要为每一种新任务单独训练一个固定的分类器。于是2021 年OpenAI提出 CLIP全称为Contrastive Language-Image Pre-training即对比式 语言-图像预训练。原始 CLIP 使用约 4 亿对互联网图文数据进行训练通过图文匹配任务学习视觉表示并展示了较强的Zero-shot 分类能力。它将大量学习工作提前到了预训练阶段使下游任务能够更方便地复用这些知识。那么什么是预训练CLIP怎么在不同任务中被重复使用的一个模型至少包含模型参数 模型结构模型结构是人为定义的而模型参数在最开始可能只是个随机数在训练中不断调整成能完成任务的数值。而预训练正是用规模巨大的数据进行训练让模型获得迁移的能力之后其他研究者不必要从随机参数开始训练可以加载已经训练好的权重。CLIP的模型结构和训练方式一张经典的图CLIP采用双编码器架构视觉编码器Image Encoder接受图片输出视觉特征向量。原始 CLIP 实验使用过 ResNet 和 Vision TransformerViT作为视觉骨干网络。文本编码器Text Encoder通常由 Transformer 结构处理输出文本特征向量。这个部分内容非常丰富我以后有机会再写一篇关于这里的内容。编码器输出还会经过相应的投影操作使图像和文本特征进入可比较的向量空间。图像和文本经过不同编码器最终得到相同维度的向量。这两个向量不能天然比较后面的联合对比训练才让它真的具有跨模态语义。那么CLIP究竟如何训练假设我们有一个 Batch包含 4 对匹配的图像和文本图像对应文本猫的图片A photo of a cat狗的图片A photo of a dog飞机的图片A photo of an airplane苹果的图片A photo of an appleCLIP 首先分别编码全部图像和文本。得到假设每个特征向量都是 512 维然后对图像和文本特征进行归一化并计算相似度矩阵也由此可以这样理解训练的目标就是让匹配的图文相似度尽可能高让 Batch 内不匹配的图文相似度相对更低。我们希望矩阵的对角线得分较高而其他位置相对较低。这就叫对比学习那么CLIP是怎么构造损失函数的呢先对图像和文本向量进行 L2 归一化计算缩放后的相似度其中是τ温度参数原始 CLIP 通过可学习的对数缩放参数实现这一操作。对于第i张图像将 Batch 内正确配对的文本作为目标图像到文本方向的损失可以写为反过来以文本为查询寻找匹配图片最终使用对称的交叉熵损失这两项分别鼓励正确的图像—文本、文本—图像匹配。其中需要注意一点Batch 内的负样本不一定真的语义不相关。 例如两张不同的猫图片可能分别对应两句猫的描述但标准对比损失仍会将非配对项作为负例。这是对比学习存在的一个局限。CLIP能做什么1. Zero-shot 图像分类假设你没有任何用于训练的动物图片但希望分类CatDogBird可以直接将这些类别构造成文本texts [ a photo of a cat, a photo of a dog, a photo of a bird]然后计算图片与三个类别的相似度选择相似度最高的类别。无需针对这三个类别重新训练 CLIP。注意Zero-shot 不是说 CLIP 从未见过猫或者狗的概念而是不使用目标任务的标注训练样本重新训练模型。2. 文本检索图像想象一个系统存储了 10 万张图片。你输入一只坐在海边看日落的猫。系统不需要提前给每张图片分配这样的标签。可以先用 CLIP 对所有图片进行编码按相似度排序返回最相关的图片。3. 图像检索图像原理类似只是查询输入由文字变成图片。例如上传一张灰色运动鞋照片让系统从商品库中搜索外观或语义相近的鞋。这里甚至可以只使用 CLIP 的视觉编码器。4. 作为其他视觉系统的特征提取器CLIP 不只能作为完整的零样本分类系统也可以只保留其中的编码器得到可供其他算法使用的特征。CLIP做不到什么CLIP 能够识别图文之间的语义关联不意味着它天然具备生成、定位、分割、推理和精确测量等全部能力。任务原始 CLIP 能否直接完成常规解决方式零样本图像分类可以候选类别文本、Prompt Engineering图文检索可以向量相似度与检索系统生成图片描述不可以直接生成加入语言生成器或使用图像描述模型文生图不可以直接生成图片扩散模型等生成模型物体检测与坐标定位不具备原生检测输出检测网络、开放词汇检测模型像素级语义分割不具备原生像素级输出分割网络与 CLIP 特征结合图像中的物体计数不可靠专用检测/计数模型精确尺寸测量不具备原生测量机制分割/检测、相机标定和几何计算图片视觉问答不具备原生回答生成能力与语言模型结合或使用专用 VQA 模型细粒度专业分类可以尝试但性能不确定Few-shot Adaptation、Fine-tuning 等

相关新闻

可集成模块式时间间隔计数器选型全解析

可集成模块式时间间隔计数器选型全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 15:42:41 阅读更多 →
开源代码评审工具 open-code-review:自动化与数据化的团队实践

开源代码评审工具 open-code-review:自动化与数据化的团队实践

代码评审这件事,每个团队都在做,但做得好的团队真不多。我在团队里推了大半年强制评审,效果一直不理想——评审流于形式、凑字数评论满天飞、合并窗口期大家都在刷“LGTM”。后来我干脆自己动手,把评审流程的自动化、规则化、数据…

2026/10/19 15:41:39 阅读更多 →
开源代码审查方案open-code-review:把Code Review从“看心情”变成“按流程”

开源代码审查方案open-code-review:把Code Review从“看心情”变成“按流程”

半年前我在团队内部推代码审查的时候,一个后端老哥直接在群里回了一句:“你们这哪是 review,这是审犯人。”话糙理不糙。代码审查这件事,很多人不是不想做,是被“怎么做”三个字卡住了。后来我把跑通后的整套方案整理成…

2026/10/19 15:41:39 阅读更多 →

最新新闻

XAMPP本地开发环境搭建与配置避坑指南

XAMPP本地开发环境搭建与配置避坑指南

1. 为什么本地开发环境值得反复折腾刚入行那会儿,我最怕的不是写代码,而是配环境。一个项目跑不起来,排查半天发现是 PHP 版本对不上、MySQL 端口被占用、Apache 模块没开——这种坑踩一次记一辈子。后来带新人,发现大家卡的地方几…

2026/10/19 16:24:58 阅读更多 →
板式家具下料算法:二维排样优化与Qt工程实现

板式家具下料算法:二维排样优化与Qt工程实现

简介:本资源是一套基于Qt框架实现的板式家具智能下料算法实践项目,面向家具制造行业工程师、工业优化算法学习者及C/GUI开发初学者,聚焦板材利用率提升这一核心生产痛点。压缩包共62个文件,含8个cpp与7个h源码文件构成核心算法逻辑…

2026/10/19 16:24:58 阅读更多 →
CMake找不到Boost库?一文详解FindBoost报错排查与解决

CMake找不到Boost库?一文详解FindBoost报错排查与解决

1. 问题背景与核心症结拆解1.1 这个报错到底在说什么但凡在C项目里用过CMake搭配Boost库的人,大概率都见过这个让人血压升高的报错:CMake Error at /usr/share/cmake-3.22/Modules/FindBoost.cmake:1968 (message):Unable to find the requested Boost l…

2026/10/19 16:24:58 阅读更多 →
OSPF实战配置指南:从原理到单区域/多区域部署与排障

OSPF实战配置指南:从原理到单区域/多区域部署与排障

做运维这些年,我越来越觉得路由协议是一道绕不过去的坎。网络小的时候,一台核心加几台接入,手工静态路由完全够用;但业务一扩张、链路一冗余、网段一多,静态路由表就变成维护噩梦。我第一次认认真真研究OSPF配置&#…

2026/10/19 16:24:58 阅读更多 →
AI Agent运行时实战:Hermes Agent部署、工具调用与调优避坑

AI Agent运行时实战:Hermes Agent部署、工具调用与调优避坑

1. 先说清楚它是什么:一个偏向“任务执行”的自主Agent运行时1.1 它和我日常用的聊天机器人有什么不同最近复盘手头一个自动化项目时,我又把Hermes Agent翻出来重新跑了一遍。说实话,第一次接触它的时候我以为是又一个对话机器人包装壳——输…

2026/10/19 16:24:58 阅读更多 →
AI多模态新玩法:从看图到作曲,一键生成专属BGM

AI多模态新玩法:从看图到作曲,一键生成专属BGM

谷歌Gemini学会了看图作曲,你的朋友圈也能拥有专属BGM了这几天圈子里最热的话题,莫过于某科技巨头旗下那个多模态模型新学会的本事:看图作曲。说白了,就是你把一张照片丢给它,它能根据画面里的元素、情绪、光线&#x…

2026/10/19 16:23:53 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →