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

整理了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最先进方法的比较:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/492445.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【鸿蒙实战开发】HarmonyOS状态管理之@Link

前言 在前面两篇状态管理相关的文章中&#xff0c;我们分别讲解了 State 和 Prop 两个状态管理装饰器的作用和基本使用。State 状态管理装饰器是最基本的状态管理装饰器&#xff0c;组件使用其修饰的变量&#xff0c;组件的更新可以随着变量的变化而更新&#xff1b;Prop 状态…

Nginx常用配置详解(1)

Nginx常用配置详解 一、全局块&#xff08;main&#xff09;配置 在Nginx的配置文件中&#xff0c;最外层的部分是全局块。这部分配置通常会影响Nginx服务器整体的运行参数。 worker_processes 作用&#xff1a;这个配置指令用于指定Nginx工作进程的数量。工作进程是Nginx处理…

NVIDIA发布紧凑型生成式AI超级计算机:性能提升,价格更低

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

jmeter连接mysql

查询mysql数据库版本 SELECT VERSION(); 下载jmeter mysql 驱动jar包&#xff0c;版本低于mysql版本&#xff0c;放在jmeter的lib 路径下 MySQL :: Download MySQL Connector/J (Archived Versions) 添加JDBC Connection Configuration 填写 variable name 及数据库信息 注意…

STM32二刷学习笔记--GPIO

文章目录 GPIO使用详解GPIO基本结构GPIO工作模式简单示例推挽输出LED闪烁按键控制LED闪烁**LED控制函数****按键控制函数** GPIO使用详解 在STM32开发中&#xff0c;GPIO&#xff08;通用输入输出&#xff09;是与外设接口的基础模块。通过GPIO&#xff0c;我们可以连接各种外…

PCDN之网心云

PCDN之网心云 前言 利用闲置宽带赚取收益 CDN原理 使用你的设备缓存加速资源 当别人需要访问资源时会就近分配访问到你缓存资源实现边缘加速的效果 推荐宽带上行 >10MB 磁盘大于60G 否则收益可能不是很高 注册网心云账号 打开如下网址注册 务必填写邀请码 否则会少几块…

FPGA-PS端编程1:

目标 在小梅哥的zynq 7015上&#xff0c;完成以下目标&#xff1a; 读取 S1 按键的电平&#xff0c; 当 S1 按键为按下状态时&#xff0c;驱动 PS LED 以 1S 的频率闪烁(注意理解 1S 的频率闪烁和 1S的时间翻转两种描述之间的差别)&#xff0c; 当 S1 释放后&#xff0c;停止…

ArcGIS计算土地转移矩阵

在计算土地转移矩阵时&#xff0c;最常使用的方法就是在ArcGIS中将土地利用栅格数据转为矢量&#xff0c;然后采用叠加分析计算&#xff0c;但这种方法计算效率低。还有一种方法是采用ArcGIS中的栅格计算器&#xff0c;将一个年份的地类编号乘以个100或是1000再加上另一个年份的…

51c大模型~合集91

我自己的原文哦~ https://blog.51cto.com/whaosoft/12848734 #工业界主流大语言模型后训练(Post-Training)技术总结 本文整理工业界主流开源LLM的后训练方案&#xff0c;着重介绍训练算法和数据处理部分 今年工业界陆续开源了多款优秀的大语言模型&#xff0c;并放出了技术…

怎样在html中异步加载js文件,以避免js文件太大而影响页面打开速度?

在HTML中异步加载JS文件可以防止因JS文件过大而阻塞页面渲染。 异步加载js文件方法&#xff1a; 1、等待DOM完全加载 等待HTML文档解析完成&#xff0c;即所有的DOM元素都已经被浏览器读取并构建。 实现这一点可以通过监听DOMContentLoaded事件&#xff0c;这个事件会在文档…

监控视频汇聚融合云平台一站式解决视频资源管理痛点

随着5G技术的广泛应用&#xff0c;各领域都在通信技术加持下通过海量终端设备收集了大量视频、图像等物联网数据&#xff0c;并通过人工智能、大数据、视频监控等技术方式来让我们的世界更安全、更高效。然而&#xff0c;随着数字化建设和生产经营管理活动的长期开展&#xff0…

EE308FZ_Sixth Assignment_Beta Sprint_Sprint Essay1

AssignmentBeta SprintCourseEE308FZ[A] — Software EngineeringClass Link2401_MU_SE_FZURequirementsSixth Assignment——Beta SprintTeam NameFZUGOObjectiveSprint Essay 1_Day1-Day2 (12.11-12.12)Other Reference1. WeChat Mini Program Design Guide 2. Javascript St…

【报表查询】.NET开源ORM框架 SqlSugar 系列

文章目录 前言实践一、按月统计没有为0实践二、 统计某月每天的数量实践三、对象和表随意JOIN实践四、 List<int>和表随意JOIN实践五、大数据处理实践六、每10分钟统计Count实践七、 每个ID都要对应时间总结 前言 在我们实际开发场景中&#xff0c;报表是最常见的功能&a…

GIT区域介绍及码云+GIt配置仓库

GIT区域介绍 创建文件夹git init 1、git有3个区域 工作区&#xff08;working directory&#xff09;&#xff1a;项目的根目录&#xff0c;不包 括.git在内的其他文件暂存区&#xff08;stage area&#xff09;&#xff1a;是一个看不见的区域&#xff0c;git add 命令就是将文…

YOLO8 改进 009:引入 ASFF 对 YOLOv8 检测头进行优化(适用于小目标检测任务)

论文题目&#xff1a;Learning Spatial Fusion for Single-Shot Object Detection 论文地址&#xff1a;Paper - ASFF 官方源码&#xff1a;GitHub - GOATmessi8/ASFF 简 介 多尺度特征融合是解决多尺度目标检测问题的关键技术&#xff0c;其中 FPN&#xff08;特征金字塔网络…

利用Matlab绘制心性函数

第一种心性函数 我们利用下面这个参数方程在的区间上绘制一个心性函数 首先&#xff0c;我们在matlab中设置一个参量t在区间内&#xff0c;然后将参数t带入上面两个式子计算就可以得到心性函数对应的x-y坐标 代码示例 我们可以通过调整代码的颜色、线宽等属性改变心性函数的…

穷举vs暴搜vs深搜vs回溯vs剪枝专题一>全排列II

题目&#xff1a; 解析&#xff1a; 这题设计递归函数&#xff0c;主要把看如何剪枝 代码&#xff1a; class Solution {private List<List<Integer>> ret;private List<Integer> path;private boolean[] check;public List<List<Integer>> p…

react中实现导出excel文件

react中实现导出excel文件 一、安装依赖二、实现导出功能三、自定义列标题四、设置列宽度五、样式优化1、安装扩展库2、设置样式3、扩展样式功能 在 React 项目中实现点击按钮后导出数据为 Excel 文件&#xff0c;可以使用 xlsx 和 file-saver 这两个库。 一、安装依赖 在项目…

Vue前端开发-数据缓存

完成全局性的axios实例对象配置后&#xff0c;则可以在任意一个组件中直接调用这个对象&#xff0c;发送异步请求&#xff0c;获取服务端返回的数据&#xff0c;同时&#xff0c;针对那些不经常变化的数据&#xff0c;可以在请求过程中&#xff0c;进行数据缓存&#xff0c;并根…

Qt for Python (PySide6)设置程序图标和任务栏图标

环境 使用Qt for Python开发Windows应用程序。 Python版本&#xff1a;3.12 Qt版本&#xff1a;PySide6 前言 先上一个简单的测试程序 from PySide6.QtWidgets import QMainWindow,QLabel,QApplication from PySide6 import QtGui import sysclass MainWindow(QMainWindow)…