CLIP--Learning Transferable Visual Models From Natural Language Supervision

参考:CLIP论文笔记--《Learning Transferable Visual Models From Natural Language Supervision》_visual n-grams模型-CSDN博客

  • openAI,2021,将图片和文字联系在一起,----->得到一个能非常好表达图片和文字的模型
  • 主题:多模态理解任务
    任务:计算图片和文本的相似度
    训练:有监督的对比学习

背景

  • zero-shot transfer:零样本迁移到下游任务(一些NLP模型可以直接在A数据集上预训练,再到B,C,D数据集做任务时,这个模型可以不使用这个数据集的任何数据(zero-shot)进行参数微调而直接做任务)
  • “狭窄的视觉概念”是指模型在ImageNet等数据集上训练,只是为了学会区分像“猫”、“狗”这样的类,但不同的猫种类模型是不会区分的,比如“橘猫”和“奶牛猫”,即其他的视觉信息没有被充分利用。
  • Visual N-Grams促成CLIP的诞生的最重要的论文。【用自然语言监督信号来让促成一些现存的CV分类数据集(包含ImageNet数据集)实现zero-shot transfer。】

 方法

ac7ac720e8134d8abcee7ebdd58251d7.png

  • 标准的图像模型 VS CLIP:
    • 标准的图像模型:一个图像特征提取器和一个线性分类器---预测标签
    • CLIP:一个图像编码器和一个文本编码器---预测一批(图像、文本)正确配对
  • 测试:输入句子(a photo of {label}---Prompt工程)+图片
  • 从自然语言中学习:将图片表示与语言联系起来,从而实现灵活的zero-shot transfer
  • 超大数据集:用4亿对来自网络的图文数据集,将文本作为图像标签,进行训练。这个数据集称为WebImageText(WIT)
  • 预训练
    2f6d7a13d0be4c888d92bfc5f570081a.png
    • 图片分类任务------>图文匹配任务 
    • 贡献点:采用了海量图文对数据和超大batch size进行预训练,并不在于其模型结构
    • 模态之间的cosine similarity:N个匹配的图文对相似度最大,eq?N%5E%7B2%7D-N个不匹配的图文对相似度最小
      • 对角线上都是配对的正样本对,而矩阵的其他元素,则是由同个batch内的图片和不配对的文本(相反亦然)组成的负样本。

    • a98dec68e14843fc8953aa171461d26e.png
  • 测试
    cf2b5e7d08614594a2cc8971e01923e9.png

 

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

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

相关文章

网络安全-钓鱼篇-利用cs进行钓鱼

一、环境 自行搭建,kill,Windows10,cs 二、原理 如图所示 三、钓鱼演示 首先第一步:打开System Profiler-分析器功能 选择克隆www.baidu.com页面做钓鱼 之后我们通过包装域名,各种手段让攻击对象访问:h…

Java面试题:Redis1_Redis的使用场景和如何解决Redis缓存穿透问题

Redis使用场景常见问题 缓存 缓存三兄弟(穿透,击穿,雪崩) 双写一致 持久化 数据过期策略 数据淘汰策略 分布式锁 setnx,redisson 消息队列,延迟队列 … 解决Redis缓存穿透问题 缓存穿透问题 请求->redis缓存->mysql数据库 当一个新请求到来时,先会访问redi…

JVM(Java虚拟机)笔记

面试常见: 请你谈谈你对JVM的理解?java8虚拟机和之前的变化更新?什么是OOM,什么是栈溢出StackOverFlowError? 怎么分析?JVM的常用调优参数有哪些?内存快照如何抓取?怎么分析Dump文件?谈谈JVM中,类加载器你的认识…

前端最新面试题(基础模块HTML/CSS/JS篇)

目录 一、HTML、HTTP、WEB综合问题 1 前端需要注意哪些SEO 2 img的title和alt有什么区别 3 HTTP的几种请求方法用途 4 从浏览器地址栏输入url到显示页面的步骤 5 如何进行网站性能优化 6 HTTP状态码及其含义 7 语义化的理解 8 介绍一下你对浏览器内核的理解? 9 html…

【C++】vector常见的使用方式

前言:在上一篇中我们讲到了string类的模拟实现,今天我们将进一步的去学习vector的一些常用的使用方法。 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:高质量C学习 👈 💯代码仓…

命运方舟台服注册 命运方舟台服怎么注册?不会操作看这里

命运方舟台服注册 命运方舟台服怎么注册?不会操作看这里 命运方舟作为今年备受瞩目的一款MMORPG类型游戏,在上线前的预约数量已经一次又一次创下新高。这款游戏的开发商Smile gate真是给玩家们带来了一款让人眼前一亮的作品。游戏创建在虚幻引擎的基础…

USACO 2019 December Contest, BronzeProblem 2. Where Am I? 题解

这道题目通过例子可以看出查找最长的相同子串&#xff0c;下一个长度如果没有找到相同的子串就是结果&#xff0c;需要写三个循环&#xff0c;第一个循环是是否存在长度为len的相同子串&#xff0c;第二个循环是从左往右截取长度为len的子串&#xff0c;第三个循环的条件是j<…

用esp prog烧录ESP32-C3板踩坑

附ESP32C3的GPIO一览&#xff1a; vscode选择Jtag烧录&#xff0c;终端输出esp_usb_jtag: could not find or open device&#xff1a; D:\Devtools\Espressif\tools\openocd-esp32\v0.12.0-esp32-20230921\openocd-esp32\bin\openocd.exe -f board/esp32s3-builtin.cfgOpen O…

【电路笔记】-带阻滤波器

带阻滤波器 文章目录 带阻滤波器1、概述2、典型带阻滤波器配置3、带阻滤波器示例14、陷波滤波器5、带阻滤波器示例26、总结带阻滤波器也称为陷波滤波器,阻止并拒绝位于其两个截止频率点之间的频率,并传递该范围两侧的所有这些频率。 1、概述 通过将基本 RC 低通滤波器与 RC …

Docker基础命令(三)

同步docker容器中的时间和本地时间一致 背景: 在很多时候, 训练模型的时候, 记录的log日志中标记的时间和实际的时间不一致, 往往是容器时间和本地时间不一致照成的. 方案 场景一: 正在运行的容器&#xff0c;可以宿主机直接执行命令给某个容器同步时间 #方法1 直接在宿主机…

ElasticSearch教程(详解版)

本篇博客将向各位详细介绍elasticsearch&#xff0c;也算是对我最近学完elasticsearch的一个总结&#xff0c;对于如何在Kibana中使用DSL指令&#xff0c;本篇文章不会进行介绍&#xff0c;这里只会介绍在java中如何进行使用&#xff0c;保证你看完之后就会在项目中进行上手&am…

Arduino烧录esp8266

default_encoding: cp936 Assume aggressive ‘core.a’ caching enabled. Note: optional global include file ‘arduino_modified_sketch_764314\Blink.ino.globals.h’ does not exist. Read more at https://arduino-esp8266.readthedocs.io/en/latest/faq/a06-global-bui…

【计划】装修相关感想

计划 Summary 从去年年底开始规划、设计、落实家里的装修&#xff0c;2024年4月正式开始装修&#xff0c;一个人探索和学习了很多知识和概念。 准备把这些东西做一些记录和分享&#xff0c;一方面记录一些装修的流程和中间的小细节便于第二次装修的时候避免&#xff1b;另一方…

Android设备实时监控蓝牙的连接、配对、开关3种状态

一、简介 Android设备&#xff0c;需要实时监控本机蓝牙连接其他蓝牙设备的状态&#xff0c;包含&#xff1a;连接、配对、开关3种状态。本文介绍了2种方法&#xff0c;各有优势&#xff0c;下面来到我的Studio一起瞅瞅吧~ 二、定时器任务 Handler 功能方法 定时器任务 Hand…

写字静不下心?不如试试这些“笨方法”

夏天悄悄热起来啦&#xff5e;有人说&#xff0c;想踏踏实实写一会儿&#xff0c;但又静不下心&#xff0c;耐不住性子&#xff0c;快收下这四个小锦囊&#xff0c;与古人一起笨拙精进吧&#xff01;    1、不论输赢      每次课前&#xff0c;暄桐林曦老师总会强调&am…

AlloyTeam Web前端大会:深入探索前端的无限可能

AlloyTeam Web前端大会&#xff1a;深入探索前端的无限可能 在数字化浪潮的推动下&#xff0c;Web前端技术日新月异&#xff0c;成为引领行业发展的重要力量。AlloyTeam Web前端大会作为业界的盛会&#xff0c;汇聚了众多前端领域的精英&#xff0c;共同探讨前端的未来发展趋势…

内网-win1

一、概述 1、工作组&#xff1a;将不同的计算机按功能(或部门)分别列入不同的工作组 (1)、查看&#xff08;windows&#xff09; 查看当前系统中所有用户组&#xff1a;打开命令行--》net localgroup查看组中用户&#xff1a;打开命令行 --》net localgroup 后接组名查看用户…

FreeRTOS任务调度机制(源码讲解)

任务的调度机制(核心是链表)&#xff01;&#xff01;&#xff01; 使用链表来管理任务 在我前面写的FreeRTOS任务(深入到源码进行分析)&#xff0c;我创建了三个任务&#xff0c;他们的优先级都是一样的&#xff0c;所以他们在FreeRTOS中是轮流执行的&#xff0c;实际上&…

19.1 简易抽奖

准备一个数组&#xff0c;里面添加10个奖品数据&#xff0c;让奖品数据快速的在盒子中随机显示&#xff0c;通过按钮控制盒子里面的内容停止。 效果图&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">&…

解释Python中的PEP 8是什么 为什么它很重要

PEP 8 是 Python 的一个编码规范&#xff0c;也称为 Python 增强提案 8。它提供了一系列关于如何编写清晰、一致的 Python 代码的指导原则。这些原则涵盖了代码布局、命名约定、注释、文档字符串、编码建议、导入语句、异常、全局变量、嵌套等方面。 为什么PEP 8很重要&#x…