多模态学习

什么是多模态学习?

模态

  • 模态是指一些表达或感知事物的方式,每一种信息的来源或者形式,都可以称为一种模态
    • 视频
    • 图像
    • 文本
    • 音频

多模态

  • 多模态即是从多个模态表达或感知事物
    在这里插入图片描述

多模态学习

  • 从多种模态的数据中学习并且提升自身的算法
    在这里插入图片描述

多模态学习的典型任务

  • Language-Audio
    • Text-to-Speech Synthesis
      • 给定文本,生成一段对应的声音
    • Audio Captioning
      • 给定一段语音,生成一句话总结并描述主要内容(不是语音识别)
  • Vision-Audio
    • Audio-Visual Speech Recognition
      • 给定某人的视频及语音进行语音识别
    • Video Sound Separation
      • 给定视频和声音信号(包含多个声源),进行声源定位与分离
    • Image Generation from Audio
      • 给定声音,生成与其相关的图像
    • Speech-conditioned Face generation
      • 给定一段话,生成说话人的视频
    • Audio-Driven 3D Facial Animation
      • 给定一段话与3D人脸模版,生成说话的人脸3D动画
  • Vision-Language
    • Image/Video-Text Retrieval
      • 图像/视频<–>文本的相互检索
    • Image/Video Captioning
      • 给定一个图像/视频,生成文本描述其主要内容
    • Visual Question Answering
      • 给定一个图像/视频与一个问题,预测答案
    • Image/Video Generation from Text
      • 给定文本,生成相应的图像或视频
    • Multimodal Machine Translation
      • 给定文本,生成相应的图像或视频
    • Multimodal Dialog
      • 给定图像,历史对话,以及与图像相关的问题,预测该问题的回答
  • 定位相关的任务
    • Visual Grounding
      • 给定一个图像与一段文本,定位到文本所描述的物体
    • Temporal Language Localization
      • 给定一个视频和一段文本,定位到文本所描述的动作(预测起止时间)
    • Video Summarization from text query
      • 给定一段话(query)与一个视频,根据这段话的内容进行视频摘要,预测视频关键帧(或关键片段)组合为一个短的摘要视频
    • Video Segmentation from Natural Language Query
      • 给定一段话(query)与一个视频,分割得到query所指示的物体
    • Video-Language Inference
      • 给定视频(包括视频的一些字幕信息),还有一段文本假设(hypothesis),判断二者是否存在语义蕴含(二分类),即判断视频内容是否包含这段文本的语义
    • Object Tracking from Natural Language Query
      • 给定一段视频和一些文本,追踪视频中文本所描述的对象
    • Language-guided Image/Video Editing
      • 一句话自动修图。给定一段指令(文本),自动进行图像/视频的编辑

Transformers:CV和NLP的大一统模型

  • ViT
    在这里插入图片描述

  • SwinT

多模态学习的模型

  • CLIP

    • 简介

        1. CLIP的英文全称是Contrastive Language-Image Pre-training,即一种基于对比文本-图像对的预训练方法或者模型
        1. CLIP是一种基于对比学习的多模态模型,训练数据是文本-图像对:一张图像和它对应的文本描述,这里希望通过对比学习,模型能够学习到文本-图像对的匹配关系
        1. CLIP包括两个模型:Text Encoder和Image Encoder
        • 1)Text Encoder用来提取文本的特征,可以采用NLP中常用的text transformer模型
        • 2)Image Encoder用来提取图像的特征,可以采用常用CNN模型或者vision transformer
    • Contrastive Learning
      在这里插入图片描述

    • 模型结构
      在这里插入图片描述
      1. N个图片和N个文本的编码
      2. 图片和文本进行对比学习(Contrastive Learning)
      3. 正样本:匹配的图片和文本就是一对正样本(对角线上的),数量为N
      4. 负样本:不匹配的图片和文本(对角线外的),数量为N^2-N
      5. 训练目标:最大化正样本的余弦相似度,并最小化负样本的余弦相似度

    • 训练数据

      • WebImageText,共4个亿的文本-图像对的巨无霸数据集。
        https://arxiv.org/pdf/2110.04222.pdf
    • zero-shot分类
      在这里插入图片描述在这里插入图片描述
      传统分类模型缺点:
      1)训练类别个数固定,如训练1000个类别,预测就是这1000个类别的概率值,无法拓展
      2)新增类别需要重新训练模型
      CLIP分类:利用多模态特性为具体的任务构建了动态的分类器,可通过Text Encoder任意增加分类的标签

    • 总结

      • 优点
          1. 使用text encoder和image encoder进行相似度匹配,使得文本和图像模态得以融合
          1. 通过计算text encoder和image encoder的余弦相似度,可实现zero-shot的图片分类
      • 不足
          1. zero-shot在某些数据集上表现较差,如细粒度分类,抽象任务等
          1. 在自然分布漂移上表现鲁棒,但是依然存在域外泛化问题,即如果测试数据集的分布和训练集相差较大,CLIP会表现较差,如MNIST只有88%的准确率 (其实大部分模型都会存在)
          1. 没有解决深度学习的数据效率低下难题,训练CLIP需要大量的数据(4亿对图像-文本对)
  • DALL-E

    • 简介

      1. DALL-E是OpenAI推出的多模态预训练模型,该模型参数量120亿,在2.5亿对图像-文本对上进行训练
      2. DALL-E是一个两阶段模型
        • Stage1:训练一个变分自编码器(Discrete Variance Auto-Encoder,dVAE),用于生成图像tokens(用embedding更合适?)
        • Stage2:训练一个文本和图像的自回归解码器,用于预测生成图片tokens
    • 模型框架

      • 训练阶段
        在这里插入图片描述
        在这里插入图片描述
      1. Stage1 Loss Functiuon: loss=||x-x’||
      2. Stage1 Image Encoding Tokens代表图片被压缩的表示(Latent Representation)
    • 推理阶段
      在这里插入图片描述

    • demo

      • 文本提示在这里插入图片描述
        文本提示:一个专业高质量的颈鹿乌龟嵌合体插画。模仿乌龟的长颈鹿。乌龟做的长颈鹿
      • 文本+图像提示
        在这里插入图片描述
        文本+图像提示:参照上面的猫在下面生成草图
    • 总结

      • 优点:
          1. 多模态生成能力:DALL-E可以将文本描述转化为对应的图像,实现了文本到图像的多模态生成。它能够生成高质量、多样化且创意性的图像,甚至可以生成以前从未见过的新颖图像
          1. 创造力和想象力:DALL-E模型展现了惊人的创造力和想象力。它可以将抽象的文本描述转化为具体的图像,同时保持图像的相关性和连贯性。这使得它在创意设计、虚拟场景生成等领域具有广泛的应用潜力
      • 不足
        1. 训练数据的限制:DALL-E的训练过程依赖于大规模的图像和文本数据集
        2. 语义理解的限制:尽管DALL-E能够生成与文本描述相匹配的图像,但它对于理解文本的深层语义仍然存在限制。在某些复杂的场景或抽象概念的描述中,模型可能会产生与预期不一致的结果
  • BLIP2

    • 简介

      • BLIP2是一个图像到文本的模型
    • 模型框架

      • Stage1 在这里插入图片描述
        • 第一阶段从冻结图像编码器引导视觉语言表示学习,即让Q-Former学习和文本更相关的视觉特征(视觉-文本特征对齐)
        • 固定视觉预训练模型,通过三个任务来训练一个 Q-Former 将图像输入中的语义编码到一个和文本特征空间相似的特征空间中。具体来讲,模型基于 K 个可学习的 query 嵌入和 cross-attention 机制从图像中获取特征,三个任务包括:
            1. 图文匹配:对输入的(图像,文本)二元组分类,判断其是否相关
            1. 基于图像的文本生成:给定图像输入,生成对应的文本描述
            1. 图文对比学习:拉近图像特征和对应文本特征的距离,增大其和无关文本特征的距离
      • Stage2: 在这里插入图片描述
        • 第二阶段将视觉从冻结的语言模型引导到语言生成学习,即使用LLM来解析Q-Former输出的视觉特征
        • 针对两类不同的LLM设计了不同的任务:
            1. Decoder类型的LLM(如OPT):以Query做输入,文本做目标
            1. Encoder-Decoder类型的LLM(如FlanT5):以Query和一句话的前半段做输入,以后半段做目标
    • demo
      在这里插入图片描述
      在这里插入图片描述

    • 总结

      • 优点
          1. 将 Q-Former 的输出通过一个全联接网络输入给固定的大语言模型,通过【基于图像的文本生成】任务将与文本特征进行了初步对齐的视觉特征进一步编码为大语言模型可以理解的输入
          1. 通过固定大语言模型的参数,BLIP-2 保留了大语言模型的 Instruction Following 能力
      • 不足:
        • 模型缺乏多模态的 In-Context-Learning 能力
          在这里插入图片描述
        • 例子:给出一张树的照片,并告诉模型有两个树,给出一盘橙子,告诉模型有三个橙子,再给出一张小鸟的图片,问图片中小鸟的数量?
        • 原因:训练数据只是一些简单(图像,文本)对
      • 没修改大语言模型权重,保留了大语言模型的一些缺点,比如可能输出不准确的信息 在这里插入图片描述

多模态学习面临的难点和挑战

  • 数据获取和标注
    • 获取多模态数据集并进行准确的标注是一个挑战。不同模态的数据可能具有不同的特点和表示方式,需要耗费大量的时间和人力进行数据采集和标注
  • 特征表示学习
    • 如何以利用多种模态的互补性和冗余性的方式表示和总结多模态数据 在这里插入图片描述
  • 联合表征
    • 如何有效地融合不同模态的信息是一个关键问题。模态之间的关联性和权重分配需要仔细设计和建模 在这里插入图片描述
  • 模态间的对齐和匹配
    • 多模态学习需要处理不同模态之间的对齐和匹配问题,以便进行有效的信息融合和联合学习。模态之间的对齐可以是空间上的对齐(如图像和文本的对齐)或语义上的对齐(如情感的对齐) -
      在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Nacos架构与原理 - 寻址机制

文章目录 前提设计MemberLookup内部实现单机寻址 StandaloneMemberLookup文件寻址 FileConfigMemberLookup地址服务器寻址 AddressServerMemberLookup 未来可扩展点 前提 Nacos 支持单机部署以及集群部署 针对单机模式&#xff0c;Nacos 只是自己和自己通信&#xff1b;对于集…

关系数据库SQL数据查询

关系数据库SQL数据查询 数据查询 一、单表查询 1.查询仅涉及一个表&#xff0c;选择表中的若干列 [例1] 查询全体学生的学号与姓名。SELECT Sno,SnameFROM Student; [例2] 查询全体学生的姓名、学号、所在系。SELECT Sname,Sno,SdeptFROM Student;查询全部列 选出所有属…

文件系统考古 3:1994 - The SGI XFS Filesystem

在 1994 年&#xff0c;论文《XFS 文件系统的可扩展性》发表了。自 1984 年以来&#xff0c;计算机的发展速度变得更快&#xff0c;存储容量也增加了。值得注意的是&#xff0c;在这个时期出现了更多配备多个 CPU 的计算机&#xff0c;并且存储容量已经达到了 TB 级别。对于这些…

机器学习实践(1.2)XGBoost回归任务

前言 XGBoost属于Boosting集成学习模型&#xff0c;由华盛顿大学陈天齐博士提出&#xff0c;因在机器学习挑战赛中大放异彩而被业界所熟知。相比越来越流行的深度神经网络&#xff0c;XGBoost能更好的处理表格数据&#xff0c;并具有更强的可解释性&#xff0c;还具有易于调参…

SpringCloud微服务(二)网关GateWay、Docker、Dockerfile、Linux操作超详细

目录 统一网关GateWay 搭建网关服务的步骤 1、引入依赖 2、编写路由配置及nacos地址 路由断言工厂Route Oredicate Factory 路由过滤器配置 全局过滤器GlobalFilter 过滤器执行顺序 跨域问题处理 Docker ​编辑 Docker与虚拟机 镜像和容器 Docker的安装 启动docke…

MSP432学习笔记11:定时器A的结构\基地址\函数汇总理解

今日得以继续我的电赛MSP432学习之路&#xff1a;所用开发板MSP432P401R 定时器是任何单片机开发板十分重要的模块&#xff0c;在几日的学习使用过程中&#xff0c;本人也对其使用原理等产生过许多疑问&#xff0c;他究竟是怎么存储计数值、捕获值的&#xff1f;一个定时器四个…

8.2 电压比较器(1)

电压比较器是对输入信号进行鉴幅与比较的电路&#xff0c;是组成非正弦波发生电路的基本单元电路&#xff0c;在测量和控制中有着相当广泛的应用。 一、概述 1、电压比较器的电压传输特性 电压比较器的输出电压 u O u_{\scriptscriptstyle O} uO​ 与输入电压 u I u_{\scr…

网络层:虚拟专用网VPN和网络地址转换NAT

1.网络层&#xff1a;虚拟专用网VPN和网络地址转换NAT 笔记来源&#xff1a; 湖科大教书匠&#xff1a;虚拟专用网VPN和网络地址转换NAT 声明&#xff1a;该学习笔记来自湖科大教书匠&#xff0c;笔记仅做学习参考 1.1 虚拟专用网VPN 专用网和公用网的特点 专用网络&#xff…

Springboot集成magic-api

目录 1、前言 2、springboot集成magic-api 2.1、添加maven依赖 2.2、application.yml配置 2.3、编写测试接口 2.4、启动程序&#xff0c;访问接口 2.5、magic-api脚本 3、magic-api其他语法 4、注意事项 1、前言 今天项目中遇到一个问题&#xff0c;springboot后端项目…

探索ChatGPT:了解语言模型在对话系统中的应用

第一章&#xff1a;引言 在当今数字化时代&#xff0c;人工智能技术的迅猛发展使得对话系统成为一个备受关注的领域。随着语言模型的进步&#xff0c;像ChatGPT这样的模型正在改变我们与计算机进行交流的方式。本文将探索ChatGPT作为一种语言模型在对话系统中的应用&#xff0…

简化 Hello World:Java 新写法要来了

OpenJDK 的 JEP 445 提案正在努力简化 Java 的入门难度。 这个提案主要是引入 “灵活的 Main 方法和匿名 Main 类” &#xff0c;希望 Java 的学习过程能更平滑&#xff0c;让学生和初学者能更好地接受 Java 。 提案的作者 Ron Pressler 解释&#xff1a;现在的 Java 语言非常…

Flutter 笔记 | Flutter 核心原理(三)布局(Layout )过程

布局过程 Layout&#xff08;布局&#xff09;过程主要是确定每一个组件的布局信息&#xff08;大小和位置&#xff09;&#xff0c;Flutter 的布局过程如下&#xff1a; 父节点向子节点传递约束&#xff08;constraints&#xff09;信息&#xff0c;限制子节点的最大和最小宽…

【实战与杂谈】本地搭建自己的游戏王卡片生成器

声明&#xff1a; 1.游戏王卡片制作器本身就是由【kooriookami】开发的&#xff0c;用于DIY卡片因此我只是原有功能再现并不会追加新功能 2.其次数据和卡图均来源于网络&#xff0c;因此我也只提供网络能获取该内容的途径&#xff0c;并不会预先准备好 最近一直没有时间看回复…

SpringBoot的配置环境属性

SpringBoot的配置环境属性 在本文中&#xff0c;我们将讨论SpringBoot的配置环境属性。我们将了解如何使用这些属性来配置我们的应用程序&#xff0c;以便在不同的环境中运行。我们还将了解如何使用SpringBoot的配置文件来管理这些属性。最后&#xff0c;我们将介绍一些最佳实…

激活函数ReLU和SiLU的区别

文章目录 前言ReLU&#xff08;Rectified Linear Unit&#xff09;Leaky ReLUFReLU&#xff08;Flatten ReLU&#xff09;SiLU&#xff08;Sigmoid Linear Unit&#xff09;总结 前言 在这里&#xff0c;我就简单写一下两个激活函数的概念以及区别&#xff0c;详细的过程可以看…

【C++详解】——红黑树

目录 红黑树的概念 红黑树的性质 红黑树节点的定义 红黑树的结构 红黑树的插入操作 情况一 情况二 情况三 红黑树的验证 红黑树的查找 红黑树与AVL树的比较 红黑树的概念 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示…

校园网WiFi IPv6免流上网

ipv6的介绍 IPv6是国际协议的最新版本&#xff0c;用它来取代IPv4主要是为了解决IPv4网络地址枯竭的问题&#xff0c;也在其他很多方面对IPv4有所改进&#xff0c;比如网络的速度和安全性。 IPv4是一个32位的地址&#xff0c;随着用户的增加在2011年国家报道说IPv4的网络地址即…

SpringBoot整合模板引擎Thymeleaf(2)

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 概述 Thymeleaf十分类似于JSP中使用的EL表达式。整体而言&#xff0c;Thymeleaf简洁、优雅、高效&#xff1b;非常适合小型项目的快速开发。 Thymeleaf常用标签简述 在此…

Socket安全(一)

文章目录 1. 安全Socket2. 保护通信3. 创建安全客户端Socket4. 选择密码组5. 事件处理器6. 会话管理 1. 安全Socket 前面介绍了Socket的基本使用&#xff0c;这里开始介绍Socket的安全问题&#xff0c;作为一个Internet用户&#xff0c;你确实有一些保护手段可以保护自己的隐私…

【MongoDB】四、MongoDB副本集的部署

【MongoDB】四、MongoDB副本集的部署 实验目的实验内容实验步骤实验小结 实验目的 能够通过部署副本集理解副本集机制&#xff0c;从而解决大数据项目中数据丢失的问题 实验内容 环境准备&#xff1a;根据表中的信息完成3台MongoDB服务器的部署&#xff08;XXX是姓名拼音首字母…