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

论文笔记:是什么让多模态学习变得困难?

整理了What Makes Training Multi-modal Classification Networks Hard? 论文的阅读笔记

  • 背景
  • 方法
    • OGR
    • 基于最小化OGR的多监督信号混合
    • 在实践中的应用
  • 实验

背景

  直观上,多模态网络接收更多的信息,因此它应该匹配或优于其单峰网络。然而,最好的单模态网络往往优于多模态网络。这种观察在不同的模态组合以及不同的视频分类任务和基准上是一致的。如表一所示:

  本文提出了两个主要原因:多模态网络往往容易过拟合;不同的模态过拟合和泛化率不同,因此使用单一优化策略联合训练它们是次优的。图一展示了一些尝试的改进,包括dropout、早停、SE门和NL门等,然而,这些方法都无法解决这些问题。
  本文提出了一种称为顺应性混合(Gradient-Blending)的技术缓解这种情况,这是一种新的训练方案,与任务无关、与架构无关,通过多个监督信号的最佳混合来最小化OGR(在下文中提出)。

方法

OGR

  我们首先假设单峰学习和多峰学习的基本形式:
L ( C ( φ m ( X ) ) , y ) \mathcal{L}(\mathcal{C}(\varphi_m(X)),y) L(C(φm(X)),y) L m u l t i ( C ( φ m 1 ⊕ φ m 2 ⊕ . . . φ m k ) , y ) \mathcal{L}_{multi}(\mathcal{C}(\varphi_{m_1}\oplus\varphi_{m_2}\oplus...\ \varphi_{m_k}),y) Lmulti(C(φm1φm2... φmk),y)  其中, C \mathcal{C} C表示分类器, φ m \varphi_m φm表示模态特定权重, y y y是标签。多峰网络是单峰网络的超集,对于多峰网络中任何一个模态,通过选择最好权重,可以构造与单峰网络同样好的解,然而在实际情况,这是不可能的。
  过拟合通常被理解为在训练集中学习到的模式不会推广到目标分布。基于这一点,我们可以将第 N N N个时期的过拟合定义为 L N T \mathcal{L}_N^T LNT L N V \mathcal{L}_N^V LNV之间的差距。两个模型检查点之间的训练质量可以通过过拟合和泛化的变化来衡量(图3中的 Δ G \Delta G ΔG Δ O \Delta O ΔO)。在检查点 N N N N + n N+n N+n之间,我们可以定义过拟合与泛化比(OGR): O G R ≡ ∣ Δ O N , n Δ G N , n ∣ = ∣ Δ O N + n − O N L N ∗ − L N + n ∗ ∣ OGR\equiv|\frac{\Delta O_{N,n}}{\Delta G_{N,n}}|=|\frac{\Delta O_{N+n}-O_N}{\mathcal{L}_N^*-\mathcal{L}_{N+n}^*}| OGRΔGN,nΔON,n=LNLN+nΔON+nON
在这里插入图片描述
  直观上,我们可以在训练期间最小化 O G R OGR OGR,但是有两个麻烦:1、全局优化OGR将是非常昂贵的。2、如果是欠拟合模型,那么这个损失会非常小。
  因此,我们建议解决一个无穷小问题:给定梯度的几个估计,将它们混合以最小化无穷小 O G R 2 OGR^2 OGR2,我们将此混合应用于优化流程。每个梯度步长在验证损失的每单位增益上尽可能少地增加泛化误差,从而最大限度地减少过拟合。在多模态设置中,这意味着我们将来自多个模态的梯度估计结合起来,并最小化OGR2,以确保每个梯度步长现在产生的增益不比单个最佳模态的增益差。这个 L 2 L^2 L2问题允许一个简单的封闭式解决方案,易于实现,并且在实践中工作得很好。
  考虑一个单一的参数更新步骤,其估计为梯度。由于两个检查点之间的距离很小,我们使用一阶近似: Δ G ≈ < ∇ L ∗ , g ∗ > \Delta G ≈ <\nabla \mathcal{L}^*,g^*> ΔG≈<L,g> Δ O ≈ < ∇ L T − ∇ L ∗ , g ∗ > \Delta O ≈ <\nabla \mathcal{L}^T-\nabla \mathcal{L}^*,g^*> ΔO≈<LTL,g>。因此,对于单个向量 g ∗ g^* g O G R 2 OGR^2 OGR2为: O C R 2 = ( < ∇ L T − ∇ L ∗ , g ∗ > < ∇ L ∗ , g ∗ > ) 2 OCR^2=(\frac{<\nabla \mathcal{L}^T-\nabla \mathcal{L}^*,g^*>}{<\nabla \mathcal{L}^*,g^*>})^2 OCR2=(<L,g><LTL,g>)2

基于最小化OGR的多监督信号混合

  我们可以通过为每个模态的特征和融合特征分别添加分类器来获得梯度的多个估计(下图c)。通过分别反向传播每个损失来获得每模态梯度 { g ^ i } i = 1 k \{\hat g_i\}_{i=1}^k {g^i}i=1k。我们的下一个结果允许我们将它们全部混合到具有更好泛化行为的单个向量中。
在这里插入图片描述  设 { v k } 0 M \{v_k\}_0^M {vk}0M L ∗ \mathcal{L}^* L的一组估计值,其过拟合近似为 E [ < ∇ L T − ∇ L ∗ , v k > < ∇ L T − ∇ L ∗ , v j > ] = 0 , j ≠ k \mathbb{E}[<\nabla \mathcal{L}^T-\nabla \mathcal{L}^*,v_k><\nabla \mathcal{L}^T-\nabla \mathcal{L}^*,v_j>]=0,j\neq k E[<LTL,vk><LTL,vj>]=0,j=k。给定约束 ∑ k w k = 1 \sum_kw_k=1 kwk=1,该问题的最优权重 w k ∈ R w_k\in \mathcal{R} wkR w ∗ = a r g m i n E [ ( < ∇ L T − ∇ L ∗ , ∑ k w k v k > L ∗ , ∑ k w k v k ) 2 ] w^*=arg min \mathbb{E}[(\frac{<\nabla \mathcal{L}^T-\nabla \mathcal{L}^*,\sum_kw_kv_k>}{\mathcal{L}^*,\sum_kw_kv_k})^2] w=argminE[(L,kwkvk<LTL,kwkvk>)2]  are given by: w k ∗ = 1 Z < L ∗ , v k > σ k 2 w^*_k=\frac{1}{Z}\frac{<\mathcal{L}^*,v_k>}{\sigma_k^2} wk=Z1σk2<L,vk>  其中, σ k 2 ≡ E [ < ∇ L T − ∇ L ∗ , v k > ] \sigma_k^2\equiv\mathbb{E}[<\nabla \mathcal{L}^T-\nabla \mathcal{L}^*,v_k>] σk2E[<LTL,vk>] Z Z Z是一个标准化常数 Z = ∑ k < L ∗ , v k > 2 σ k 2 Z=\sum_k\frac{<\mathcal{L}^*,v_k>}{2\sigma_k^2} Z=k2σk2<L,vk>

在实践中的应用

  我们采用多任务架构来构建上述优化的近似解决方案。即为所有模态构建单独的损失。在每个反向传播步骤中,模态 m i m_i mi梯度是 ∇ L i \nabla \mathcal{L}_i Li,来自融合损失的梯度记为 L k + 1 \mathcal{L}_{k+1} Lk+1。产生混合梯度: L b l e n d = ∑ i = 1 k + 1 w i L i \mathcal{L}_{blend}=\sum_{i=1}^{k+1}w_i\mathcal{L}_i Lblend=i=1k+1wiLi  通过适当选择 w i w_i wi,就产生了实现梯度混合的方便方法。直观地,损失重新加权重新校准学习时间表,以平衡不同模态的泛化/过拟合率。
  在实践中,我们无法看到目标分布结果(测试集)测量OGR。为了测量OGR,我们保留训练集的子集V来近似目标分布。算法1提供了一种连续混合权重估计。以及两种不同的梯度混合方法(算法2,算法3):1.离线渐变混合(Offline Gradient-Blending):只计算一次权重,并使用一组固定权重来训练整个时期。2.在线渐变混合(Online Gradient-Blending):完整版本,定期重新计算权重(例如,每n个epoch称为超级epoch),并使用超级epoch的新权重来训练模型。

实验

  本文使用三种视频数据集进行消融:Kinetics、mini-Sports和mini-AudioSet:
在这里插入图片描述
  本文的方法超过了单峰和后期融合。本文进一步验证了朴素联合训练中的过拟合问题:
在这里插入图片描述
  在这两个数据集上,音频模型过拟合最多,视频过拟合最少。与仅视频模型相比,朴素联合音频-RGB模型具有较低的训练误差和较高的验证误差;即朴素音频-RGB联合训练增加了过拟合,解释了与单独视频相比的准确性下降。我们扩展了分析,考虑了三种模态(音频、RGB和光流)的所有4种可能组合。在每种情况下,朴素联合训练的验证准确度都明显低于最佳单流模型(表1),而训练准确度几乎总是更高。
  不同优化器的比较:
在这里插入图片描述
  表四给出了本文的方法与朴素联合训练和最佳单流模型的比较:
在这里插入图片描述
  G-Blend在不同的基准测试和任务上优于所有基线方法:
在这里插入图片描述
  在AudioSet上与最新方法的比较。GBlend在性能上大大优于现有的方法:
在这里插入图片描述  与EPIC-Kitchen最先进方法的比较:
在这里插入图片描述

相关文章:

论文笔记:是什么让多模态学习变得困难?

整理了What Makes Training Multi-modal Classification Networks Hard? 论文的阅读笔记 背景方法OGR基于最小化OGR的多监督信号混合在实践中的应用 实验 背景 直观上&#xff0c;多模态网络接收更多的信息&#xff0c;因此它应该匹配或优于其单峰网络。然而&#xff0c;最好的…...

ChatGPT Search开放:实时多模态搜索新体验

点击访问 chatTools 免费体验GPT最新模型&#xff0c;包括o1推理模型、GPT4o、Claude、Gemini等模型&#xff01; ChatGPT Search&#xff1a;功能亮点解析 本次更新的ChatGPT Search带来了多项令人瞩目的功能&#xff0c;使其在搜索引擎市场中更具竞争力。 1. 高级语音模式&…...

Centos7.9 离线安装docker

实验环境&#xff1a; [root192 ~]# cat /etc/system-release CentOS Linux release 7.9.2009 (Core)下载二进制压缩包 a. 官网下载地址&#xff1a; https://download.docker.com/linux/static/stable/x86_64/b. 阿里云下载地址 https://mirrors.aliyun.com/docker-ce/lin…...

C语言函数在调用过程中具体是怎么和栈互动的?

从栈开始的一场C语言探险记 —— C语言函数是如何与栈"共舞"的。 栈的舞步解析 通过一个简单的例子来看看这支"舞蹈"&#xff1a; int add(int a, int b) {int result a b;return result; }int main() {int x 10;int y 20;int sum add(x, y);retur…...

【Java中常见的异常及其处理方式】

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” 文章目录 字符串修改的实现——StringBuilder和StringBuffer异常常见异常①算数异常②数组越界异常③空指针异…...

如何更新项目中的 npm 或 Yarn 依赖包至最新版本

要升级 package.json 文件中列出的包&#xff0c;你可以使用 npm&#xff08;Node Package Manager&#xff09;或 yarn。以下是两种工具的命令来更新你的依赖项&#xff1a; 使用 npm 更新所有包到最新版本 npm update如果你想将所有依赖项更新到其各自最新的大版本&#xf…...

SpringBoot3整合FastJSON2如何配置configureMessageConverters

在 Spring Boot 3 中整合 FastJSON 2 主要涉及到以下几个步骤&#xff0c;包括添加依赖、配置 FastJSON 作为 JSON 处理器等。下面是详细的步骤&#xff1a; 1. 添加依赖 首先&#xff0c;你需要在你的 pom.xml 文件中添加 FastJSON 2 的依赖。以下是 Maven 依赖的示例&#…...

《Vue3实战教程》2:Vue3快速上手

如果您有疑问&#xff0c;请观看视频教程《Vue3实战教程》 快速上手​ 线上尝试 Vue​ 想要快速体验 Vue&#xff0c;你可以直接试试我们的演练场。 如果你更喜欢不用任何构建的原始 HTML&#xff0c;可以使用 JSFiddle 入门。 如果你已经比较熟悉 Node.js 和构建工具等概念…...

ubuntu 24.04.1安装FTP流程

1、安装vsftpd&#xff1a; sudo apt update sudo apt install vsftpd 2、安装后重启查看vsftpd状态 sudo systemctl status vsftpd 输出如下所示&#xff0c;表明vsftpd服务处于活动状态并正在运行&#xff1a; * vsftpd.service - vsftpd FTP server Loaded: loaded (/…...

多功能护照阅读器港澳通行证阅读机RS232串口主动输出协议,支持和单片机/Linux对接使用

此护照阅读器支持护照、电子芯片护照、港澳通行证、台湾通行证&#xff0c;和串口的被动的方式不一样。此护照阅读器通电后&#xff0c;自动读卡&#xff0c;串口输出&#xff0c;软件只需要去串口监听数据即可&#xff0c;例如用串口助手就可以收到读卡信息。 非常适用于单片…...

5个用于构建Web应用程序的Go Web框架

探索高效Web开发的顶级Go框架 Go&#xff08;或称为Golang&#xff09;以其简洁性、高效性和出色的标准库而闻名。然而&#xff0c;有几个流行的Go Web框架和库为构建Web应用程序提供了额外的功能。以下是五个最值得注意的Go框架&#xff1a; 1. Gin&#xff1a; Gin是一个高…...

Qt中的异步相关类

Qt中的异步相关类 今天在学习别人的项目时&#xff0c;看到别人包含了QFuture类&#xff0c;我没有见过&#xff0c;于是记录一下。 直接在AI助手中搜索QFuture,得到的时Qt中异步相关的类。于是直接查询一下Qt异步中相关的类。 在Qt中&#xff0c;异步编程是一个重要的概念&…...

浅谈仓颉语言的优劣

仓颉语言&#xff0c;作为华为自研的新一代编程语言&#xff0c;以其高效、安全、现代化的特点&#xff0c;引起了广泛的关注。 仓颉语言的优势 高效并发 仓颉语言的一大亮点是其轻松并发的能力。它实现了轻量化用户态线程和并发对象库&#xff0c;使得高效并发变得轻松。仓颉…...

Linux 显示系统活动进程状态命令 ps 详细介绍

Linux 和类 Unix 操作系统中的 ps&#xff08;Process Status&#xff09;命令用于显示当前系统中活动进程状态的命令。它提供了关于系统中正在运行的进程的详细信息&#xff0c;如进程 ID&#xff08;PID&#xff09;、父进程 ID&#xff08;PPID&#xff09;、运行时间、使用…...

scala中正则表达式的使用

正则表达式&#xff1a; 基本概念 在 Scala 中&#xff0c;正则表达式是用于处理文本模式匹配的强大工具。它通过java.util.regex.Pattern和java.util.regex.Matcher这两个 Java 类来实现&#xff08;因为 Scala 运行在 Java 虚拟机上&#xff0c;可以无缝使用 Java 类库&…...

数据分析和AI丨知识图谱,AI革命中数据集成和模型构建的关键推动者

人工智能&#xff08;AI&#xff09;已经吸引了数据科学家、技术领导者以及任何使用数据进行商业决策者的兴趣。绝大多数企业都希望利用人工智能技术来增强洞察力和生产力&#xff0c;而对于这些企业而言&#xff0c;数据集的质量差成为了最主要的障碍。 数据源需要进行清洗且明…...

cocos creator制作2dTop-down游戏(虚拟摇杆、地图加载)

《不被遗忘的时光》第一期 1、游戏的形式&#xff1a;横板&#xff1b;2d的顶视角&#xff08;Top-down&#xff09;&#xff1b;射击&#xff1b;ARPG&#xff1b;益智解谜。 2、画风&#xff1a;类似手游《伊洛纳》。 3、故事背景&#xff1a;以中元节的爷孙阴阳交流作为故…...

SQL Server 批量插入数据的方式汇总及优缺点分析

在 SQL Server 中,批量插入数据是非常常见的操作,尤其是在需要导入大量数据时。以下是几种常用的批量插入数据的方式: 1. 使用 INSERT INTO ... VALUES • 特点:适用于少量数据插入。 • 优点:简单易用。 • 缺点:不适合大量数据插入,性能较差。 • 示例:…...

linux上抓包RoCEv2

1、检查tcpdump版本 tcpdump help&#xff08;4.99.4以上&#xff09; 如果版本较低需要重新下载编译&#xff1a; wget https://www.tcpdump.org/release/libpcap-1.10.5.tar.xz wget http://www.tcpdump.org/release/tcpdump-4.99.4.tar.gz tar -xJf libpcap-1.10.5.tar.xz…...

【机器学习与数据挖掘实战】案例04:基于K-Means算法的信用卡高风险客户识别

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈机器学习与数据挖掘实战 ⌋ ⌋ ⌋ 机器学习是人工智能的一个分支&#xff0c;专注于让计算机系统通过数据学习和改进。它利用统计和计算方法&#xff0c;使模型能够从数据中自动提取特征并做出预测或决策。数据挖掘则是从大型数…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

【JVM】- 内存结构

引言 JVM&#xff1a;Java Virtual Machine 定义&#xff1a;Java虚拟机&#xff0c;Java二进制字节码的运行环境好处&#xff1a; 一次编写&#xff0c;到处运行自动内存管理&#xff0c;垃圾回收的功能数组下标越界检查&#xff08;会抛异常&#xff0c;不会覆盖到其他代码…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

今日科技热点速览

&#x1f525; 今日科技热点速览 &#x1f3ae; 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售&#xff0c;主打更强图形性能与沉浸式体验&#xff0c;支持多模态交互&#xff0c;受到全球玩家热捧 。 &#x1f916; 人工智能持续突破 DeepSeek-R1&…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制&#xff1a; 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程&#xff0c;创建出来的进程就是子进程&#xff0c;原来的进程为父进程。…...

华为OD机考-机房布局

import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...

站群服务器的应用场景都有哪些?

站群服务器主要是为了多个网站的托管和管理所设计的&#xff0c;可以通过集中管理和高效资源的分配&#xff0c;来支持多个独立的网站同时运行&#xff0c;让每一个网站都可以分配到独立的IP地址&#xff0c;避免出现IP关联的风险&#xff0c;用户还可以通过控制面板进行管理功…...