多模态和大模型原理

一、图文匹配原理

Clip
在这里插入图片描述

通过图像编码器和照片编码器将两者区分成N项,然后让它们相互内积,能够匹配得上的则内积值为1,不能够匹配上的则内积为-1,也就是负样本,如上图,除了对角线的正样本,周围其余的都是负样本。
在这里插入图片描述
当N比较大的时候,负样本的数量会远大于正样本,存在正负样本不均衡的问题,为解决正负样本不均衡的问题,需要对负样本进行采样,如采样N个负样本,从而达到正负样本均衡。但采样的原则是什么?采样难度比较大的样本,相似度比较高的负样本。(相当于考完试的时候,把做错的题进行复习一遍,这样子的效率相对比较高一点)相似度比较高的负样本,说明模型不太给力,从而进行一种强化。

在这里插入图片描述
像上面这幅图片,现将文字类别通过编码器区分成不同的各类。然后将图片通过编码器识别它的信息,然后将图片信息和文字类进行配对,像狗图片匹配到狗文字,他两的相似度最接近,因此匹配成功,得到(A photo of a dog.)
在这里插入图片描述

resnet只能区分类,它只是一种标定,无法理解文字意义。就像他无法识别狮虎兽属于哪一类。但clip不同,它能够理解文字,并进行学习,Clip在泛化能力上是很强的。就像上图,如果识别狮虎兽,它能够找到(tiger 和 lion),clip是能够理解文字意思的。

注:图像编码不能够使用bert编码,因为bert编码只能够使用在文字编码上

在这里插入图片描述

像识别香蕉,ResNet只能够识别具体的香蕉,一旦香蕉比较抽象,它的识别能力就会直线下降。而CLIP不同,它是泛化能力极强的,像像素画风,可爱画风,它都能识别的出来是香蕉。

二、文生图DALL-E模型原理

DALL-E训练分为两个阶段,一是训练一个变分自编码器用于图像编解码,二是训练一个文本和图像的自回归解码器用于预测生成图像的Tokens。
在这里插入图片描述
one-hot是一种常见的词向量模型,目的是将字符串,转为计算机能够处理的数字。
loss损失函数就是:处理后的图片-处理前的图片
dVAE Encoder就相当于token产生器,把图片打上相应的token

第一步先通过one-hot形成token(令牌)。先通过编码器形成token,再通过解码器再转换成图片。
其目的是对图像进行无损压缩(实际上也是有损失的,只不过是损失更小),通过无损压缩来尽可能储存图像信息,也是用于给第二步自回归编码器进行学习(因为形成了token)。

第二步是通过gpt技术中的自回归编码进行文字预测图片的token
在这里插入图片描述
通过文字“带着贝雷帽的狗”来识别出众多样本tokens,然后生成那三张带着贝雷帽的狗图片,再通过CLIP技术(也就是上图狮虎兽识别那技术),通过对生成的图片进行相似度匹配,找到相似度最高的那张图片,从而得到最终的结果。步骤一的无损压缩也是为了能够生成一种token,用于在这步骤中进行匹对。

三、Bridge-Tower,GPT4模型原理

Bridge-Tower模型在这里插入图片描述左边文字,右边是图片,使用Cross Attention进行层层迭代训练,最后进行一个分类,0-1的分类,用来做图文匹配。

GPT4模型
在这里插入图片描述

token和向量其实就是一种映射。
GPT4其实就是将文字转换成token,图片也转换成token,从而将两者进行结合起来。
图文结合其实就两种技术:
1.文字token+图像token
2.文字embedding+图像embedding

注:NLP和CV的区分其实就是现阶段技术不够的问题从而区分出来的,人们各自解决其中的问题。到以后NLP会吃掉CV,进行技术的合并,因为NLP才是大股东。它们只会是历史的产物,到以后这两条线会合并起来,形成一条技术线。

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

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

相关文章

15 go语言(golang) - 并发编程goroutine原理及数据安全

底层原理 Go 的 goroutine 是一种轻量级的线程实现,允许我们在程序中并发地执行函数。与传统的操作系统线程相比,goroutine 更加高效和易于使用。 轻量级调度 用户态调度:Go 运行时提供了自己的调度器,这意味着 goroutine 的创建…

Flink细粒度的资源管理

Apache Flink致力于为所有应用程序自动导出合理的默认资源需求。对于希望根据其特定场景微调其资源消耗的用户,Flink提供了细粒度的资源管理。这里我们就来看下细粒度的资源管理如何使用。(注意该功能目前仅对DataStream API有用) 1. 适用场景 使用细粒度的资源管理的可能…

《操作系统 - 清华大学》5 -5:缺页异常

文章目录 1. 缺页异常的处理流程2.在何处保存未被映射的页?3. 虚拟内存性能 1. 缺页异常的处理流程 缺页中断的处理过程: CPU读内存单元,在TLB中根据其虚拟地址匹配物理地址,未命中,读页表; 由于页表项的存在位为0,CP…

Linux-NFS

文章目录 NASNFSNFS配置 🏡作者主页:点击! 🤖Linux专栏:点击! ⏰️创作时间:2024年11月27日12点50分 NAS 网络接入存储 共享存储文件存储 NAS设备包括 NAS引擎一个或多个网络接口一个操作系统…

OpenHarmony属性信息怎么修改?触觉智能RK3566鸿蒙开发板来演示

本文介绍在开源鸿蒙OpenHarmony系统下,修改产品属性信息的方法,触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,Laval鸿蒙社区推荐开发板,已适配全新OpenHarmony5.0 Release系统,感兴趣…

杰发科技AC7803——不同晶振频率时钟的配置

计算公式 PLL_POSDIV [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62] PLL_PREDIV_1 1 2 4 USE_XTAL 24M SYSCLK_FREQ 64M SYSCLK_DIVIDER 1 VCO USE_XTAL*…

面向对象进阶-抽象类

抽象方法 将共性行为(方法)抽取到父类,由于每个子类执行内容不一样,在父类不能确定具体的方法体,该方法可以定义为抽象方法。 抽象类:如果一个类中存在抽象方法,那么该 类必须声明为抽象类。…

【数据结构专栏】二叉搜索树(Binary Search Tree)的剖析?

文章目录 🧨前言1、二叉搜索树的基本概念?2、二叉搜索树的节点结构组成?3、二叉搜索树的插入操作?4、二叉搜索树的删除操作?5、二叉搜索树的遍历?6、二叉搜索树的性能分析?🎉完整代码…

分布式调用 - 服务间的远程调用RPC

文章目录 导图PreRPC 概述RPC 调用过程RPC 动态代理1. 接口定义 (SeverProvider)2. 实现类 (ServerProviderImpl)3. 动态代理类 (DynamicProxy)4. 客户端 (Client)5. 代码工作流程6. 总结和注意点7. 结果输出8. 小结 RPC 序列化协议编码网络传输 导图 服务和应用的调用基于场景…

vue3项目搭建-4-正式启动项目,git管理

安装插件: npm install vue router npm install eslint 完成目录: 需要添置文件夹: apis -> api接口 composables -> 组合函数 directives -> 全局指令 styles -> 全局样式 utils -> 工具函数 git 管理: …

GPON原理

GPON网络架构 对于OLT来说,它就相当于一个指挥官,它指挥PON口下的ONU在指定的时间段内发送数据以及发起测距过程等 而ONU则是一个士兵,按照OLT的指挥做出相应 而ODN它主要就是提供一个传输通道,主要包括分光器和光纤组成 对于PO…

SJYP 24冬季系列 FROZEN CHARISMA发布

近日,女装品牌SJYP 2024年冬季系列——FROZEN CHARISMA已正式发布,展现了更加干练的法式风格。此次新品发布不仅延续了SJYP一贯的强烈设计风格和个性时尚,更融入了法式风情的干练元素,为消费者带来了一场视觉与穿着的双重盛宴。  …

【H2O2|全栈】JS进阶知识(十一)axios入门

目录 前言 开篇语 准备工作 获取 介绍 使用 结束语 前言 开篇语 本系列博客主要分享JavaScript的进阶语法知识,本期主要对axios进行基本的了解。 与基础部分的语法相比,ES6的语法进行了一些更加严谨的约束和优化,因此,在…

git使用文档手册

创建一个本地代码工作空间,比如这里使用test目录作为工作目录 针对仓库地址 http://192.168.31.125:9557/poxiaoai-crm/project-crm.git。 1. 安装 Git 确保您的系统已经安装了 Git。如果未安装,请根据操作系统访问 Git 官网 下载并安装。 验证安装 …

数据结构——排序算法第二幕(交换排序:冒泡排序、快速排序(三种版本) 归并排序:归并排序(分治))超详细!!!!

文章目录 前言一、交换排序1.1 冒泡排序1.2 快速排序1.2.1 hoare版本 快排1.2.2 挖坑法 快排1.2.3 lomuto前后指针 快排 二、归并排序总结 前言 继上篇学习了排序的前面两个部分:直接插入排序和选择排序 今天我们来学习排序中常用的交换排序以及非常稳定的归并排序 快排可是有多…

11.26深度学习_神经网络-数据处理

一、深度学习概述 1. 什么是深度学习 ​ 人工智能、机器学习和深度学习之间的关系: ​ 机器学习是实现人工智能的一种途径,深度学习是机器学习的子集,区别如下: ​ 传统机器学习算法依赖人工设计特征、提取特征,而深…

数据结构 (13)串的应用举例

前言 数据结构中的串(String),也称为字符串,是一种常见且重要的数据结构,在计算机科学中被广泛应用于各种场景。 一、文本处理 文本编辑器:在文本编辑器中,字符串被用来表示和存储用户输入的文本…

PointNet++论文复现

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

时间的礼物:如何珍视每一刻

《时间的礼物:如何珍视每一刻》 夫时间者,宇宙之精髓,生命之经纬,悄无声息而流转不息,如织锦之细线,串联古今,贯穿万物。 人生短暂,犹如白驹过隙,倏忽而逝,…

NVIDIA /CUDA 里面的clock rate详细介绍

本文主要介绍: cuda中的时钟频率具体有哪些?clock rate怎么调节? cuda中可以通过nvml 函数或者命令来调整时钟频率(clock rate) 介绍 命令行 nvdia-smi -q -i 0 可以查询device相关参数,可以用后面的命…