当前位置: 首页 > news >正文

(1)CLIP

CLIP

  • 概述
  • 1. 训练与推理
  • 2. 最终效果与局限性
  • 3.后续应用
    • 3.1 DALL-E
    • 3.2 ActionCLIP
    • 3.3 CLIP-Event



概述

CLIP:contrastive language-image pretraining
利用文本的监督信号训练一个迁移能力特别强的视觉模型
传统的视觉模型,人工标注图像,那么模型只能识别标注数据,迁移能力弱

1. 训练与推理

训练

数据
图像+图像文本作为标签(互联网数据已经标好了)

模型

  • Text-encoder:重点不在训练它,直接transformer拿来用,已经海量文本训练好了
  • Image-encoder:重点在于训练它,希望image-encoder能够学到图像的真实含义
  • 4亿对文本-图像,不是标注的,直接爬取的

训练方法
对比学习,计算image-text相似度,正样本相似度高,负样本相似度低

推理
图搜文任务为例:
图像+模型得到向量,候选文本+模型得到向量,计算相似度,挑选出最终文本
文本的描述质量也会影响效果,比如细粒度,比如某些具体场景的描述

训练策略补充说明
以对比损失,image-text的相似度来进行训练
另一种方式,image预测具体的token,效果要差

2. 最终效果与局限性

CLIP VS Restnet50

  • CLIP 在特别具体或者非日常场景的表现一般,比如 minst 数据集,比如稀有花的数据集
  • Resnet 不是最强模型,VIT 模型要比 Resnet50 更强,论文中 clip 主要是跟 resnet50 来比,如果要达到 VIT 的效果,可能需要1000倍的数据量
  • 目前的参数都是根据 Imagenet 来的,可能泛化也受限于 Imagenet 数据集,因为调参成本太高

3.后续应用

3.1 DALL-E

GAN思想的网络

  • 生成器:VQGAN(根据文本生成图像)
    1)维护一个码本,这个码本含有大量特征
    2)生成过程就是判断一张图片的每个像素点应该生成的特征跟码本里面的哪种特征更像
    3)同时还要约束新生成像素点也要基于已经生成的
  • 判别器:CLIP(判断根据文本生成的图像与文本之间的相似度是不是高)

形象化的理解 DALL-E
1)类GPT化:输入文本+图像(可以是一个初始的图像,也可以是噪音图像),然后希望生成与文本描述相同的图像
2)用到三种注意力:text、image、text-image
3)官网描述的 text 和 image 的 特征 / token 数量:
其中文本是 256 token,字典大小是 16384
其中图片是 1024 token,字典(码本)大小是 8192

3.2 ActionCLIP

ActionCLIP:A New Paradigm for Video Action Recognition
识别视频中的行为

3.3 CLIP-Event

CLIP-Event:Connecting texts and images with event structures
训练:抽取文本三元组。who do what
推理:就可以推理出图片中的每个人物在干嘛

相关文章:

(1)CLIP

CLIP 概述1. 训练与推理2. 最终效果与局限性3.后续应用3.1 DALL-E3.2 ActionCLIP3.3 CLIP-Event 概述 CLIP:contrastive language-image pretraining 利用文本的监督信号训练一个迁移能力特别强的视觉模型 传统的视觉模型,人工标注图像,那么…...

MongoDB高可用和分片集群知识

一、MongoDB实现高可用 1. MongoDB复制集(Replication Set) 在实际生产中,MongoDB要实现高可用,以免MongoDB单实例挂了,服务不可用。MongoDB实现高可用是以MongoDB复制集的形式实现,和集群部署概念相同,MongoDB复制集…...

【Python日志功能】一.日志基础与基本配置

文章目录 相关链接第一篇:日志基础与基本配置1 日志的概念与用途2 Python logging 模块介绍3 日志级别4 配置日志格式和输出位置4.1 配置日志格式4.2 配置输出位置 5 实验:基本日志配置和输出实验1:基本日志配置实验2:使用配置文件…...

深圳铨顺宏科技展邀您体验前沿人工智能技术

我们诚挚地邀请您参加即将举行的展会,探索RFID技术在资产与人员管理中的广泛应用。这些展会将为您提供一个深入了解前沿技术和创新解决方案的机会。 东莞台湾名品博览会(东莞台博会)展会时间:9月5日至8日。此次展会展示了来自台湾…...

Lombok:Java开发者的代码简化神器【后端 17】

Lombok:Java开发者的代码简化神器 在Java开发中,我们经常需要编写大量的样板代码,如getter、setter、equals、hashCode、toString等方法。这些代码虽然基础且必要,但往往占据了大量开发时间,且容易在属性变更时引发错误…...

[linux]GCC G++官方源码国内下载地址汇总

【GCC介绍】 GCC(GNU Compiler Collection,GNU编译器套件)是由GNU项目开发的一套编程语言编译器,也是GNU计划的关键部分。它最初作为GNU C Compiler(GNU C语言编译器)出现,但随着时间的推移&…...

部署opengauss5.0.3,细节满满

部署opengauss5.0.3 1.关闭安全服务 修改/etc/selinux/config文件中的“SELINUX”值为“disabled”。临时关闭selinux setenforce 0 查看selinux状态 getenforce2.host配置 [rootcentos79 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 local…...

面试题总结(四) -- STL与算法篇

面试题总结(四) – STL与算法篇 文章目录 面试题总结(四) -- STL与算法篇<1> 请列举 C STL 中常用的容器&#xff08;如 vector、list、map 等&#xff09;及其特点。<2> 如何在 C 中使用 STL 算法&#xff08;如排序、查找等&#xff09;&#xff1f;<3> 解…...

HashSet及其实现原理

目录 一、Set二、HashSet三、HashSet的实现原理四、HashSet的线程安全与顺序1、线程安全2、有序性 一、Set Set 接口是 java.util 包下的一个集合接口&#xff0c;它继承自 Collection 接口。Set 接口定义了一个不允许包含重复元素的集合。Set 接口的实现类主要有 HashSet、Lin…...

反序列化漏洞练习1

根据代码可以看出来sis类只是接收了参数cmd&#xff0c;下边是通过get获得cmd的值&#xff0c;所以可以在序列化过程中直接为cmd赋值。 根据源码编写序列化代码 <?php class sis{public $cmdsystem("whoami");?>;public function __wakeup(){eval($this-&g…...

树莓派Pico2(RP2350)开发环境搭建

树莓派Pico2(RP2350)开发环境搭建 文章目录 树莓派Pico2(RP2350)开发环境搭建1、RP2350介绍2、开发环境搭建3、工程编译4、固件下载Raspberry Pi再次通过推出RP2350 MCU突破了微控制器设计的界限。这款微控制器是之前RP2040的重大升级,带来了更强大的性能、高级安全功能,…...

vue 路由中使用keepAlive在这个组件中使用onActivated

onMounted: 在组件挂载时触发一次。onActivated: 当 keep-alive 组件从缓存中被激活时触发。如果你将当前组件包裹在 keep-alive 中&#xff0c;激活时会调用此钩子。onDeactivated: 当 keep-alive 组件被缓存时触发。 注意事项 onActivated 只在组件从 keep-alive 缓存中恢复…...

医学数据分析实训 项目一 医学数据采集

项目一 医学数据采集 一、实践目的 了解医学数据的特点&#xff1b;熟悉常见的医学公共数据库的使用方法&#xff1b;掌握获取医学数据的方法&#xff1b; 二、实践平台 操作系统&#xff1a;Windows10 及以上Python 版本&#xff1a;3.8.x 及以上PyCharm 或 Anoconda 集成…...

《Oracle(一)- 基础》

文章目录 一、Oracle简介&#xff08;一&#xff09;什么是ORACLE&#xff08;二&#xff09;ORACLE 体系结构1.数据库2.实例3.数据文件&#xff08;dbf&#xff09;4.表空间5.用户 二、ORACLE 安装与配置&#xff08;一&#xff09;VMware 挂载 windows server 2003&#xff0…...

Unity Resource System 优化笔记

Unity Resources System 定义 Resources System允许开发者在项目中的Resources文件夹下存放一个或多个资源文件夹&#xff0c;并且可以在Unity运行时通过Unity提供的API对资源和对象进行加载和卸载。 如果Resources中的文件结构复杂&#xff0c;内容多&#xff0c;会给应用常…...

Flutter之SystemChrome全局设置

一、简介 SystemChrome作为一个全局属性&#xff0c;很像 Android 的 Application&#xff0c;功能很强大。 二、使用详解 2.1 setPreferredOrientations 设置屏幕方向 在我们日常应用中可能会需要设置横竖屏或锁定单方向屏幕等不同要求&#xff0c;通过 setPreferredOrien…...

Windows11 WSL2的ubuntu 22.04中拉取镜像报错

问题描述 在windows11 WSL2的ubuntu 22.04中拉取镜像报错。错误为&#xff1a; Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting header…...

【Linux】多线程:线程同步、条件变量

目录 一、同步的概念 为什么需要同步呢&#xff1f; 二、条件变量 条件变量的相关概念 1、条件变量的初始化&#xff1a;静态初始化、动态初始化 2、条件变量的等待&#xff1a;pthread_cond_wait函数 工作原理及流程【重要&#xff01;】 关键点总结 3、条件变量的激…...

【Android Studio】使用雷电模拟器调试

文章目录 进入开发者模式使雷电模拟器adb连接PC测试 进入开发者模式 多次点击版本号 -开区USB调试 使雷电模拟器adb连接PC 写cmd脚本 雷电模拟器端口为5555 &#xff0c;脚本内容如下&#xff1a; adb.exe connect 127.0.0.1:5555双击bat脚本文件 测试...

你必须知道的C语言问题(9)

问&#xff1a;如下代码&#xff0c;两个结构体类型成员变量相同&#xff0c;只是成员顺序不同&#xff0c;为什么大小不同&#xff1f; #include <stdio.h> #include <stdint.h> #include <string.h> #include <stdlib.h>typedef struct _test1{uint…...

【Oracle APEX开发小技巧12】

有如下需求&#xff1a; 有一个问题反馈页面&#xff0c;要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据&#xff0c;方便管理员及时处理反馈。 我的方法&#xff1a;直接将逻辑写在SQL中&#xff0c;这样可以直接在页面展示 完整代码&#xff1a; SELECTSF.FE…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...