论文笔记:交替单模态适应的多模态表征学习
整理了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,控制反转)是一种设计思想,它主要用于降低软件系统中不同模块之间的耦合度,提高代码的可维护…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...
