论文笔记:交替单模态适应的多模态表征学习
整理了CVPR2024 Multimodal Representation Learning by Alternating Unimodal Adaptation)论文的阅读笔记
- 背景
- MLA框架
- 实验
- Q1 与之前的方法相比,MLA能否克服模态懒惰并提高多模态学习性能?
- Q2 MLA在面临模式缺失的挑战时表现如何?
- Q3 所有模块是否可以有效提高性能?
- Q4 MLA如何改变多模态学习中的模态差距?
背景
多模态学习集成了来自不同模态的数据,在人工智能中起着关键作用。但是现有的多模态学习方法存在一个普遍的问题,一些模态比其他模态更占优势,模型将针对这些主导模态进行优化,并倾向于忽略其他模态,从而导致次优性能,这被称之为模态懒惰问题。
图一是模态懒惰问题的概述,虽然多模态联合训练为跨模态交互学习提供了机会,但模型容易饱和,忽略了难以学习但对泛化来说很重要的单模态特征。那么如何解决这种模态懒惰问题,进一步释放多模态学习的潜力,就成为了一个必须要思考的问题。
MLA框架
为了解决这一挑战,本文提出了一个多模态学习与交替单模态适应的方法,称为MLA。把多模态的传统联合训练方案重新构建到交替的单模态学习框架中,从而将模态之间的干扰最小化。
具体地说,MLA中每个模态的预测函数包括一个模态特定的编码器和一个跨所有模态的共享头。在交替单模态学习中,根据每个模态的预测函数交替优化,以消除模态之间的干扰。同时,共享头部跨模态在不同模态之间不断优化,捕获跨模态信息。作者提出单模态交替学习的动机是认为信息较少的模态在与其他模态一起学习时优化不足,这是导致融合表现不佳的原因。
在这个优化过程中,当遇到一个新的模态时,很容易丢失先前从其他模态学习到的信息,这被称为模态遗忘。为了解决这个问题,MLA为共享头部引入了梯度修改机制,以鼓励模态之间的梯度方向正交化。
图一(b)是测试阶段,在学习了特定模态编码器和共享头部的权重之后,MLA通过一个测试时动态模态融合机制来整合多模态信息。衡量每个模态的重要性依赖于测量与该模态相关的预测中观察到的不确定性水平。这种机制的动机是这样一个假设:当一种模态在预测中表现出更高的不确定性时,它更容易产生不正确的预测,因此,MLA利用预测不确定性衡量每个模态重要性。熵 e m , r e_{m,r} em,r越高,表明预测的置信度越低,导致聚变过程中的重要权值越小。
实验
在实验部分,作者提出了以下几个问题:Q1:与之前的方法相比,MLA能否克服模态懒惰并提高多模态学习性能?Q2: MLA在面临模式缺失的挑战时表现如何?Q3:所有模块是否可以有效提高性能?Q4:MLA如何改变多模态学习中的模态差距。
Q1 与之前的方法相比,MLA能否克服模态懒惰并提高多模态学习性能?
本文利用一组具有不同任务的五个数据集来评估具有完整模式的学习性能:
- CREMA-D[6]和Kinetic-Sound (KS)[3]属于音视频数据集的范畴。CREMA-D提供描述各种情绪的音频和视频记录,做情感分类任务。而KS将视频和音频数据结合起来用于对象和动作识别。
- Food-101[39]和MVSA[25]都是图像-文本数据集。food -101包含超过10万种食物,图片附有相应的文字,进行食物分类任务。MVSA通过使用文本和图像数据,专注于多媒体帖子的情感分类。
- IEMOCAP[5]是一个音频-图像文本数据集,在自然对话中捕获音频、视觉和文本数据中的情感。
从实验结果中,我们可以观察到。在众多数据集上,除了后期融合之外的方法,优模态和劣模态性能之间的性能差异非常显著。这说明大多数传统的融合方法都面临着模态惰性的挑战。后期融合通过在专门训练对每个模态的编码器在一定程度上减轻了模态惰性,但在集成来自所有模态的信息时,它无法提供令人满意的性能。这种限制是因为它无法有效地捕获跨模式信息。在所有场景中,MLA的表现始终优于所有其他方法。这证明了MLA通过充分利用每个模态的信息和捕获跨模态知识,有效地解决了模态懒惰问题,提高了多模态学习性能
Q2 MLA在面临模式缺失的挑战时表现如何?
进一步评估缺少模态的数据集的性能,模态缺失被视为模态懒惰的极端情况。对IEMOCAP数据集中的训练和测试数据应用基于百分比的掩码,随机掩盖每个样本的每个模态。
我们可以观察到:随着模态缺失率的增加,所有方法的性能都有所下降。这正是我们所期望的,因为与仅使用部分模态数据相比,使用所有模态数据往往会提高性能。MLA在所有缺失率上的表现始终优于其他基线,包括这些后期融合方法和专门为解决缺失模式(例如MMIN)而设计的方法。这些结果突出了MLA在解决模态懒惰挑战方面的有效性,即使在缺少模态学习的极端情况下也很强。
Q3 所有模块是否可以有效提高性能?
图三展示了消融实验的结果,其中,HGM是梯度修正,DF是动态融合。通过梯度修正的方法更新共享头权重可以提高仅使用单一模态和多模态信息的性能。这种改善是因为减轻模态遗忘的影响可以更好地整合跨模态信息,有利于单模态和多模态的学习过程。
使用测试时间动态融合机制可以显著促进多模态学习过程。因为测试时间动态融合考虑了模态预测的不确定性,利用预测不确定性度量测试样例上模态的重要性,使模型能够更准确地融合多模态信息。
综合两种策略后,MLA表现出最佳性能
Q4 MLA如何改变多模态学习中的模态差距?
图二是MLA在KS数据集上的测试准确度的可视化,随着音频或视频训练数据中缺失模态的比例而变化。
我们可以观察到,MLA中单模态学习的表现不受其他模态缺失的影响。在QMF中,一种模态的缺失会对另一种模态的表现产生负面影响。这些发现表明采用交替优化方法可以有效地解决模态惰性问题。
在多模态学习中存在模态间隙,就是不同的模态信息位于嵌入空间内两个完全独立的区域。这种模态差距与模型性能相关,以往的研究表明,增加模态差距可以在某种程度上提高多模态学习中的分类性能。图三将Food101数据集中的文本和视觉模态之间的模态差距可视化,与串联的方法比较,MLA导致了更大的模态差距,这表明不同的模态变得更容易区分,从而导致更强的性能。
相关文章:

论文笔记:交替单模态适应的多模态表征学习
整理了CVPR2024 Multimodal Representation Learning by Alternating Unimodal Adaptation)论文的阅读笔记 背景MLA框架实验Q1 与之前的方法相比,MLA能否克服模态懒惰并提高多模态学习性能?Q2 MLA在面临模式缺失的挑战时表现如何?Q3 所有模块是否可以有…...

鸿蒙OS 线程间通信
鸿蒙OS 线程间通信概述 在开发过程中,开发者经常需要在当前线程中处理下载任务等较为耗时的操作,但是又不希望当前的线程受到阻塞。此时,就可以使用 EventHandler 机制。EventHandler 是 HarmonyOS 用于处理线程间通信的一种机制,…...
执行 npm报错 Cannot find module ‘../lib/cli.js‘
报错 /usr/local/node/node-v18.20.4-linux-x64/bin/npm node:internal/modules/cjs/loader:1143 throw err; ^ Error: Cannot find module ../lib/cli.js Require stack: - /usr/local/node/node-v18.20.4-linux-x64/bin/npm at Module._resolveFilename (node:inter…...

基于SpringBoot+Vue+MySQL的国产动漫网站
系统展示 用户前台界面 管理员后台界面 系统背景 随着国内动漫产业的蓬勃发展和互联网技术的快速进步,动漫爱好者们对高质量、个性化的国产动漫内容需求日益增长。然而,市场上现有的动漫平台大多以国外动漫为主,对国产动漫的推广和展示存在不…...
AUTOSAR汽车电子嵌入式编程精讲300篇-基于CAN总线的气动控制
目录 前言 知识储备 什么是气动控制: 气动控制基础知识 一、气动元件 二、气路设计 三、气动控制系统 气动控制系统构成图 气动控制系统基本组成功能图 几种常见的气动执行元件实物图 常用气动压力控制阀实物图 常用气动流动控制阀实物图 电磁控制换向发实物图 部…...

Ubuntu 20.04 内核升级后网络丢失问题的解决过程
在 Ubuntu 系统中,内核升级是一个常见的操作,旨在提升系统性能、安全性和兼容性。然而,有时这一操作可能会带来一些意外的副作用,比如导致网络功能的丧失。 本人本来是想更新 Nvidia 显卡的驱动,使用 ubuntu-drivers …...

论文解读《LaMP: When Large Language Models Meet Personalization》
引言:因为导师喊我围绕 “大语言模型的个性化、风格化生成” 展开研究,所以我就找相关论文,最后通过 ACL 官网找到这篇,感觉还不错,就开始解读吧! “说是解读,其实大部分都是翻译哈哈哈&#x…...

Excel VLOOKUP函数怎么用?vlookup函数的使用方法及案例
大家好,这里是效率办公指南! 🔎 在Excel的世界里,VLOOKUP函数无疑是查询和数据分析中的明星。无论是从庞大的数据表中提取特定信息,还是进行数据的快速匹配,VLOOKUP都能大显身手。今天,我们将深…...

专为汽车功能应用打造的 MLX90376GGO、MLX90377GGO、MLX90377GDC-ADB-280 Triaxis®磁位置传感器 IC
一、MLX90376 Triaxis堆叠式高性能位置传感器芯片(模拟/PWM/SENT/SPC) MLX90376GGO-ABA-600 MLX90376GGO-ABA-630 MLX90376GGO-ABA-680 MLX90376是一款磁性绝对位置传感器芯片,适用于要求具备抗杂散磁场干扰性能的360旋转汽车应用。它提供…...

34.贪心算法1
0.贪心算法 1.柠檬水找零(easy) . - 力扣(LeetCode) 题目解析 算法原理 代码 class Solution {public boolean lemonadeChange(int[] bills) {int five 0, ten 0;for (int x : bills) {if (x 5) // 5 元:直接收下…...

DataX实战:从MongoDB到MySQL的数据迁移--修改源码并测试打包
在现代数据驱动的业务环境中,数据迁移和集成是常见的需求。DataX,作为阿里云开源的数据集成工具,提供了强大的数据同步能力,支持多种数据源和目标端。本文将介绍如何使用DataX将数据从MongoDB迁移到MySQL。 环境准备 安装MongoDB…...

Axure设计之表格列冻结(动态面板+中继器)
在Web端产品设计中,复杂的表格展示是常见需求,尤其当表格包含大量列时,如何在有限的屏幕空间内优雅地展示所有信息成为了一个挑战。用户通常需要滚动查看隐藏列,但关键信息列(如ID、操作按钮等)在滚动时保持…...

WPF DataGrid 动态修改某一个单元格的样式
WPF DataGrid 动态修改某一个单元格的样式 <DataGrid Name"main_datagrid_display" Width"1267" Height"193" Grid.Column"1"ItemsSource"{Binding DataGridModels}"><DataGrid.Columns><!--ElementStyle 设…...
如何安装部署kafka
安装和部署Apache Kafka需要以下几个步骤,包括下载 Kafka、配置 ZooKeeper(或者使用 Kafka 自带的 Kafka Raft 模式替代 ZooKeeper),以及启动 Kafka 服务。以下是一个但基于 Linux 的典型安装流程,可以根据需要改装到其…...

Centos7-rpm包管理器方式安装MySQL 5.7.25
前言 本文用于学习通过Mysql压缩包在centos7中安装和配置的过程以及过程中碰到的Bug解决。 Mysql安装包下载和上传 MySQL :: Download MySQL Community Server (Archived Versions)https://downloads.mysql.com/archives/community/访问Mysql官方下载站,选择对应的…...
Project Online 协作版部署方案
目录 前言 第一部分:为什么选择Project Online? 一、核心优势 二、适用场景 第二部分:部署前的准备工作 一、需求分析 二、账户和权限管理 三、培训与支持 第三部分:Project Online 的核心功能 一、项目创建与管理 二、资源管理 三、团队协作 四、风险管理 五…...

小米 13 Ultra机型工程固件 资源预览与刷写说明 步骤解析
小米 13 Ultra机型---机型代码为ishtar 。工程固件可以辅助修复格机或者全檫除分区后的基带修复。可以用于修复TEE损坏。以及一些分区的底层修复。此款固件也可以为更换UFS后的底包。 通过博文了解 1💝💝💝-----此机型工程固件的资源刷写注意事项 2💝💝💝-----此…...
Goweb预防XSS攻击
XSS攻击示例 假设您有一个简单的Web应用程序,其中包含一个用户输入表单,用户可以在其中输入他们的名字,然后这个名字会被显示在页面上。攻击者可以在表单中输入恶意的JavaScript代码,如,如果应用程序没有对这个输入进…...
ICM20948 DMP代码详解(36)
接前一篇文章:ICM20948 DMP代码详解(35) 上一回讲到了icm20948_sensor_setup() ---> inv_icm20948_initialize_auxiliary函数 ---> inv_icm20948_set_slave_compass_id函数,本回开始,就对于inv_icm20948_set_sla…...
【框架】Spring、SpringBoot和SpringCloud区别
Spring Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架) IoC(Inversion of Control,控制反转)是一种设计思想,它主要用于降低软件系统中不同模块之间的耦合度,提高代码的可维护…...

Window10+ 安装 go环境
一、 下载 golang 源码: 去官网下载: https://go.dev/dl/ ,当前时间(2025-05)最新版本如下: 二、 首先在指定的磁盘下创建几个文件夹 比如在 E盘创建 software 文件夹 E:\SoftWare,然后在创建如下几个文件夹 E:\S…...
数据结构:导论
目录 什么是“第一性原理”? 什么是“数据结构”? 数据结构解决的根本问题是什么? 数据结构的两大分类 数据结构的基本操作 数据结构与算法的关系 学习数据结构的底层目标 什么是“第一性原理”? 在正式进入数据结构之前&…...

尝鲜纯血鸿蒙,华为国际版本暂时不支持升级。如mateX6 国际版?为什么不支持?什么时候支持?
一:mateX6 国际版支持鸿蒙吗? 不支持 二:华为国际版支持鸿蒙吗? 不支持 三:华为国际版什么时候支持? 2025年预期可以支持。请耐心等待。 三:国际版为什么不支持? EMUI 采用AO…...
Webhook入门
主要参考资料: 深入解析 Webhook:从原理到实践的全面指南: https://blog.csdn.net/weixin_43114209/article/details/144250750 目录 简介Webhook 与传统 API 调用的区别与轮询 (Polling) 的对比典型工作流程 简介 简单来说,Webhook 是一种“…...
第2章-12 输出三角形面积和周长(走弯路解法)
本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:areas(s−a)(s−b)(s−c),其中s(abc)/2。 import math de…...

react基础技术栈
react基础技术栈 react项目构建react的事件绑定React组件的响应式数据条件渲染和列表循环表单绑定 Props和组件间传值,插槽react中的样式操作 生命周期ref 和 context函数组件和hook高阶组件React性能问题React-route的三个版本react-router使用步骤react-router提供…...
【设计模式】简单工厂模式,工厂模式,抽象工厂模式,单例,代理,go案例区分总结
工厂模式三种类型: 一、简单工厂模式(Simple Factory) 定义: 用一个工厂类,根据传入的参数决定创建哪一种具体产品类实例。 面试说法: 由一个统一的工厂创建所有对象,增加新产品时需要修改工…...
HTTP Accept简介
一、HTTP Accept是什么 HTTP协议是一个客户端和服务器之间进行通信的标准协议,它定义了发送请求和响应的格式。而HTTP Accept是HTTP协议中的一个HTTP头部,用于告诉服务器请求方所期望的响应格式。这些格式可以是媒体类型、字符集、语言等信息。 HTTP A…...

5G NTN卫星通信发展现状(截止2025年3月)
今天咱们用实实在在的数据唠唠卫星通信这事儿—这些数字可比科幻片还刺激,直接告诉你这玩意儿现在有多火,未来能有多野! 先甩个大数字:截至2025年3月,全球已经有143个运营商和卫星厂商的合作项目,覆盖53个国…...

创建型模式之 Builder (生成器)
创建型模式之 Builder (生成器) 摘要: 本文介绍了生成器(Builder)设计模式,属于创建型模式之一。该模式通过将复杂对象的构建与表示分离,使同一构建过程能创建不同表现形式。文章以小米汽车不同配置版本为例说明了模式…...