【AI理论学习】多模态介绍及当前研究方向

news2024/11/25 7:04:26

多模态介绍及当前研究方向

  • 什么是多模态?
  • 多模态的任务和数据集有哪些?
  • 多种模态融合的方式有哪些?
  • 多模态任务的研究方向有哪些?
  • 参考资料

什么是多模态?

什么是多模态?多模态指的是多种模态的信息,包括:文本、图像、视频、音频等。顾名思义,多模态研究的就是这些不同类型的数据的融合的问题

目前大多数工作中,只处理图像和文本形式的数据,即把视频数据转为图像,把音频数据转为文本格式。这就涉及到图像和文本领域的内容。

多模态的任务和数据集有哪些?

多模态研究的是视觉语言问题,其任务是关于图像和文字的分类、问答、匹配、排序、定位等问题。
视觉语言问题
例如给定一张图片,可以完成以下任务:

  1. VQA(Visual Question Answering)视觉问答
    输入:一张图片、一个自然语言描述的问题
    输出:答案(单词或短语)
  2. Image Caption 图像字幕
    输入:一张图片
    输出:图片的自然语言描述(一个句子)
  3. Referring Expression Comprehension 指代表达
    输入:一张图片、一个自然语言描述的句子
    输出:判断句子描述的内容(正确或错误)
  4. Visual Dialogue 视觉对话
    输入:一张图片
    输出:两个角色进行多次交互、对话
  5. VCR (Visual Commonsense Reasoning) 视觉常识推理
    输入:1个问题,4个备选答案,4个理由
    输出:正确答案,和理由
    视觉常识推理
  6. NLVR(Natural Language for Visual Reasoning)自然语言视觉推理
    输入:2张图片,一个分布
    输出:true或false
    自然语言视觉推理
  7. Visual Entailment 视觉蕴含
    输入:图像、文本
    输出:3种label的概率。(entailment、neutral、contradiction)蕴含、中性、矛盾
    视觉蕴含
  8. Image-Text Retrieval 图文检索
    有3种方式。
    1)以图搜文。输入图片,输出文本
    2)以文搜图。输入文本,输出图片
    3)以图搜图,输入图片,输出图片
    图文检索

多种模态融合的方式有哪些?

通过NLP的预训练模型,可以得到文本的嵌入表示;再结合图像和视觉领域的预训练模型,可以得到图像的嵌入表示;那么,如何将两者融合起来,来完成以上的各种任务呢?常用的多模态交叉的方式有两种:

  1. 点乘或者直接追加
    此种方式将文本和图像分别进行Embedding,之后将各自的向量进行追加或者点乘。好处是简单方便,计算成本也比较低。
    ALIGN Model模态点乘
  2. 另外一种模态交叉的方式是最近用得比较多的Transformer。
    其好处是利用了Transformer架构,能够更好地进行图像特征和文本特征的表示。缺点是占用空间大,计算成本较高。
    基于Transformer的多模态融合

多模态任务的研究方向有哪些?

  1. 多模态的表示学习(multimodal representation):利用多模态的互补性和冗余的方式来表示和总结多模态数据。
  • 联合表示:将不同的单模态投影到一个共享的子空间来对特征进行融合。
  • 协同表示:每个模态都可以学习单独的表示,但是通过约束进行协调。约束可以通过对抗性的训练,模态编码特征的相似性约束来获取。
  • 编解码:在多模态任务转换中,将一种模态映射为另一种模态的。编码器将原模态映射到中间向量,然后通过中间向量生成新模态下的表达。
  • 模态映射(translation):将数据从一种模态转换到另一种模态。
    • example-based:基于检索的模型是多模态翻译的最简单形式。它们在字典中找到最接近的样本,并将其作为翻译结果。检索可以在单模态空间或中间语义空间进行。
    • generative :
      • 基于语法的:通过使用语法来限制目标领域来简化任务。它们首先从源模态中检测高层语义,例如图像中的对象和视频中的动作。然后,这些检测结果与基于预定义语法的生成过程合并在一起,以产生目标模态。
      • 编码器解码器:将源模态编码为潜在表示,然后由解码器来生成目标模态。即首先将源模态编码成矢量表示,然后使用解码器模块生成目标模态,所有这些都在一个单通道管道中完成。
      • 连续生成模型:基于源模态输入流连续生成目标模态,它往往用于序列翻译,并以在线方式在每个时间步上产生输出。这些模型在将序列转换为序列(如从文本转换为语音、从语音转换为文本、从视频转换为文本)时非常有用。
  1. 模态对齐(alignment)
  • 隐式对齐(implicit alignment):隐对齐作为另一个任务的中间(通常是潜在的)步骤,例如,基于文本描述的图像检索可以包括单词和图像区域之间的对齐步骤。
  • 显式对齐(explicit alignment): 显式对齐主要通过相似性度量来实现,大多数方法依赖于测量不同形式的子组件之间的相似性作为基本的构建块。
  1. 多模态融合(multimodal fusion):两种分类方法
  • 基于集成的融合方法(aggregation-based):基于聚集的方法通过一定的操作(如平均、连接、自注意力)将多模态子网络组合成单个网络
  • 基于对齐的融合方法(alignment-based):基于对齐的融合方法则采用了一个正则化损失来对齐所有子网络的特征嵌入,同时保持每个子网络进行单独的参数传播。

  • Early:早期融合可以学习利用每个模态的低层特征之间的相关性和相互作用。例如在文献3中采用的多项式特征融合递归地将局部关联传输到全局关联来对特征进行融合。
  • Late:后期融合使用单峰决策值,并使用一种融合机制进行融合,如平均、投票、基于信道噪声和信号方差的加权,或学习模型
  • Hybrid:混合融合尝试在一个共同的框架中利用上述两种方法的优点。它已成功地用于多模态说话人识别和多媒体事件检测。

  1. 协同学习(co-learning)
    协同学习有助于解决某种模态下资源匮乏型的模型训练,提取一种模态数据的信息来协助另一种模态数据的训练。针对不同的数据资源类型可以将协同学习分为以下3中。
  • 并行数据(parallel-based):训练数据集中其中一种模态的观测结果直接与其他模态的观测结果相关联。即当多模态观测来自相同的实例时。
  • 非平行数据(non-parallel):不要求来自不同模式的观察之间有直接联系。这些方法通常通过使用数据类别重叠来实现共同学习。
  • 混合数据(hybrid):在混合数据设置中,两个非平行模态通过共享模态或数据集进行连接。

参考资料

[1] https://zhuanlan.zhihu.com/p/473760099
[2] https://zhuanlan.zhihu.com/p/351048130

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

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

相关文章

Golang入门笔记(8)—— init 函数

init 函数 : 每一个源文件都可以包含一个init函数,该函数会在 程序入口main函数执行前 ,被Go运行的框架进行调用。 测试代码: package mainimport ("fmt" )func init() {fmt.Println("init...") }func main(…

vue 项目源码映射失败问题解决

文章目录vue 项目源码映射失败问题解决前言解决方案效果参考vue 项目源码映射失败问题解决 前言 不知何时起,项目控制台调试进入源代码变成编译后的文件了,调试起来十分不便,强迫症十分难受(像是自己英语水平一般,基…

人工智能:PyTorch深度学习框架介绍

目录 1、PyTorch 2、PyTorch常用的工具包 3、PyTorch特点 4、PyTorch不足之处 今天给大家讲解一下PyTorch深度学习框架的一些基础知识,希望对大家理解PyTorch有一定的帮助! 1、PyTorch PyTorch是一个基于Torch的Python机器学习框架。它是由Facebook的人工…

Android Studio实现记单词App,背完四六级一次过~

项目目录一、项目概述二、主要技术三、开发环境四、详细设计1、数据库2、单词详情3、搜索单词五、运行演示一、项目概述 本系统包含高考、四级、六级、托福和雅思词汇五个章节。每个章节分为多个单元,每个单元又包含上百个词汇。可以在单元列表查询单词&#xff0c…

JavaScript基础(12)_构造函数、this

我们每次创建对象时,常常会遇到属性和方法大量相同的情况,如果每次都创建相似的对象,代码就显得冗长多余,所以为了优化,我们往往利用函数调用的形式来简化这些代码,因为普通函数建立的对象并不能区分不同的…

Spark 3.0 - 2.机器学习核心 DataFrame 应用 API 与操作详解

目录 一.引言 二.创建 DataFrame 1.CreateDataFrame 2.RDD toDF By Spark implicits 3.By Read Format File 三.常用处理 API 1.select 选择 2.selectExpr 表达式 3.collect / collectAsList 收集 4.count 统计 5.limit 限制 6.distinct 去重 7.filter 过滤 8.ma…

Matlab:创建分类数组

Matlab:创建分类数组基于字符串数组创建分类数组添加新元素和缺失的元素基于字符串数组创建有序分类数组基于分 bin 数值数据创建有序分类数组此示例说明如何创建分类数组。categorical 是一个数据类型,用来存储值来自一组有限离散类别的数据。这些分类可…

FTX 深度数据复盘

Nov 2022, Sabrina Data Source: Footprint Analytics Dashboards 11月2日,Coindesk 公布了 Alameda 的私人财务文件,这是一家由 FTX 创始人 Sam Bankman-Fried 拥有的风险投资和交易公司,与该交易所密切相关,从而引发了加密货币…

Spring Framework 6.0 框架

Spring Framework 6.0.0 现已正式发布。 “这是 2023 年及以后新一代框架的开始,拥抱了 OpenJDK 和 Java 生态系统中当前和即将到来的创新。同时,我们将其精心设计为针对现代运行时环境的 Spring Framework 5.3.x 的直接升级。” 作为核心框架的重大修订…

脑肽载体Angiopep-2、906480-05-5、TFFYGGSRGKRNNFKTEEY

Angiopep-2 hydrochloride 是脑肽载体。抗肿瘤药物与 Angiopep-2 肽载体的结合可提高其在脑癌中的活性. Angiopep-2 hydrochloride is a brain peptide vector. The conjugation of anticancer agents with the Angiopep-2 peptide vector could increase their efficacy in th…

【正点原子FPGA连载】 第三章 硬件资源详解 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id692450874670 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第三章 硬件资源…

提升Mac运行速度的十大小技巧,你用过几个?

经常听到小伙伴在抱怨PC电脑很慢,但是其实Mac电脑随着用的时间增长,运行速度也会越来越慢,那么造成Mac运行慢的原因有很多,可能是操作系统过时未更新,也可能是内存(RAM)不足,以下小编…

终于把下载安装更新的功能整出来了,记录关键点

我的第一个安卓应用终于也有了APP内安装更新的功能(赶上末班车了吗),记录一些关键点,方方面面的。 托管检测更新和下载服务 由于没有服务器,这两个核心功能可以托管到一些比较好的平台。检测我用的是蒲公英分发&…

MySQL8.0分析查询语句EXPLAIN

文章目录学习资料分析查询语句EXPLAINidselect_typepartitions(可略)type【重点】possible_keys和keykey_len【重点】refrows【重点】filteredExtra【重点】EXPLAIN四种输出格式传统格式JSON格式SHOW WARNINGS的使用学习资料 【MySQL数据库教程天花板&a…

《深度学习进阶 自然语言处理》第五章:RNN通俗介绍

文章目录5.1 概率和语言模型5.1.1 概率视角下的word2vec5.1.2 语言模型5.1.3 将CBOW模型用作语言模型的效果怎么样?5.2 RNN5.2.1 循环神经网络5.2.2 展开循环5.2.3 Backpropagation Through Time5.2.4 Truncated BPTT5.2.5 Truncated BPTT的mini-batch学习5.3 RNN的…

会话跟踪技术。

目录 一、会话跟踪技术 二、Cookie 介绍 1、Cookie 基础 2、Cookie 使用细节 三、Session 介绍 1、Session 基本介绍 2、Session的原理分析 3、Session的使用细节 一、会话跟踪技术 ▶ 会话 会话:用户打开浏览器,访问web服务器的资源,会话建立&a…

SAP 直接外部数据库技术配置手册-Oracle

一、操作步骤: 1、SAP Basis配置TNS文件:tnsnames.ora 事务码AL11下的 DIR_SETUPS变量D:\usr\sap\<SID>\SYS\profile双击进入文件路径oracle可以查看到文件 tnsnames.ora (不是路径D:\oracle\<SID>\102\NETWORK\ADMIN下的tnsnames.ora文件),加入如下信息(…

cubeIDE开发, stm32的WIFI通信设计(基于AT指令)

一、stm32的WIFI配置 通常WIFI模块就是一个独立的单片机&#xff0c;只是内置了WFIF通信软件的单片机&#xff0c;并该通信软件提供了AT通信指令集给开发人员&#xff0c;基于这些指令集我们就可以针对项目需要进行二次集成开发出所需的业务应用软件。 本文本文采用的开发板是s…

一、什么是计算机网络

1.1 概述 信件的要素&#xff1a; 打电话时包括连接和接通过程&#xff0c;要关注包括拨打者的状态和接听者的状态&#xff0c;称为TCP连接。发短信时只要发送者将短信发送出去即可&#xff0c;是否被接收或者发送的过程中是否有丢失这些都不关注&#xff0c;称之为UDP连接。计…

CentOS7安装jdk

文章目录前言准备工作一、将jdk的压缩文件传递到虚拟机里面二、解压缩三、配置环境变量前言 在大数据的技术中&#xff0c;Linux的环境是基础&#xff0c;jdk则是这些大数据工具的基础&#xff0c;在这篇博文中&#xff0c;我们主要介绍如何在Linux环境里安装jdk&#xff0c;以…