当前位置: 首页 > news >正文

论文笔记:交替单模态适应的多模态表征学习

整理了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 用于处理线程间通信的一种机制&#xff0c…...

执行 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需要以下几个步骤&#xff0c;包括下载 Kafka、配置 ZooKeeper&#xff08;或者使用 Kafka 自带的 Kafka Raft 模式替代 ZooKeeper&#xff09;&#xff0c;以及启动 Kafka 服务。以下是一个但基于 Linux 的典型安装流程&#xff0c;可以根据需要改装到其…...

Centos7-rpm包管理器方式安装MySQL 5.7.25

前言 本文用于学习通过Mysql压缩包在centos7中安装和配置的过程以及过程中碰到的Bug解决。 Mysql安装包下载和上传 MySQL :: Download MySQL Community Server (Archived Versions)https://downloads.mysql.com/archives/community/访问Mysql官方下载站&#xff0c;选择对应的…...

Project Online 协作版部署方案

目录 前言 第一部分:为什么选择Project Online? 一、核心优势 二、适用场景 第二部分:部署前的准备工作 一、需求分析 二、账户和权限管理 三、培训与支持 第三部分:Project Online 的核心功能 一、项目创建与管理 二、资源管理 三、团队协作 四、风险管理 五…...

小米 13 Ultra机型工程固件 资源预览与刷写说明 步骤解析

小米 13 Ultra机型---机型代码为ishtar 。工程固件可以辅助修复格机或者全檫除分区后的基带修复。可以用于修复TEE损坏。以及一些分区的底层修复。此款固件也可以为更换UFS后的底包。 通过博文了解 1💝💝💝-----此机型工程固件的资源刷写注意事项 2💝💝💝-----此…...

Goweb预防XSS攻击

XSS攻击示例 假设您有一个简单的Web应用程序&#xff0c;其中包含一个用户输入表单&#xff0c;用户可以在其中输入他们的名字&#xff0c;然后这个名字会被显示在页面上。攻击者可以在表单中输入恶意的JavaScript代码&#xff0c;如&#xff0c;如果应用程序没有对这个输入进…...

ICM20948 DMP代码详解(36)

接前一篇文章&#xff1a;ICM20948 DMP代码详解&#xff08;35&#xff09; 上一回讲到了icm20948_sensor_setup() ---> inv_icm20948_initialize_auxiliary函数 ---> inv_icm20948_set_slave_compass_id函数&#xff0c;本回开始&#xff0c;就对于inv_icm20948_set_sla…...

【框架】Spring、SpringBoot和SpringCloud区别

Spring Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器&#xff08;框架&#xff09; IoC&#xff08;Inversion of Control&#xff0c;控制反转&#xff09;是一种设计思想&#xff0c;它主要用于降低软件系统中不同模块之间的耦合度&#xff0c;提高代码的可维护…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f608;sinx波动的基本原理 三、&#x1f608;波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、&#x1f30a;波动优化…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

Rust 开发环境搭建

环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行&#xff1a; rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu ​ 2、Hello World fn main() { println…...