B站视频“多模态大模型,科大讯飞前NLP专家串讲”记录

文章目录

  • 多模态:
  • 对齐 -- align
  • 迁移学习和zero-shot
  • Clip
  • Blip

多模态:

图片、文字、视频、语音等不同的表征。
表示信息的方式有多种,但是不同的表示方式携带的信息不完全相同。
在这里插入图片描述

对齐 – align

如第一个图中,文字内容的描述和图片内容对应。
在这里插入图片描述
用不同单模态的模型将四种不同形式的”dog“表征成一个空间向量,可以发现虽然内容是同一个但是距离很远,所以想要用某种方式让四个点靠近一个点去,如果能变成一个点最好。

迁移学习和zero-shot

迁移学习:机器学习 – 首先在一个大数据集中跑模型,然后将预训练模型在自己的小数据集上进行微调。
在这里插入图片描述
zero-shot:通过学习类别之间的关系和属性,使得模型能够在没有见过的类别上进行准确的分类。
解决了传统机器学习中的一个重要问题,即在没有足够标记样本的情况下,如何对新类别的样本进行分类。传统的监督学习算法需要大量标记样本来训练模型,但在现实世界中,获取大量标记样本可能是困难、耗时和昂贵的。这种能力对于处理大规模、多类别的问题非常有用,可以扩展模型的应用范围和适应性。

Clip

在这里插入图片描述
左侧训练时,通过一个对角为1的标签方阵,在大量正向传播和反向传播时逼着image encoding和text encoding优化,使两个编码后的向量对齐。有两个问题:

  • 数据是没有经过处理的,可能有噪声,弱对齐
  • 比如文本描述的是dog,但是可能不只有一个图片含有dog,按理来说标签矩阵不应该只是对角线有1
    所以需要很大的数据集和很大的批次加速模型收敛。(该模型使用批次30000)

右侧使用时,对于 zero-shot 预测时,在分类中添加所有可能的类别,使用训练好的两个编码器,进行编码,计算相似度,即可预测出图像。

相对于以往模型的优点

  • 训练完之后不需要微调,直接使用两个编码器
  • 分类的类别加多少都可以,不像以往的分类只能在预测前确定好

作用:可以用文本推理图片,或者图片推理文本,图片搜图片,文本匹配文本
例如:1. 输入图片,匹配文字
在这里插入图片描述
2.文本匹配文本
在这里插入图片描述

Blip

既能完成图文匹配,又能完成文本生成。
在这里插入图片描述
第一个:图片编码后输入,经过类似于transform编码器结构输出词向量 --》相对齐的文本编码后经过类似于bert的双向编码注意力机制,经过feed forward (也是类似于transform的encoder)得到文本向量 --》 二者做对比学习,使两个编码器得到的向量对齐

第二个:与第一个相同的模块,中间加了一个 transform解码器中与编码器输出共同做注意力的模块,融合文本和图像的特征 --》 最后做二分类任务,此处的二分类需要输入的负样本较难(即与正样本难以区分),所以此处的负样本是在第一个中对比学习中分类分错的。输入到第二个中判断文本和图像是不是说的同一件事(二分类)。相对于第一个更细粒度。

第三个:掩码输入,结合图像特征生成下一个对于图像的描述的词。causal self-att 是一个单向的,类似于GPT。

在这里插入图片描述
可以对数据进行清洗, I I I代表图像, T T T代表文本, w w w表示在网上爬下来的数据,若监督的, h h h表示人工标注好的,正确匹配的, T s T_s Ts表示生成的文本。
弱监督和强监督传入模型进行训练,然后分为两个模型:
对于图文匹配的模型,将正对的文本对传入再进行训练,使模型更正确,然后将弱监督对传入,判断是不是匹配,如果不匹配,则抛弃。
对于文本生成模型,也将正确的样本传入进行再训练,然后对未知文本的图像进行生成文本,然后扔到匹配模型里判断是否匹配,如果不匹配则扔掉,最后的数据集里包括的则是原来的正确数据集和预测后的匹配图像文本对。
得到的就是清洗后的图像文本对。
在这里插入图片描述

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

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

相关文章

shiro反序列化和log4j

文章目录 安装环境shiro漏洞验证log4j 安装环境 进入vulhb目录下的weblogic,复现CVE-2018-2894漏洞: cd /vulhub/shiro/CVE-2010-3863查看docker-compose的配置文件: cat docker-compose.yml如图,里面有一个镜像文件的信息和服…

【数据结构】算法效率的度量方法

🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 🎏事后统计方法 🎏事前分析估算方法 🎏函数的渐进式增长 结语 在上篇文章中我们提到了算法的设计要求中我们要尽量满足时间效率高…

【Python 零基础入门】 Numpy

【Python 零基础入门】第六课 Numpy 概述什么是 Numpy?Numpy 与 Python 数组的区别并发 vs 并行单线程 vs 多线程GILNumpy 在数据科学中的重要性 Numpy 安装Anaconda导包 ndarraynp.array 创建数组属性np.zeros 创建np.ones 创建 数组的切片和索引基本索引切片操作数组运算 常…

计算机体系结构和操作系统

这篇文章的主要内容是冯诺依曼计算机体系结构和操作系统的理解。 目录 一.冯诺依曼计算机体系结构 二.操作系统的理解 一.冯诺依曼计算机体系结构 如图是冯诺依曼计算机体系结构,计算机本质就是对数据进行处理的机器,图中,数据从输入设备交给…

uni-app : 生成三位随机数、自定义全局变量、自定义全局函数、传参、多参数返回值

核心代码 function generateRandomNumber() {const min 100;const max 999;// 生成 min 到 max 之间的随机整数// Math.random() 函数返回一个大于等于 0 且小于 1 的随机浮点数。通过将其乘以 (max - min 1),我们得到一个大于等于 0 且小于等于 (max - min 1…

200、使用默认 Exchange 实现 P2P 消息 之 消息生产者(发送消息) 和 消息消费者(消费消息)

RabbitMQ 工作机制图: Connection: 代表客户端(包括消息生产者和消费者)与RabbitMQ之间的连接。 Channel: 连接内部的Channel。channel:通道 Exchange: 充当消息交换机的组件。 Queue&#xff…

服务运营 |摘要:学术+业界-近期前沿运筹医疗合作精选

推文作者:李舒湉 编者按 本文归纳整理了近期INFORMS Journal on Applied Analytics中的相关业界合作研究。 这些研究成果体现了运筹学在医疗健康领域实践的效果。文中的学术业界合作使用了不同的研究工具。第一篇文章使用仿真模型帮助诊所进行不同拥挤程度下诊所使用…

【C++】继承 ③ ( 继承的一些重要特性 | 子类拥有父类的所有成员 | 多态性 | 子类可以拥有父类没有的成员 | 代码示例 )

文章目录 一、继承的一些重要特性1、子类拥有父类的所有成员2、子类可以拥有父类没有的成员3、多态性 二、代码示例 一、继承的一些重要特性 1、子类拥有父类的所有成员 子类 继承 父类 , 则 子类 拥有 父类的 所有 成员变量 和 成员函数 ; 这里要注意 : 子类 拥有 父类的 私有…

Python中使用IDLE调试程序

在IDLE中,使用菜单栏中的“Debug”对IDLE打开的python程序进行调试。 1 打开调试开关 选择IDLE菜单栏的“Debug->Debugger”,如图1①所示;此时在IDLE中会显示“[DEBUG ON]”,即“调试模式已打开”,如图1②所示&am…

【使用 TensorFlow 2】03/3 创建自定义损失函数

一、说明 TensorFlow 2发布已经接近5年时间,不仅继承了Keras快速上手和易于使用的特性,同时还扩展了原有Keras所不支持的分布式训练的特性。3大设计原则:简化概念,海纳百川,构建生态.这是本系列的第三部分,…

区块链加密虚拟货币交易平台安全解决方案

区块链机密货币交易锁遭入侵,安全存在隐患。使用泰雷兹Protect server HSM加密机,多方位保护您的数据,并通过集中化管理,安全的存储密钥。 引文部分: 损失7000万美元!黑客入侵香港区块链加密货币交易所 2023年9月&…

如何在Ubuntu 20.04.6 LTS系统上运行Playwright自动化测试

写在前面 这里以 Ubuntu 20.04.6 LTS为例。示例代码:自动化测试代码。 如果过程中遇到其他非文本中提到的错误,可以使用搜索引擎搜索错误,找出解决方案,再逐步往下进行。 一、 环境准备 1.1 安装python3 1.1.1 使用APT安装Py…

【Hello Algorithm】暴力递归到动态规划(二)

暴力递归到动态规划(二) 背包问题递归版本动态规划 数字字符串改字母字符串递归版本动态规划 字符串贴纸递归版本动态规划 **特别需要注意的是 我们使用数组之前一定要进行初始化 不然很有可能会遇到一些意想不到的错误 比如说在Linux平台上 new出来的in…

记一次生产大对象及GC时长优化经验

最近在做一次系统整体优化,发现系统存在GC时长过长及JVM内存溢出的问题,记录一下优化的过程 面试的时候我们都被问过如何处理生产问题,尤其是线上oom或者GC调优的问题更是必问,所以到底应该如何发现解决这些问题呢,用真实的场景实操&#xff…

2015架构案例(五十一)

第5题 【说明】某信息技术公司计划开发一套在线投票系统,用于为市场调研、信息调查和销售反馈等业务提供服务。该系统计划通过大量宣传和奖品鼓励的方式快速积累用户,当用户规模扩大到一定程度时,开始联系相关企业提供信息服务,并…

批量执行insert into 的脚本报2006 - MySQL server has gone away

数据库执行批量数据导入是报“2006 - MySQL server has gone away”错误,脚本并没有问题,只是insert into 的批量操作语句过长导致。 解决办法: Navicat ->工具 ->服务器监控->mysql ——》变量 修改max_allowed_packet大小为512…

TCP/IP(七)TCP的连接管理(四)全连接

一 全连接队列 nginx listen 参数backlog的意义 nginx配置文件中listen后面的backlog配置 ① TCP全连接队列概念 全连接队列: 也称 accept 队列 ② 查看应用程序的 TCP 全连接队列大小 实验1: ss 命令查看 LISTEN状态下 Recv-Q/Send-Q 含义附加:…

【Java学习之道】日期与时间处理类

引言 在前面的章节中,我们介绍了Java语言的基础知识和核心技能,现在我们将进一步探讨Java中的常用类库和工具。这些工具和类库将帮助我们更高效地进行Java程序开发。在本节中,我们将一起学习日期与时间处理类的使用。 一、为什么需要日期和…

vsCode 忽略 文件上传

1 无 .gitignore 文件时,在项目文件右键,Git Bash 进入命令行 输入 touch .gitignore 生成gitignore文件 2 、在文件.gitignore里输入 node_modules/ dist/ 来自于:vscode git提交代码忽略node_modules_老妖zZ的博客-CSDN博客

k8s - Flannel

1.Flannel概念剖析 Flannel是 CoreOS 团队针对 Kubernetes 设计的一个覆盖网络(Overlay Network)工具,其目的在于帮助每一个使用 Kuberentes 的 CoreOS 主机拥有一个完整的子网。这次的分享内容将从Flannel的介绍、工作原理及安装和配置三方…