当前位置: 首页 > 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;提高代码的可维护…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...