CLIP:连接文本-图像

Contrastive Language-Image Pre-Training
在这里插入图片描述

  • CLIP的主要目标是通过对比学习,学习匹配图像和文本
  • CLIP最主要的作用:可以将文本和图像表征映射到同一个表示空间

这是通过训练模型来预测哪个图像属于给定的文本,反之亦然。在训练过程中,模型学会了将图像和文本编码成统一的向量空间,这使得它能够在语言和视觉上理解它们之间的关系。

通过训练模型来预测哪个图像属于给定的文本,反之亦然。在训练过程中,模型学会了将图像和文本编码成统一的向量空间,这使得它能够在语言和视觉上理解它们之间的关系。

CLIP可以识别图像中的物体、场景、动作等元素,同时也能够理解与图像相关的文本,例如标签、描述、标题等。CLIP已被证明在视觉和语言任务上具有出色的表现。

数据输入:text-image pairs
在这里插入图片描述
在这里插入图片描述
定义
论文中采用的两种文本编码器:CBOW或者Text Transformer(BERT family model)
论文中采用的两种图像编码器:ResNet和Vision Transformer (ViT)
定义了两个投影矩阵W_i和W_t,用于将文本及图像特征映射到相同维度大小。
temperature参数用于控制softmax后的结果,temperature < 1 时模型倾向于给出更加极端的预测值(more confidence),temperture > 1 的时候模型预测值在更接近0.5 (less confidence)
step 1 : 编码
通过图像&文本编码器,得分图像和文本特征。
step2 : 投影
首先通过投影矩阵将图像及文本特征映射到相同的维度大小,在进行L2 normalization (使得之后的点积操作直接等效于cosine similarity)
step3: 相似度计算
点积运算计算文本-图像的cosine similarity,得到 n x n 矩阵的logits(模型预测),越接近1则说明模型预测该文本-图像对是配对的,否则不配对。
step4: 计算loss
已知 logits 矩阵对角线的文本和图像是配对的,非对角线元素不配对,因此构造训练标签 np.arange(n),然后分别在图像维度(axis=0) 和文本维度(axis=1)计算loss。
以图像维度为例简单说明一下这里的逻辑,因为在计算相似度的时候,图像特征矩阵@文本特征矩阵得到的 n x n 矩阵,第一个n 代表的图像,因此我们在axis=0 计算图像维度的loss。

在这里插入图片描述

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

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

相关文章

Kitchen Hook

双扛厨房排钩&#xff1a;挂刀具

基于Citespace、vosviewer、R语言的文献计量学可视化分析技术及全流程文献可视化SCI论文高效写作

文献计量学是指用数学和统计学的方法&#xff0c;定量地分析一切知识载体的交叉科学。它是集数学、统计学、文献学为一体&#xff0c;注重量化的综合性知识体系。特别是&#xff0c;信息可视化技术手段和方法的运用&#xff0c;可直观的展示主题的研究发展历程、研究现状、研究…

大学生攻略:正确的购买和使用你的电脑

笔者是计算机专业在读大学生&#xff0c;从小学开始接触电脑&#xff0c;进行过各种操作(更换硬件维修&#xff0c;换系统&#xff0c;系统命令行&#xff0c;管理员权限&#xff0c;无视风险继续安装&#xff0c;没有这条 )&#xff0c;相对大学生有一定参考价值。 购买 1.买…

Python Opencv实践 - Canny边缘检测

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png", cv.IMREAD_GRAYSCALE) print(img.shape)#图像Canny边缘检测 #cv.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradien…

【Locomotor运动模块】瞬移

文章目录 一、原理二、两种类型1、Instant(立刻)2、Dash&#xff08;猛冲&#xff09; 三、瞬移区域、瞬移点1、瞬移区域2、瞬移点 一、原理 抛物线指针选择好目标位置&#xff0c;然后告诉瞬移预设体&#xff1a;你想法把游戏区域弄到目标位置来 解释&#xff1a;抛物线指针选…

LNMP架构:搭建Discuz论坛

文章目录 1. 编译安装Nginx1.1 前置准备1.2 编译安装1.3 添加nginx系统服务 2.编译安装MySql2.1 前置准备2.2 编译安装2.3 修改mysql 配置文件2.4 设置路径环境变量2.5 初始化数据库2.6 添加musql系统服务2.7 修改MySql登录密码 3. 编译安装PHP3.1 前置准备3.2 编译安装3.3 复制…

【算法题】1761. 一个图中连通三元组的最小度数

题目&#xff1a; 给你一个无向图&#xff0c;整数 n 表示图中节点的数目&#xff0c;edges 数组表示图中的边&#xff0c;其中 edges[i] [ui, vi] &#xff0c;表示 ui 和 vi 之间有一条无向边。 一个 连通三元组 指的是 三个 节点组成的集合且这三个点之间 两两 有边。 连…

企业架构LNMP学习笔记9

nginx配置文件定义php-fpm服务&#xff1a; 编写测试文件&#xff1a; vim /usr/local/nginx/html/index.php 内容&#xff1a; <?phpphpinfo(); 在nginx的配置文件中配置&#xff1a; 修改配置文件&#xff0c;告知nginx如果收到.php结尾的请求&#xff0c;交由给php-…

【juc】读写锁ReentrantReadWriteLock

目录 一、说明二、读读不互斥2.1 代码示例2.2 截图示例 三、读写互斥3.1 代码示例3.2 截图示例 四、写写互斥4.1 代码示例4.2 截图示例 五、注意事项5.2.1 代码示例5.2.2 截图示例 一、说明 1.当读操作远远高于写操作时&#xff0c;使用读写锁让读读可以并发&#xff0c;来提高…

深度学习之视频分类项目小记

写在前面&#xff0c;最近一阵在做视频分类相关的工作&#xff0c;趁有时间来记录一下。本文更注重项目实战与落地&#xff0c;而非重点探讨多模/视频模型结构的魔改 零、背景 目标&#xff1a;通过多模态内容理解技术&#xff0c;构建视频层级分类体系原技术方案&#xff1a…

5.1 树和二叉树的定义

思维导图&#xff1a; 问题 为什么有树和二叉树&#xff1f; "树" 和 "二叉树" 都是数据结构中常用的结构&#xff0c;它们分别有其独特的应用和优点。我们可以从它们的定义和特性中理解为什么它们都存在。 1. **树 (Tree)&#xff1a;** - **定义**:…

Unity中Shader的面剔除Cull

文章目录 前言一、Unity中Shader的面是否剔除&#xff0c;是由我们自己决定的二、暴露一个属性来控制 剔除模式三、如何区分正反面 前言 Unity中Shader的面剔除 Cull Off | Back | Front 一、Unity中Shader的面是否剔除&#xff0c;是由我们自己决定的 使用 Cull Off | Back |…