终于有人将多模态重点内容做成了动画

news2024/11/15 4:22:49

        CLIP是入门多模态的最佳选择,后续多模态模型基本上都延续了它的思想:分别用图像编码器和文本编码器将图像和文本编码到一个共享的特征空间中,然后通过多模态融合方法将配对的图像文本特征向量拉进。

 

 

 

 

 

 

 

 

 

 

 

 

[1] 给定

↳ 一个包含3个文本-图像对的小批量数据(OpenAI 使用了4亿个文本-图像对来训练其原始CLIP模型)。

处理第一个对:"big table"

[2] 🟪 文本 → 2个向量(3维向量)

↳ 使用word2vec查找词嵌入向量。(word2vec可以使用Google提供的预训练模型)

[3] 🟩 图像 → 2个向量(4维向量)

↳ 将图像分成两个块。

↳ 将每个块展平

[4] 处理其他对

↳ 重复步骤 [2]-[3]

[5] 🟪 文本编码器 & 🟩 图像编码器(红框内的编码器参数通过训练得到)

↳ 将输入向量编码为特征向量

↳ 在这里,两个编码器都是简单的单层感知器(线性 + ReLU)

↳ 实际中,编码器通常是Transformer模型。

[6] 🟪 🟩 均值池化: 2 → 1 个向量

↳ 通过对列进行平均,将2个特征向量平均为一个向量

↳ 目标是用一个向量来表示每个图像或文本

[7] 🟪 🟩 -> 🟨 投影(投影矩阵通过训练得到)

↳ 注意,编码器输出的文本和图像特征向量维度不同(3维向量 vs. 4维向量)。

↳ 使用线性层将图像和文本向量投影到一个2D共享嵌入空间。

🏋️ 对比预训练 🏋️

[8] 准备矩阵乘法

↳ 复制文本向量(T1,T2,T3)

↳ 复制图像向量的转置(I1,I2,I3)

↳ 它们都位于2D共享嵌入空间中。

[9] 🟦 矩阵乘法

↳ 将T和I矩阵相乘。

↳ 这相当于计算每对图像和文本向量之间的点积。

↳ 目的是使用点积来估计图像-文本对之间的相似度。

[10] 🟦 Softmax: e^x

↳ 将e提升为每个单元格中的数的幂

↳ 为简化手动计算,我们将e^□ 近似为3^□。

[11] 🟦 Softmax: ∑

↳ 为 🟩 图像→🟪 文本 求每行之和

↳ 为 🟪 文本→ 🟩 图像 求每列之和

[12] 🟦 Softmax: 1 / 总和

↳ 将每个元素除以列总和,以获得 🟪 文本→🟩 图像 的相似度矩阵

↳ 将每个元素除以行总和,以获得 🟩 图像→🟪 文本 的相似度矩阵

[13] 🟥 损失梯度

↳ 相似度矩阵的“目标”是单位矩阵。

↳ 为什么?如果I和T来自同一个对(i=j),我们希望最高值为1,否则为0。

↳ 使用简单的[相似度 - 目标]公式来计算双向梯度。

↳ 为什么这么简单?因为当Softmax和交叉熵损失一起使用时,数学计算会神奇地如此简化。

↳ 这些梯度启动了反向传播过程,以更新编码器和投影层的权重和偏置(红色边框)。

CLIP简单的融合方法使其非常适合检索任务,而不适合生成任务,后续的一些模型为了提升融合效果,常采用Transformer编码器作为融合模块,为了具备图生文本的能力,后续模型也都增加了Transformer解码器;或者为了提升效率,则干脆直接使用训练好的大模型作为编解码器,然后使用一个适配器作为衔接。

多模态模型:

    CLIP

    ViLT

    ALBEF

    VLMO

    BeiT v3

    BLIP

    CoCa

    Flamingo

    BLIP-2

    IMAGEBIND

    Meta-Transformer

 

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

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

相关文章

C++期末知识点概述

《大学 C知识点概述》 在大学的计算机课程中,C作为一门重要的编程语言,有着广泛的应用和丰富的知识点。 一、基础语法 数据类型:C包含多种数据类型,如整数类型(int、short、long 等)、浮点类型&#xff…

shell脚本编写之传参

我们知道命令可以带参数,同样脚本文件运行时也可以带有参数。 1、脚本内获取参数 脚本内获取参数的格式为:$n n代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推。 举例,仍然…

新手必看 | 信息收集打点篇

0x1 前言 本篇文章主要是汇总自己在以往的信息收集打点中的一些总结,然后给师傅们分享下个人信息打点的各种方式,以及使用工具的快、准、狠的重要性。让师傅们在后面的一些红队和众测包括src的项目中可以拿到一个不错的结果。 0x2 信息打点方向 探讨下…

天气数据爬取

目录 历史气象数据获取浏览器访问模拟 历史气象数据获取 主要的python包 requests BeautifulSoup re pandas lxml 浏览器访问模拟 根据浏览器Request-Header参数,让request模拟浏览器行为 import requests from bs4 import BeautifulSoup import re import pandas…

Qt 实战(10)MVD | 10.1、MVD机制详解

文章目录 一、MVD机制1、MVC设计模式1.1、简介1.2、优缺点分析 2、什么是MVD?2.1、简介2.2、核心角色 前言: 在Qt框架中,MVD(Model-View-Delegate)机制是一种用于实现数据与用户界面分离的重要设计模式。它源于经典的M…

python 下载油管视频的评论

先说结果: 2024年9月2日上午, 能运行! 起因(目的): Not Like Us 这首歌, 1.5亿播放量,34万个评论。 有时候很想知道大家都说了什么。 Youtube 也是互联网的一霸, 大公司。 想爬人家的数据, 先做好失败的心理准备。 …

不同框架下跑yolov10(pt、onnx_runtime、tensorrt)

不同框架下跑yolov10(pt、onnx_runtime、tensorrt) (qq.com)

cmake版本升级 CMake Error: Could not find CMAKE_ROOT !!!

背景 ubuntu默认安装cmake较低版本,但是有些开发环境需要较高的版本,这时候需要手动升级一波. 1 官网获取cmake安装包 https://cmake.org/files/LatestRelease/,cmak官网下载 下载后,放到ubuntu里面,然后解压. tar zxvf *.gz 解压之后, cd cmake-3.30.0-Linux-x86_64/bin/, …

asp.net Temporary ASP.NET Files修改为其他位置

Temporary ASP.NET Files这个文件夹是编译期间用于临时文件存储的目录。当请求一个新页面时ASP.NET会分析aspx页面并为其生成一个.cs文件,然后JIT编译器会编译这个cs生成一个dll,这些过程都是在这个目录里面进行的。其中还放了你在项目中引用的Assembly的…

[CTF]-Pwn:做题笔记

seccon2018_kindvm解析(vm): 查看保护 这里有两次输入。 完整exp: from pwn import* pprocess(./kindvm)p.sendlineafter(bInput your name :,bflag) payloadb\x01\x00\xff\xd8 payloadb\x02\xff\xdc\x00 payloadb\x06 p.sendl…

FastAPI+Vue3零基础开发ERP系统项目实战课 20240831上课笔记 查询参数和分页实现

回顾 获取路径参数什么是路径参数?/user/{id}什么时候使用?需要传递参数怎么实现类型转换?声明参数的类型怎么捕获文件路径?{file_path:path} 什么是查询参数 查询字符串是键值对的集合,这些键值对位于 URL 的 ? 之…

深兰科技荣登《2024胡润中国元宇宙潜力企业榜》Top100

8月29日,“胡润中国元宇宙高峰论坛”在广州南沙隆重召开。论坛期间,胡润研究院发布了《2024胡润中国元宇宙潜力企业榜》,列出了元宇宙领域最具发展潜力和影响力的中国企业,深兰科技成功入围《2024胡润中国元宇宙潜力企业榜》Top10…

基质粘弹性咋回事?与组织生长啥关系?快来看看!

大家好,今天我们要来了解一个关于细胞外基质的有趣话题——《Matrix viscoelasticity controls spatio-temporal tissue organization》发表于《Nature materials》。细胞外基质的粘弹性对组织的时空组织起着重要作用,但这一作用尚未被完全理解。我们将通…

生成图片的base64编码(纯C语言实现)

一、前言 Base64编码是一种广泛使用的编码方案,将任意二进制数据转换为可打印的ASCII字符字符串。这种编码方式之所以重要,是因为许多通信协议和存储介质对数据的可传输性和可存储性有特定的要求,它们可能无法直接处理或有效传输二进制数据。…

[进阶]面向对象之static关键字

文章目录 一、什么是static关键字为什么要设置static关键字二、static的使用规则1、static修饰变量:2.static的修饰方法 练习(定义数组工具类)练习2(定义学生工具类)三、static的注意事项 一、什么是static关键字 static关键字是…

美国高防服务器运行《黑神话:悟空》配置需求及优化方法

《黑神话:悟空》作为一款备受关注的动作角色扮演游戏,其对计算资源和图形处理能力的需求相当高。在这种背景下,云服务器成为了一个能够提供强大支持的选项。下面将分析美国高防服务器在运行《黑神话:悟空》时的配置需求及优化方法…

微服务CI/CD实践(五)Jenkins Docker 自动化构建部署Node服务

微服务CI/CD实践系列: 微服务CI/CD实践(一)环境准备及虚拟机创建 微服务CI/CD实践(二)服务器先决准备 微服务CI/CD实践(三)gitlab部署及nexus3部署 微服务CI/CD实践(四&#xff09…

为什么现在那么多人用骨传导耳机?怎么选骨传导耳机?答案来了!

随着健康生活观念的深入人心,运动健身已成为一种生活态度,而音乐则是这场健康之旅中不可或缺的伴侣。然而,传统耳机在运动时的不便促使市场呼唤更加人性化的产品。骨传导耳机的出现,正是对这一需求的精准把握。它采用非入耳技术&a…

VTK平面切割

文章目录 一、vtkClipPolyData二、CapClip三、SolidClip四、vtkClipClosedSurface 本文的主要内容:简单介绍VTK中通过平面切割模型的相关功能。 哪些人适合阅读本文:有一定VTK基础的人。 一、vtkClipPolyData VTK官网描述: vtkClipPolyData使…

AI绘画 | Stable diffusion 修复老照片

大家好呀!今天我要和大家分享一个使用Stable diffusion修复老照片的功能。 你有没有遇到这样的问题:想要修复一张老照片,但是发现照片质量太差,噪点太多,根本无法修复? 别担心!Stable diffusio…