多模态机器学习综述论文|Multimodal Machine Learning: A Survey and Taxonomy
1. 引言
多模态机器学习是一个跨学科领域,它涉及到从多种感官模态(如视觉、听觉、触觉等)中提取信息,并构建能够处理和关联这些信息的模型。这种学习方式对于人工智能理解复杂世界至关重要。
名词解释:
模态Modality:是指某事发生或被体验的方式 感觉模态“sensory
modalities”:代表我们交流和感知的主要渠道,如视觉或触觉
异质性heterogeneity:例如,语言往往是象征性的,而声音和视觉模态则会表现为信号。
应用:音视频对话内容识别、多媒体内容索引检索、多模态交互
2. 多模态表示
**好表示特征:**平滑性、时空相干性、稀疏性和自然聚类等。表征空间中的相似性应该反映相应概念的相似性,即使在某些模态缺失的情况下,表征也应该容易获得,最后,在观察到的模态缺失的情况下,可以填补缺失的模态。
多模态是单模态表示的简单串联吗?有的是,但趋势是不再是。
多模态表示是构建有效多模态模型的基础。它涉及到如何将不同模态的数据整合成可以被机器学习算法处理的格式。主要分为两种类型:
- **联合表示(Joint Representation):**将不同模态的数据合并到同一个空间中。这种方法在训练和推理阶段都需要所有模态的数据。它的优点在于能够直接在同一个空间中处理所有模态的信息,但缺点是对于缺失模态的数据不够灵活
。 - **协调表示(Coordinated Representation):**为每种模态创建独立的表示,但通过某些约束(如相似性或结构约束)使它们在协调空间中保持一致。这种方法的优点是能够更好地处理模态间的时间不一致性,但面临的挑战是如何设计有效的协调机制以确保模态间的一致性
3. 多模态翻译
多模态翻译关注如何将一个模态的信息转换为另一个模态。这包括:
- 基于示例的方法(Example-based):通过检索与输入最相似的翻译样本来实现。这种方法的优点是实现简单,但缺点是依赖于大规模的标注数据,且可能缺乏创造性。
- 生成式方法(Generative):构建模型以生成翻译。这种方法的优点是能够产生新的翻译,但面临的挑战是如何确保生成的翻译在语义上与原始模态保持一致。
4. 多模态对齐
多模态对齐旨在识别不同模态间元素的直接关系。这分为:
- 显式对齐(Explicit Alignment):明确地对齐模态间的子组件。这种方法的优点是能够精确地识别模态间的对应关系,但挑战在于需要大量的标注数据来训练对齐模型。
- 隐式对齐(Implicit Alignment):作为其他任务的中间步骤。这种方法的优点是不需要显式的对齐标注,但面临的挑战是如何设计模型以隐式地学习对齐信息。
5. 多模态融合
多模态融合是整合多个模态的信息以进行预测的过程。它包括:
- 模型不可知方法(Model-agnostic Approaches):如早期融合、晚期融合和混合融合。这些方法的优点是实现简单,但缺点是可能无法充分利用模态间的互补信息。
- 基于模型的方法(Model-based Approaches):如基于核的方法、图形模型和神经网络。这些方法的优点是能够更灵活地处理模态间的交互,但面临的挑战是如何设计模型以有效地融合不同模态的信息。
6. 多模态共学习
共学习利用资源丰富的模态来帮助资源贫乏的模态建模。这包括:
- 平行数据方法(Parallel Data):模态间有直接联系。这种方法的优点是能够直接利用模态间的关联来提升学习效果,但挑战在于如何平衡不同模态的贡献。
- 非平行数据方法(Non-parallel Data):模态间没有直接联系,但共享类别或概念。这种方法的优点是不需要模态间的直接对应关系,但面临的挑战是如何有效地利用模态间的共享信息。
- 混合数据方法(Hybrid Data):通过共享模态或数据集桥接非平行模态。这种方法的优点是能够结合平行和非平行数据的优点,但挑战在于如何设计桥接机制以实现有效的信息传递。
7. 结论
多模态机器学习是一个充满活力的领域,它通过整合多种感官模态的信息来提高人工智能的感知和理解能力。本文提出的分类法为研究人员提供了一个框架,以理解当前的研究并识别未来研究中未充分研究的挑战。通过这种分类法,我们可以更好地探索和解决多模态数据的表示、翻译、对齐、融合和共学习等问题。未来的研究可能会集中在提高多模态模型的泛化能力、处理模态间的时间不一致性、以及开发能够更好地利用补充信息而非仅仅是互补信息的模型。此外,共学习领域的研究可能会进一步探索如何有效地利用一个模态的知识来增强另一个模态的模型性能。
思维导图(来源网络,如有侵权联系删除)
相关文章:
多模态机器学习综述论文|Multimodal Machine Learning: A Survey and Taxonomy
1. 引言 多模态机器学习是一个跨学科领域,它涉及到从多种感官模态(如视觉、听觉、触觉等)中提取信息,并构建能够处理和关联这些信息的模型。这种学习方式对于人工智能理解复杂世界至关重要。 名词解释: 模态Modality…...
CentOS8:英伟达显卡驱动与CUDA安装
挺偶然的,同事在CentOS8版本的GPU服务器上安装英伟达的显卡驱动和CUDA遇到了问题,于是协助进行了安装,顺便记录下此次安装过程与心得。 目录 显卡驱动安装 步骤简述 详细步骤 1、官网下载需要的驱动 2、驱动软件包上传并加权 3、安装…...
【IDEA】启动报错
今天启动IDEA报错 报错信息: Cannot connect to already running IDE instance. Exception: Process 5,444 is still running 打开任务管理器,关掉进程ID5444的任务...
Opencv之图像梯度处理和绘制图像轮廓
一、梯度处理的sobel算子函数 处理示意 Sobel 算子是一种常用的图像边缘检测方法,结合了一阶导数和高斯平滑,用于检测图像的梯度信息。 1、功能 Sobel 算子用于计算图像在 x 和 y 方向的梯度,主要功能包括: 强调图像中灰度值的…...
5.2章节python字符串的格式化三种方式
在Python中,格式化字符串是编程中常见的任务,它用于将变量或表达式的值嵌入到字符串中。以下是三种常见的格式化字符串的方式: 1.百分号(%)格式化: 这是Python早期版本中常用的字符串格式化方法。通过在字…...
.NET Core 各版本特点、差异及适用场景详解
随着 .NET Core 的不断发展,微软推出了一系列版本来满足不同场景下的开发需求。这些版本随着时间的推移逐渐演变为统一的 .NET 平台(从 .NET 5 开始)。本文将详细说明每个版本的特点、差异以及适用场景,帮助开发者更好地选择和使用…...
2024.12.14 TCP/IP 网络模型有哪几层?
2024.12.14 TCP/IP 网络模型有哪几层? 2024.12.14 今天周六 看到大伙都在考六级,我来复盘小林coding的计算机网络的知识点: TCP/IP 网络模型有哪几层? 问大家,为什么要有 TCP/IP 网络模型? 对于同一台设备上的进程间通信,有…...
基于SpringBoot的嗨玩旅游网站:一站式旅游信息服务平台的设计与实现
摘要 在旅游需求日益增长的今天,一个全面、便捷的旅游信息服务平台显得尤为重要。嗨玩旅游网站正是为了满足这一需求而设计的在线平台,它提供了包括景点信息、旅游线路、商品信息、社区信息和活动推广等在内的丰富旅游目的地信息,旨在帮助用…...
HQChart使用教程30-K线图如何对接第3方数据42-DRAWTEXTREL,DRAWTEXTABS数据结构
HQChart使用教程30-K线图如何对接第3方数据42-DRAWTEXTREL,DRAWTEXTABS数据结构 效果图DRAWTEXTREL示例数据结构说明nametypecolorDrawVAlignDrawAlignDrawDrawTypeDrawDataFont DRAWTEXTABS示例数据结构说明nametypecolorDrawVAlignDrawAlignDrawDrawTypeDrawDataFont 效果图 …...
VMware ESXi上创建Ubuntu虚拟机并实现远程SSH访问全攻略
文章目录 前言1. 在VMware ESXI中创建Ubuntu虚拟机2. Ubuntu开启SSH远程服务3. 安装Cpolar工具4. 使用SSH客户端远程访问Ubuntu5. 固定TCP公网地址 前言 本文主要介绍如何在VMware ESXi上创建一台Ubuntu 22.04虚拟机,并通过Cpolar内网穿透工具配置公网地址…...
进制的转换
前言 进制是一种进位计数制,是人为定义的带进位的计数方法。不同的进制使用不同数量的符号,以及不同的规则来组合这些符号以表示不同的数值。 一、进制类型 二进制:由一串0和1组成的数字,逢二进一 八进制:0 1 2 3 4 5 6 7,…...
迁移学习中模型训练加速(以mllm模型为例),提速15%以上
根据模型训练过程的显存占用实测的分析,一个1g参数的模型(存储占用4g)训练大约需要20g的显存,其中梯度值占用的显存约一半。博主本意是想实现在迁移学习(冻结部分参数)中模型显存占用的降低,结果不太满意,只能实现训练速度提升,但无法实现显存占用优化。预计是在现有的…...
CSS系列(6)-- 排版与文本详解
前端技术探索系列:CSS 排版与文本详解 📝 致读者:探索优雅的文字艺术 👋 前端开发者们, 今天我们将深入探讨 CSS 排版与文本处理,学习如何创建既美观又易读的文本内容。 文本基础属性 🚀 字…...
嵌入式现状、机遇、挑战与展望
在当今数字化浪潮中,嵌入式系统宛如一颗璀璨的明珠,熠熠生辉,深刻地渗透到了我们生活的方方面面,成为推动现代科技进步不可或缺的关键力量。从智能家居的便捷控制,到工业生产的精准运作,再到汽车的智能驾驶…...
关于Postgresql旧版本安装
抛出问题 局点项目现场,要求对如下三类资产做安全加固,需要在公司侧搭建测试验证环境,故有此篇。 bclinux 8.2 tomcat-8.5.59 postgrel -11 随着PG迭代,老旧版本仅提供有限维护。如果想安装老版本可能就要费劲儿一些。现在&…...
【AI日记】24.12.14 kaggle 比赛 2-4 EDA
【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 工作 参加:kaggle 比赛 Regression with an Insurance Dataset内容:构建自己的EDA(探索性数据分析)框架时间:5 小时感想:大规模数据集&a…...
《深入浅出HTTPS》读书笔记(18):公开密钥算法RSA(续)
【RSA算法安全性】 幂运算的逆过程就是求对数问题,而模运算可以认为是离散问题,组合起来RSA算法就是离散对数模型,只要密钥长度足够长,离散对数很难破解。 破解私钥有两个方法: ◎公钥持有人有e和n,而要计…...
LabVIEW面向对象编程有什么特点?
LabVIEW面向对象编程(OOP)的特点主要体现在它如何结合传统面向对象编程(OOP)的理念与LabVIEW的图形化编程模式,提供灵活的抽象和模块化的功能。以下是LabVIEW面向对象编程的几个主要特点: 1. 类&#x…...
【Hive数据仓库】Hive部署、Hive数据库操作(增删改查)、表操作(内部表、外部表、分区表、桶表)
目录 一、本地模式 1、安装MySQL 2、登录MySQL 3、修改密码 4、安装Hive 5、配置Hive系统环境变量 6、初始化Derby数据库 7、连接Hive用于测试 8、测试Hive 9、修改Hive配置文件 10、上传MySQL驱动包 11、初始化MySQL 12、连接Hive用于启动服务 二、远程模式 1、…...
bugku-simple MQTT-wp解析
1.下载题目打开题目,是一个流量包,题目说是MQTT,然后打开流量之后的流量都是MQTT,我们来搜一下MQTT是什么流量 MQTT流量: 是一种基于发布订阅模式的轻量级的通讯协议,并且该协议构建于TCP/IP协议之上&…...
【第四节】Git 分支管理
目录 前言 一、Git 分支简介 二、 分支的基本操作 2.1 创建分支 2.2 切换分支 2.3 列出分支 三、 分支的合并与删除 3.1 合并分支 3.2 删除分支 四、处理合并冲突 五、 总结 前言 Git 的分支管理是其核心功能之一,允许开发者在不影响主线开发的情况下进行…...
IDEA 修改格式化仅格式化本次改动代码
最近总是发现格式化的时候会格式化文件所有代码,提交Git 后再看提交日志,就很不清晰。修改方式如下 中文: 格式化代码快捷键[中文配置]: 英文: 格式化代码快捷键[英文配置]:...
UOB大华银行|校招网申综合能力SHL测评题库英语版本真题分析
大华银行有限公司(大华银行)是亚洲银行业的翘楚,大华银行总部位于新加坡,并在中国、印度尼西亚、马来西亚、泰国及越南设立了全资法人银行,在全球拥有约500 间分行及办事处,分布在亚太、欧洲与北美的19 个国…...
Redis应用—2.在列表数据里的应用
大纲 1.基于数据库 缓存双写的分享贴功能 2.查询分享贴列表缓存时的延迟构建 3.分页列表惰性缓存方案如何节约内存 4.用户分享贴列表数据按页缓存实现精准过期控制 5.用户分享贴列表的分页缓存的异步更新 6.数据库与缓存的分页数据一致性方案 7.热门用户分享贴列表的分…...
【Linux基础】基本开发工具的使用
目录 一、编译器——gcc/g的使用 gcc/g的安装 gcc的安装: g的安装: gcc/g的基本使用 gcc的使用 g的使用 动态链接与静态链接 程序的翻译过程 1. 一个C/C程序的构建过程,程序从源代码到可执行文件必须经历四个阶段 2. 理解选项的含…...
C++ 中面向对象编程如何实现动态绑定?
在 C 中,面向对象编程的一个重要特性就是动态绑定。动态绑定允许在程序运行时根据对象的实际类型来决定调用哪个函数,这为程序的灵活性和可扩展性提供了强大的支持。本文将详细介绍 C 中面向对象编程如何实现动态绑定。 一、静态绑定与动态绑定的概念 静…...
电源芯片的SYNC引脚
-----本文简介----- 主要内容包括: ① 电源芯片的SYNC引脚 ----- 正文 ----- 先赞↓后看,养成习惯! 1. SYNC引脚是什么? 电源芯片里面的SYNC引脚是 Synchronization clock in,意思是同步时钟输入。 2. SYNC引脚的作用…...
安卓报错Switch Maven repository ‘maven‘....解决办法
例如:Switch Maven repository ‘maven(http://developer.huawei.com/repo/)’ to redirect to a secure protocol 在库链接上方添加配置代码:allowInsecureProtocol true...
935. 骑士拨号器
935. 骑士拨号器 题目链接:935. 骑士拨号器 代码如下: class Solution { public:int knightDialer(int n) {if (n 1){return 10;}long long res 0;for (int j 0; j < 10; j){res dfs(n - 1, j);}return res % MOD;}int dfs(int i, int j){if (…...
linux下的posix信号量
目录 引言 信号量背景知识 PV操作 信号量接口 基于环形队列的PC模型 代码实现 demo模型 具体实现 引言 在多线程编程领域,同步机制是确保数据一致性和避免竞态条件的关键技术。Linux操作系统作为开源软件的杰出代表,提供了多种同步原语…...
【JavaWeb后端学习笔记】Spring框架下的Bean管理
Bean 1、Bean的获取2、Bean的作用域3、第三方Bean 1、Bean的获取 默认情况下,Spring项目启动时,会把Bean创建好交给IOC容器管理。当需要使用时,通过Autowired注解注入或者通过构造方法注入即可。 除此之外还可以通过Spring提供的Applicatio…...
如何在 ASP.NET Core 3.1 应用程序中使用 Log4Net
介绍 日志记录是应用程序的核心。它对于调试和故障排除以及应用程序的流畅性非常重要。 借助日志记录,我们可以对本地系统进行端到端的可视性,而对于基于云的系统,我们只能提供一小部分可视性。您可以将日志写入磁盘或数据库中的文件…...
Photoshop提示错误弹窗dll缺失是什么原因?要怎么解决?
Photoshop提示错误弹窗“DLL缺失”:原因分析与解决方案 在创意设计与图像处理领域,Photoshop无疑是众多专业人士和爱好者的首选工具。然而,在使用Photoshop的过程中,有时会遇到一些令人头疼的问题,比如突然弹出的错误…...
mall-admin-web开源项目搭建教程(图文)
本章教程,介绍如何在本地部署运行mall-admin-web这个开源项目。 开源地址:https://gitee.com/macrozheng/mall-admin-web mall-admin-web是一个电商后台管理系统的前端项目,基于Vue+Element实现。主要包括商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计…...
nginx做为文件服务器
docker-compose 创建nginx version: 3services:nginx-web:image: nginx:1.23.4container_name: nginx-webenvironment:# 时区上海TZ: Asia/Shanghaiports:- "88:80"- "443:443"volumes:# 证书映射- /home/dockerdata/nginx/cert:/etc/nginx/cert# 配置文件…...
加速合并,音频与字幕的探讨
因上一节。合并时速度太慢了。显卡没用上。所以想快一点。1分钟的视频用了5分钟。 在合并视频时,进度条中的 now=None 通常表示当前处理的时间点没有被正确记录或显示。这可能是由于 moviepy 的内部实现细节或配置问题。为了加快视频合并速度并利用 GPU 加速,可以采取以下措…...
(3)spring security - 认识PasswordEncoder
目录 1.简介1.1.简单了解认证流程 2.密码验证3.PasswordEncoder的内置实现4.小结 目标: 简单了解认证的流程简单认识spring security中的Password Encoder 1.简介 还是以这幅图为基础,认识Password Encoder到底是什么? 1.1.简单了解认证流程…...
React 入门:JSX语法详解
简介 React是一个用于构建用户界面的JavaScript库,它引入了JSX语法,使得你可以在JavaScript代码中编写类似HTML的结构。JSX在编译后会被转换成合法的JavaScript对象。 JSX基础 JSX是一种看起来像HTML的JavaScript语法扩展。它并不直接被浏览器执行&am…...
Pandas常见函数
Pandas 是 Python 中用于数据分析和处理的强大工具库。以下是 Pandas 中一些常见的函数和方法,按用途分类总结: 1. 数据创建 pd.Series(data, index):创建一维的序列对象。pd.DataFrame(data, index, columns):创建二维的DataFra…...
【笔试】亚马逊
亚马逊的笔试题目有两道,一共70分钟 1.给一个数组代表每轮损失的血量power,另外一个变量是盾牌armor,可以选择任意一轮使用这个盾牌,可以抵挡min(power[i],armor)的攻击,请问最小血量是多少能够…...
【力扣算法】234.回文链表
快慢指针:一个指针走两步,一个指针走一步,当快指针走到链表末尾时,慢指针走到中间位置。 逆转链表:根据指针位置分成两个表,逆转第二个表。 按序判断就可以,如果是相同就是回文,反之…...
vue3-tp8-Element:对话框实现
效果 参考框架 Dialog 对话框 | Element Plus 具体实现 一、建立view页面 /src/views/TestView.vue 二、将路径写入路由 /src/router/index.js import { createRouter, createWebHistory } from vue-router import HomeView from ../views/HomeView.vueconst router create…...
35、Firefly_rk3399 同步互斥
文章目录 1、简述问题2、原子操作(atomic_ops )指令解析: 3、锁函数说明3.1、自旋锁API例子 3.2、信号量(semaphore)API例子 3.3、互斥量/锁API例子 3.4、信号量和互斥锁的区别 4、锁的内核实现4.1、自旋锁(…...
Docker-Dockerfile、registry
Dockerfile 一、概述 1、commit的局限 很容易制作简单的镜像,但碰到复杂的情况就十分不方便,例如碰到下面的情况: 需要设置默认的启动命令需要设置环境变量需要指定镜像开放某些特定的端口 2、Dockerfile是什么 Dockerfile是一种更强大的镜…...
chattts生成的音频与字幕修改完善,每段字幕对应不同颜色的视频,准备下一步插入视频。
上一节中,实现了先生成一个固定背景的与音频长度一致的视频,然后插入字幕。再合并成一个视频的方法。 但是:这样有点单了,所以: 1.根据字幕的长度先生成视频片断 2.在片段上加上字幕。 3.合并所有片断,…...
8、笔记本品牌分类介绍:LG - 计算机硬件品牌系列文章
LG笔记本品牌以其高性能和先进技术而闻名,提供多种型号以满足不同用户的需求。 LG笔记本产品线包括多种类型,以满足不同用户的需求。其中,LG Gram Pro系列以其超薄设计和高性能配置受到关注。该系列笔记本采用16:10的OLED显示屏&…...
在 Vue 2 中隐藏页面元素的方法
目录 在 Vue 2 中隐藏页面元素的方法 引言 1. 使用 v-if 指令 2. 使用 v-show 指令 3. 使用自定义类名与 v-bind:class 4. 使用内联样式与 v-bind:style 5. 使用组件的 keep-alive 和条件渲染 在 Vue 2 中隐藏页面元素的方法 引言 在开发 Web 应用时,我们经…...
基于springboot+vue的高校校园交友交流平台设计和实现
文章目录 系统功能部分实现截图 前台模块实现管理员模块实现 项目相关文件架构设计 MVC的设计模式基于B/S的架构技术栈 具体功能模块设计系统需求分析 可行性分析 系统测试为什么我? 关于我项目开发案例我自己的网站 源码获取: 系统功能 校园交友平台…...
Redis是什么?Redis和MongoDB的区别在那里?
Redis介绍 Redis(Remote Dictionary Server)是一个开源的、基于内存的数据结构存储系统,它可以用作数据库、缓存和消息中间件。以下是关于Redis的详细介绍: 一、数据结构支持 字符串(String) 这是Redis最…...
《开源时间序列数据:探索与应用》
《开源时间序列数据:探索与应用》 一、开源时间序列数据概述二、热门的开源时间序列数据库1. InfluxDB2. TimescaleDB3. Prometheus4. OpenTSDB5. Graphite6. Druid 三、开源时间序列数据的应用场景1. 物联网领域2. 金融领域3. 运维监控领域4. 能源领域 四、开源时间…...