CLIP论文总结

文章目录

  • NLP的积淀
  • Method
    • 1. 预训练的方法:放宽约束:对比学习
    • 2. 模型训练
      • 训练时间
  • Experiments
    • Motivation
    • Prompt:提示:也就是文本的引导作用
      • Prompt enginnering
      • Prompt ensembling
    • 对比实验

NLP的积淀

取之不尽用之不竭的自监督信号 = transformer + 自监督学习
训练出来的模型又大又好,而且又简单,泛化性又好,为多模态的训练铺平了道路。

只需要图片文本对,不需要标注, 数据的规模就很容易大起来了。

现在的监督信号是一个文本,而不是n选1的这种标签了,所以模型的输入输出啊,自由度就大很多。

  • 用文本监督信号,来帮助训练一个视觉模型 是非常有潜力的。

Method

1. 预训练的方法:放宽约束:对比学习

对比学习的目标函数 比 预测型的目标函数 训练效率提升了4倍

线性投射层,非线性投射层 对clip这种多模态没什么影响

数据增强:随机裁剪

把对比学习中的temperature这个超参数,设计为可学习的标量了,直接在模型训练过程中就被优化了,不需要当成一个超参数去调参

2. 模型训练

  • 5种ResNet + 3中Vision Transformer(ViT-B/32, ViT-B/16, ViT-L/14)
  • 32 epoch
  • Adam optimizer with decoupled weight decay regularization
  • Decay the learning rate using a cosine schedule
  • Initial hyperparameters: combination of grid searches, random search, and manual tuning on the basline ResNet50 model when trained for 1 epoch. 为了调参调的快一点,做超参搜索的时候都是用最小的resnet50做的,都只训练了一个epoch。
  • 超参数were then adapted heuristically for larger models due to computational constraints。对于更大的模型,这里就没有去调参了/
  • 训练的时候batch-size是32768
  • 混精度训练:加速训练,而且省内存
  • 为了进一步节省内存,还尝试了gradient checkpointing, half-precision Adam statistics, half-precision stochastically rounded text encoder weights
  • 计算相似度也是分配到不同的gpu去做的/
    经过这么多工程上的优化,CLIP才能训练起来
    OpenAI成员撰写:How to Train Really Large Models on Many GPUs?

训练时间

RN50x64: 18day 592 V100
Largest ViT: 12day 256 V100
就像vit论文中提到的:训练一个vit要比训练一个残差网络要高效
Trick: 在更大尺寸图片上finetune,从而获得性能提升

Experiments

Motivation

之前的自监督或者无监督的方法,主要研究的是特征学习的能力,他们的目标是学习一个泛化比较好的特征。
即使你学习到了很好的特征,当你运用到下游任务的时候,你还是需要有标签的数据去做微调。比如下游任务不好去收集数据,有distribution shift的问题。
如何能够训练一个模型,接下来就不再训练或者不再微调了呢?这就是作者研究zero-shot 迁移的动机
用文本做引导,去很灵活的做这种zero-shot的迁移学习。
在这里插入图片描述

  • 一个图的特征与N个文本特征做cosine similarity,再计算softmax概率分布
  • 文本端的编码不是按照顺序进行的,是批量进行的,所以clip的推理还是非常高效的,它并不会慢。

Prompt:提示:也就是文本的引导作用

  • 为什么要做prompt engineering和prompt ensembling呢?
    1. polysemy(多义性):一个单词可以有很多含义。只用一个单词做特征抽取,就会有歧义性出现了。
    2. 预训练的时候使用的是句子和图片,所以推理的时候如果输入单个单词,会出现distribution gap

Prompt enginnering

  1. 提供模板 A photo of a {label}
  2. 如果你知道先验信息,你可以加上一些解释。A photo of a {label}, a type of pet
    如果你想找ocr里面内容:把你想找的文字或数字加上双引号,他就会更明白你的意思了。他可能就知道,你就是想找双引号里面的内容了。

Prompt ensembling

多用一些这些推理的模板,然后把结果综合起来,ensemble一般都会给你更好的结果。
by the way, 作者用了80个ensembe的模板
Prompt_Engineering_for_ImageNet.ipynb

imagenet_templates = ['a bad photo of a {}.','a photo of many {}.', 图中有许多...'a sculpture of a {}.','a photo of the hard to see {}.', 比较小的物体'a low resolution photo of the {}.','a rendering of a {}.','graffiti of a {}.','a bad photo of the {}.','a cropped photo of the {}.','a tattoo of a {}.','the embroidered {}.','a photo of a hard to see {}.','a bright photo of a {}.','a photo of a clean {}.','a photo of a dirty {}.',...

数据集 -> 怎么选择模型 -> 怎么去做预训练 -> 怎么去做zero-shot推理

对比实验

作者在27个数据集上做了对比实验:
比较的双方:zero-shot clip; Linear Probe on ResNet50(是图片里面的基线)
clip 高于基线的就是绿色,反之蓝色的。
给物体进行分类的时候,clip一般表现都比较好
需要特定领域的知识来做分类的任务,可以用few-shot。
在这里插入图片描述

  • 难的任务用few-shot来做
    • BiT-M是一个很好的baseline
      在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/608330.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Maven 工程 java -jar 时提示 xxx-SNAPSHOT.jar 中没有主清单属性

Maven 工程 java -jar 时提示 xxx-SNAPSHOT.jar 中没有主清单属性 将skip属性注释掉或者改为false 如果为true,则工程找不到主启动类

Python print 高阶玩法

Python print 高阶玩法 当涉及到在Python中使用print函数时,有许多方式可以玩转文本样式、字体和颜色。在此将深入探讨这些主题,并介绍一些print函数的高级用法。 1. 基本的文本样式与颜色设置 使用ANSI转义码 ANSI转义码是一种用于在终端&#xff0…

k8s的集群调度---下

前情回顾 预算策略:过滤出合适的节点 优选策略:选择部署的节点 nodeName:硬匹配,不走调度策略。node01. nodeSelector:根据节点的标签选择,会走调度算法。 只要是走调度算法,在不满足预算策…

【hcie-cloud】【17】华为云Stack灾备服务介绍【灾备方案概述、备份解决方案介绍】【上】

文章目录 前言灾备方案概述灾备的定义灾备的重要性故障和灾难对业务连续性带来的挑战灾备系统的衡量指标RTO与RPO分析 灾备等级标准数据中心容灾解决方案全景图云灾备服务总结架构华为云Stack灾备服务总览 备份解决方案介绍云备份服务介绍备份服务架构介绍云备份服务组件功能介…

linux查找文件中的指定字符,并批量替换文件中指定字符

1、grep -rl “jquery-1.8.0.min.js” /opt 查找/opt 目录下存在jquery-1.8.0.min.js的文件 [rootlocalhost file1]# grep -rl "jquery-1.8.0.min.js" /opt /opt/file1/index.xhtml /opt/file2/index.xhtml /opt/shell.sh扩展:使用该命令可以查找文件中…

DevEco Studio预览时报错:Build task failed. Open the Run window to view details.

图一: 解决方案 图二 : 图三: 按照以上图示步骤,去掉图三中3号标记的勾选

/usr/bin/ld: error: ../../lib/libnvinfer.so: file too short

一、背景 在编译TensorRT官方的C库时,库里是提供了命令行工具bin文件夹下的可执行程序trtexec,可以直接进行onnx的fp16以及int8量化,但我模型的输入是5维,模型里面全都是3D卷积,所以要对底层头文件进行修改。重新编译…

Python词云wordcloud库不显示中文

博主之前在项目中发现Python的词云库wordcloud显示的都是方框,别担心,我有一个妙招让你的中文词云变得美观又清晰! 问题 wordcloud是一个基于python的词云生成库,它可以让你用简单的代码创建出各种形状和颜色的词云图像。 word…

工业数据采集分析——工厂大脑 提升综合经济效益

随着企业对数字化的认知越来越清晰,对工业数智化的战略越来越明确,企业的诉求也在发生转变。中国的工业企业经过近几十年的发展,自动化、信息化,以及一些基础的数据系统建设在不同的行业中慢慢地推进。近几年,工业企业…

STM32CubeMX配置STM32G031多通道UART+DMA收发数据(HAL库开发)

时钟配置HSI主频配置64M 配置好串口&#xff0c;选择异步模式 配置DMA TX,RX,选择循环模式。 NVIC中勾选使能中断 勾选生成独立的.c和h文件 配置好需要的开发环境并获取代码 串口重定向勾选Use Micro LIB main.c文件修改 增加头文件和串口重定向 #include <string.h&g…

第三节课作业

复现&#xff1a; 对mmagic的理解

Vue3-44-Pinia- 安装步骤

介绍 本文介绍 在 vue3 中 安装 Pinia 的步骤 安装步骤 1、npm 安装 npm install pinia》 安装完成后可以看到 package.json 中添加了 pinia 的依赖信息 2、main.ts 中配置 // 引入 vue实例创建方法 import { createApp } from vue// 引入pinia import { createPinia } fro…

C++ Web框架Drogon初体验笔记

这段时间研究了一下C的Web框架Drogon。从设计原理上面来说和Python的Web框架是大同小异的&#xff0c;但是难点在于编译项目上面&#xff0c;所以现在记录一下编译的过程。下面图是我项目的目录。其中include放的是头文件&#xff0c;src放的是视图文件&#xff0c;static放的是…

函数战争(栈帧)之创建与销毁(c语言)(vs2022)

首先&#xff0c;什么是函数栈帧&#xff1f; C语言中&#xff0c;每个栈帧对应着一个未运行完的函数。栈帧中保存了该函数的返回地址和局部变量。栈帧也叫过程活动记录&#xff0c;是编译器用来实现过程函数调用的一种数据结构。 以问答的方式解释编译器与解释器-CSDN博客htt…

了解ASP.NET Core 中的文件提供程序

写在前面 ASP.NET Core 通过文件提供程序来抽象化文件系统访问。分为物理文件提供程序(PhysicalFileProvider)和清单嵌入的文件提供程序(ManifestEmbeddedFileProvider)还有复合文件提供程序(CompositeFileProvider )&#xff1b;其中PhysicalFileProvider 提供对物理文件系统…

智数融合|低代码入局,推动工业数字化转型走"深"向"实"

当下&#xff0c;“数字化、智能化”已经不再是新鲜词汇。事实上&#xff0c;早在几年前&#xff0c;就有企业开始大力推动数字化转型&#xff0c;并持续进行了一段时间。一些业内人士甚至认为&#xff0c;“如今的企业数字化已经走过了成熟期&#xff0c;进入了深水区。” 但事…

【算法Hot100系列】下一个排列

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

openGauss系新增市场份额达21.9%,跨越生态拐点

[中国&#xff0c;北京&#xff0c;2023年12月28日] 以“汇聚数据库创新力量&#xff0c;打造千行万业数据基石”为主题的openGauss Summit 2023在北京望京凯悦酒店举办。本次大会由国家工业信息安全发展研究中心软件所、中国软件行业协会、中国计算机学会数据库专业委员会指导…

safari缓存清理

safari缓存清理 点击顶端Safari浏览器–>点击偏好设置 点击隐私–>管理网站数据 全部移除