多模态学习

什么是多模态学习?

模态

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

多模态

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

多模态学习

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

多模态学习的典型任务

  • 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 能力
          在这里插入图片描述
        • 例子:给出一张树的照片,并告诉模型有两个树,给出一盘橙子,告诉模型有三个橙子,再给出一张小鸟的图片,问图片中小鸟的数量?
        • 原因:训练数据只是一些简单(图像,文本)对
      • 没修改大语言模型权重,保留了大语言模型的一些缺点,比如可能输出不准确的信息 在这里插入图片描述

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

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

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

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

相关文章

springBoot学习——spring+springMVC 集成mybatis 拦截器

目录 引出入门案例&#xff1a;登陆和注册 & 用户信息分页 之 固定的步骤&#xff1a;&#xff08;1&#xff09;建普通项目配置pom.xml文件&#xff08;2&#xff09;写主启动类 application.yml文件【bug】pom.xml文件导了mybatis的包&#xff0c;但是application.yml文…

低代码可视化拖拽编辑器实现方案

一、前言 随着业务不断发展&#xff0c;低代码、无代码平台越来越常见&#xff0c;它降低开发门槛、快速响应业务需求、提升开发效率。零开发经验的业务人员通过可视化拖拽等方式&#xff0c;即可快速搭建各种应用。本文主要是讲解低代码可视化拖拽平台前端展示层面的实现逻辑…

《语文建设》期刊简介及投稿要求

《语文建设》期刊简介及投稿要求 《语文建设》期刊简介&#xff1a; 主管单位:教育部 主办单位&#xff1a;语文出版社有限公司 国际刊号ISSN&#xff1a;1001-8476&#xff1b;国内刊号CN&#xff1a;11-1399/H&#xff1b;邮发代号&#xff1a;2-200 出版周期&#xff1…

ivx低代码开发平台

前言 低代码开发平台&#xff08;Low-Code Development Platform, LCDS&#xff09;为企业和开发者提供了高效的应用开发方式。在2023年&#xff0c;中国的低代码开发平台正在快速发展&#xff0c;以下是其中最受关注的十大平台&#xff1a; iVX&#xff1a;iVX是一款新型的低代…

python机器学习——机器学习相关概念 特征工程

目录 机器学习特征工程1.特征抽取2.特征处理2.1 归一化&#xff1a;传统精确小数据2.2 标准化&#xff1a;大多数情况 3.数据降维3.1特征选择3.2主成分分析PCA 案例&#xff1a;超市订单分析 机器学习 监督学习&#xff1a;输入数据有特征有标签&#xff0c;即有标准答案 分类&…

Open-World Class Discovery with Kernel Networks (ICDM 2020)

Open-World Class Discovery with Kernel Networks (ICDM 2020) 摘要 我们研究了一个开放世界类发现问题&#xff0c;在这个问题中&#xff0c;训练样本是来自旧类有标签的样本&#xff0c;而我们从没有标记的测试样本中发现新的类。解决这一范式有两个关键的挑战:(a)将知识从…

搭建GPU环境的TensorFlow并将单块GPU划分逻辑为分区的实践

1、搭建环境 1.1、查看GPU版本 在安装tensorflow的GPU版本之前可以先看下自己的显卡情况 命令&#xff1a;nvidia-smi 或者桌面右下角&#xff0c;NVIDIA图标&#xff0c;进入到NVIDIA的控制面板&#xff1a; 点击左下角的系统信息&#xff0c;组件中查看NVCUDA64.dll的版本…

Python技术自学的方式

Python是一种高级编程语言&#xff0c;被广泛用于软件开发、数据分析、人工智能和科学计算等领域。它于1991年由Guido van Rossum创建&#xff0c;并且其简洁、易读的语法以及丰富的标准库使得它成为了初学者和专业开发人员的首选语言之一。 一、Python技术介绍 学习Python技术…

【探索 Kubernetes|作业管理篇 系列 15】DaemonSet 的”过人之处“

前言 大家好&#xff0c;我是秋意零。 在上一篇中&#xff0c;我们讲解了 StatefulSet 的存储状态&#xff1b;我们发现&#xff0c;它的存储状态&#xff0c;就是利用了 PV 与 PVC 的设计。StatefulSet 自动为我们创建 PVC 并且以 <pvc-name>-<pod-name>-<编…

LENOVO联想笔记本电脑ThinkBook 15 G2-ITL(20VE)原装出厂Windows10系统恢复原厂OEM设置预装系统

Lenovo联想笔记本电脑&#xff0c;ThinkBook 15 G2-ITL(20VE)出厂Windows10系统&#xff0c;出厂预装系统 系统自带所有驱动、出厂主题壁纸LOGO、Office办公软件、联想电脑管家等预装程序 所需要工具&#xff1a;16G或以上的U盘 文件格式&#xff1a;ISO 文件大小&#xf…

Type-C PD显示器方案简介

方案概述 LDR6020 Type-C PD显示器方案可以给显示器提供一个全功能C口&#xff0c;支持手机&#xff0c;电脑&#xff0c;游戏主机等一线投屏功能&#xff0c;同时支持PD快充输出。LDR6020内置了 USB Power Delivery 控制器和 PD BMC PHY 收发器&#xff0c;支持PD2.0/3.0等快充…

【PCL】(二)CMake编译

&#xff08;二&#xff09;编译 将以下代码写到pcd_write.cpp中&#xff0c;并放到项目/PATH/TO/MY/GRAND/PROJECT/project中。 #include <iostream>#include <pcl/io/pcd_io.h>#include <pcl/point_types.h>intmain (){pcl::PointCloud<pcl::PointXYZ&…