【M2-Mixer】核心方法解读

news2024/11/25 8:16:04


abstract:

在本文中,我们提出了M2-Mixer,这是一种基于MLPMixer的结构,具有多头损失,用于多模态分类。它比基于卷积、循环或神经结构搜索的基线模型具有更好的性能,其主要优势是概念和计算简单。所提出的多头损失函数解决了模态优势问题(即当训练算法偏爱其中一种模态时)

 intro:

尽管多模态深度学习已被证明在许多任务和数据集上都能很好地工作,但目前最先进的方法仍存在必须解决的局限性。首先,在多模态网络中,性能与计算和概念简单性之间存在权衡[10]。换句话说,能够实现良好性能的复杂模型通常在计算上是昂贵的。目前最先进的性能是通过复杂且计算成本高的方法实现的,例如基于神经结构搜索的模型[18,30]或基于大型变压器的模型[16,29]。

此外,一些方法需要预先训练的模型来从模态中提取特征[11,16]。这种预训练模型可能并不总是存在,并且预训练它们将需要额外的努力和计算资源。

因此,需要一些在概念上和计算上都很简单,但仍然比更复杂的模型执行得相当或更好的方法。

在本文中,我们的目标是通过提出一个计算和概念上简单的架构来解决这两个限制,该架构实现了与其他现有模型相当或更好的性能,并减少了优化不平衡。

我们的贡献如下:

虽然卷积和神经架构搜索可以获得不错的性能,但我们表明它们不是必要的:“全mlp”(即仅由多层感知器组成的网络),多模态网络可以以更低的成本获得有竞争力的结果。由于该体系结构的基本元素是简单的矩阵乘法和标量非线性函数,因此在概念上更简单,更容易设计和调试。所提出的体系结构的全mlp特性降低了计算成本。

我们将我们的多模态方法M2-Mixer与多头损失函数相结合,以减少Wang等人[26]描述的优化不平衡问题。我们表明,这优于所有基线模型,同时保持较低的性能时间。多头损失作为Gradient Blend的简化版本[26]表明,简单的损失加权仍然可以获得良好的性能,没有梯度混合复杂的权重计算带来的巨大时间开销。

related work:

多模态深度学习旨在利用来自不同类型数据(如图像、视频、音频、时间序列、文本等)的信息来提高预测器的准确性。多模态深度学习方法的设计需要大量的设计选择和配置测试。给定一个多模态数据集和一个预测任务,必须选择合适的范式、特征提取方法、融合函数等。最近,神经结构搜索(NAS)方法被提出,用于在有限的搜索空间中寻找最优的结构(例如MFAS[18])。这些方法在用作基准的几个多模态数据集上取得了最先进的结果。它们在训练时间较长的ad-hoc模型的得分上优于后者[10]。Liang等人[10]表明,虽然MFAS[18]在其设计的数据集上取得了更好的性能,但它不能很好地推广到其他数据集。此外,Wang等人[26]表明,在多模态设置中,存在优化不平衡问题,其中一种模态比其他模态更受青睐。

然而,他们的解决方案给训练过程带来了额外的复杂性,因为要找到混合每种模态梯度的权重。对于M2-Mixer,我们提出了一个简单的临时替代方案,它可以胜过复杂的模型(包括NAS),同时将计算成本保持在最低水平。

为了解决优化不平衡问题,我们选择了一种简单的加权方法,它仍然取得了很好的结果,但减少了计算开销。我们的方法类似于Vielzeuf等人引入的多任务损失[25],他们优化了每个单独模态和多模态头部的损失总和。然而,除了均匀权重外,我们建议并测试了逐渐增加多模态损失重要性的影响

mlp混频器和多模态mlp。MLP-Mixers由Tolstikhin等人[23]提出,作为一种简单的全mlp替代卷积网络和变压器,用于计算机视觉任务。他们证明了卷积和变压器并不是获得良好性能所必需的。

MLP-Mixers的工作原理是将图像分成小块,使小块平坦,然后在令牌维度和通道维度上应用mlp。它们是理论上简单且计算效率高的架构,可以在计算机视觉任务中与最先进的模型相比取得具有竞争力的结果。

研究人员专注于为不同类型的数据扩展架构,并提高其性能[3,14,31]。最近的研究将MLP混频器扩展到多模态域[12,21,28]。然而,他们使用其他卷积或循环网络或变压器进行特征提取,然后在这些提取的特征上使用MLP-mixers。据我们所知,我们的方法是第一个全mlp架构,其中mlp用于从多模态数据提取特征到分类。

提出了MMixer和M2-Mixer两种模式的架构。

mlp块用作特征提取器。然后使用附加的mlp块融合连接的特征。最后,使用全局平均池化层,并将结果表示馈送到特定于任务的头部。对于M2-Mixer, MultiHead Loss是模态损失的加权和。

 approach:

通过利用MLPMixers的简单性/性能权衡,并结合多模态融合技术,我们的目标是开发一个简单而有效的架构,可以处理多模态数据的复杂性,同时利用数据多样性保持高分类性能。

我们扩展了MLP-Mixers的思想,为多模态设置创建了一个全mlp架构。all-MLP架构要求我们只使用矩阵乘法、变换和标量非线性。为了简单起见,我们将假设我们有一个双模态输入,因为将双模态情况扩展到许多模态是很直接的。

从模态中提取特征,定义基础的MLP-blocks,xi是一个S*P*C维度的向量,其中i是指第i个模态,S是指batchsize的大小,P是patches的数量,C是channels的数量。将全MLP块记作b,b的功能是:

xi作为输入,之后再返回一个输出,其中,

MLP-blocks可以相互堆叠出更深的结构:

n为MLP-blocks的个数,这些模块创建了基于MLP的多模态体系结构的接口,由于每个块接受并返回相同类型的数据,因此可以组合和切换不同的mlp块,以创建最优的体系结构,而在本文中,我们使用MLP- mixer[23]作为MLP块,可以根据需求、模态类型和数据集特征在S2 -MLP[31]、pNLP-Mixer[3]、gMLP[14]等块之间进行选择。

因为我们想要的是全MLP架构,将使用mlp来融合从模态中提取的特征Θi。我们将特征矩阵连接成一个矩阵,并将其转发到另一个mlp-blocks中,公式如下:其中该融合MLP-Block Bf旨在学习模态之间的跨模态关系。这就是Mixer架构的亮点所在。由于它在补丁和通道维度上都应用了前馈网络,因此令牌混合mlp可以从任意模态和任意补丁中学习。

最后,我们需要在学习到的多模态特征之上使用分类器头一种方法可能是将特征扁平化,并提供完全连接的分类层。然而,在这种情况下,参数的数量将相对较高,网络将更容易出现过拟合。相反,与MLP-Mixer架构类似,我们使用全局平均池化(GAP)[13]来减少参数数量,计算时间并避免在此级别上过度拟合。然后,我们在上面添加一个分类头,如公式所示其中σ为二元分类时的Sigmoid函数,多类分类时的Softmax函数。多模态混频器的总体结构如图1所示。在我们的实验中,我们注意到在端到端加入训练过程中,网络的特征提取器没有得到最优训练。这是文献中已知的问题,有几种方法试图以不同的方式解决这个问题[4,17,26]。我们在名为M2-Mixer (Multi-head Multimodal Mixer)的架构中解决了这个问题,除了在融合特征之上的任务头之外,我们还将任务头分配给模态(类似于梯度混合[26],但没有昂贵的计算),并且我们得到了Eq. 5中定义的三个分支(如图1所示为2模态)。

然后,我们继续最小化定义的总和多头损失

其中wf、w1和w2是控制特定分支上的优化必须有多强的权重因子当wf = 1时,其结构相当于标准的非多头多模态混频器。这个损失函数决定了每个分支应该优化多少。损失模态编码器现在被迫通过加入的目标函数来学习最优表示。

由于最终结果来自于多模态分支,因此可以通过分段线性函数逐渐增加其重要性:

η为每个历元的权值变化率,k为权值开始变化的历元,E为总历元数。这里,η和k是需要优化的超参数。

experiments:

我们比较了我们的多模态混频器的架构和它的配置对九个基线方法的结果。对于所有的实验,我们在内部集群中使用同一台机器,使用Intel(R) Xeon(R) Silver 4114 @ 2.20GHz CPU和NVIDIA GeForce RTX 2080 Ti GPU。大约1400小时的计算时间被用来进行这个项目所需的所有实验。

我们选择AV-MNIST和MIMIC-III数据集进行实验。它们来自不同的学科,提供不同类型的模式(图像、音频、时间序列、表格数据)。此外,它们是中型的,这使我们能够进行广泛的建筑设计和比较实验。

我们使用以下九个架构作为MultiBench[10]基准的基线:略

我们为我们的方法提出了6种配置,它们在参数数量和设计数据集方面有所不同:MMixer, M2-Mixer B, M2-Mixer M, M2-Mixer S, M2-Mixer Hm M2-Mixer LC。MMixer是我们建议的全mlp方法,没有多头损耗。我们的目标是证明MMixer仅通过简单的操作就可以实现具有竞争力的性能。接下来,我们为AV-MNIST数据集提出了3种M2-Mixers配置(参数数量为B-Big, M-Medium和S-Small),以及2种MIMIC-III配置(H-Healthcare, llinear Change,分别具有均匀和线性变化的权重)。本文所提到的所有实验都用不同的随机种子进行了10次,并报告了平均得分及其标准差。

对于我们在AV-MNIST数据集上的所有实验,我们使用0.01的起始学习率,如果2个epoch的验证损失没有改善,则调度程序将学习率降低10倍。对于MIMIC-III,我们使用相同的起始学习率,但如果验证损失没有改善,我们每5次减少一次。这些数字是通过经验测试和观察验证损失函数的行为发现的。关于模型和所有超参数的详细配置,请参考我们的代码库

我们将音频模态表示为频谱图,并使用mlp混频器作为两种模态的特征提取器。在表1中,我们给出了在AV-MNIST数据集上进行的广泛实验的结果。我们的方法,MMixer,代表了一个原始的多模态混频器架构,没有多头损失。尽管没有多头损失,但MMixer在精度和测试时间方面与其他基准模型相当,MFAS模型除外。值得注意的是,包含架构搜索的MFAS优于所有其他基准架构,也优于MMixer。然而,重要的是要承认,与其他体系结构相比,MFAS表现出相当长的训练和测试时间。因此,我们的目标是在保持高效训练和测试持续时间的同时,超越MFAS的性能。

为了设计我们的模型,我们决定检查各个模态的贡献,并确定是否进行了优化。

[26]中提到的不平衡问题也存在于我们的架构中(即,如果通过优化单模态编码器对模态编码器进行最佳训练)。首先,为了了解模态编码器可以达到的精度上限,我们在AV-MNIST数据集上分别训练它们。从表三(单模态模型)可以看出,图像模态特征编码器的准确率为39.93%,音频模态特征编码器的准确率为66.10%。为了评估模态编码器的最佳训练,我们分离了特征编码器,冻结了它们的权重,并在这些固定编码器之上训练了一个线性分类器层。相应的指标可以在表III的“MMixer”列中找到。经过检查,我们观察到音频模态编码器的精度比各自的单模态模型的精度低约4.35%。

同样,图像模态编码器的精度比其相应的单模态模型低约2.15%。这些结果表明编码器确实不是由联合(单损失)策略的最佳训练。相比之下,当我们分析M2-Mixer M模型的单模态精度值(除了多头损失外,与MMixer相同)时,我们发现其性能与我们独立训练的单模态模型(在表III的单模态模型列中)所获得的结果非常吻合。

模态编码器在获得最优表示时的多头损失。Wang等[26]通过将任务头附加到每个模态并最小化加权损失,其中权重由昂贵的计算确定。我们可以在表1中看到,他们的解决方案,梯度混合,比基线列表中第二慢的体系结构(MVAE)慢40倍以上。此外,Gradient Blending在准确率上也无法与其他模型竞争,平均准确率仅为68.71%,属于次优。此外,我们可以看到,我们的均匀加权方法将介质模型(M2-Mixer M)的性能从71.58%提高到72.81%,参数数量大致相同。M2Mixer M也优于之前最好的MFAS模型,同时在训练时间上快了约16倍,在测试时间上快了约2.6倍。我们还设计和测试了两个

M2-Mixer的其他配置:一个更大的模型M2-Mixer B,它的参数大约是M2-Mixer s的10倍,一个更小的模型M2-Mixer s。从表1中我们可以看到,M2-Mixer B的性能更好(平均准确率为73.06%),但是我们在训练时间上损失了2.5倍左右。较小的模型虽然更轻,参数更少,但速度并不比中型模型快。

这是因为,虽然每个epoch花费的时间更少,但模型需要更多的epoch才能收敛到最优表示。

接下来,我们在MIMIC-III数据集上测试该架构。使模型适应另一个数据集的挑战部分是数据集的模态类型和大小的差异。MIMIC-III数据集中包含两种模态:时间序列模态和静态模态(即大小为5的向量)。虽然MLP-Mixers最初是为视觉任务设计的,但我们可以在两个维度上应用mlp,并使模型适应不同类型的数据。

在我们的具体案例中,时间序列模态中的每个样本都是一个大小为24×5的矩阵。矩阵的每一行(即每个时间点)都类似于原始MLPmixer架构的扁平斑块。因此,我们可以跳过修补阶段,并将MLP-Mixer架构的其余部分应用于模态。对于静态模态,我们只有大小为5的向量,并且我们不能在这个模态上真正适合MLP-Mixers。

因此,我们使用标准MLP作为这种模式的MLP块。

下一个挑战是相对较小的数据集(80 MB),而MLP混频器的设计更适合大规模数据集;它们的性能随着模型和数据集的增大而提高[23]。然而,在我们的实验中,具有均匀权重的M2-Mixer(表II中的M2-Mixer H)取得了不错的性能,略优于MVAE和梯度混合。由于我们的主要目标是在多模态分支上获得良好的性能,因此我们尝试以均匀权值开始训练,但稍微增加多模态分支的重要性。

通过实验,我们发现该数据集的最优参数为η = 0.05, k = 1。这进一步将精度提高到78.43%(表II中的M2-Mixer LC)。然而,如前所述,线性变化会给模型带来额外的超参数,并且可能会增加寻找最优参数的成本。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【电子电力】LCL滤波器设计,包括电流控制调谐

摘要 LCL 滤波器是电力电子领域中广泛应用于并网逆变器的滤波器之一,其主要功能是减少高频开关的谐波,确保输出电流的质量。本文设计并实现了基于 MATLAB 的 LCL 滤波器模型,结合电流控制器和调谐技术,验证了其在谐波抑制方面的效…

从RNN讲起(RNN、LSTM、GRU、BiGRU)——序列数据处理网络

文章目录 RNN(Recurrent Neural Network,循环神经网络)1. 什么是RNN?2. 经典RNN的结构3. RNN的主要特点4. RNN存在问题——长期依赖(Long-TermDependencies)问题 LSTM(Long Short-Term Memory&a…

PostgreSQL学习笔记七:常规SQL操作

PostgreSQL 支持标准的 SQL 语句,同时也扩展了一些特有的功能。以下是一些常规的 SQL 语句示例,这些示例涵盖了数据定义、数据操作和数据查询的基本操作: 数据定义语言 (DDL 创建数据库: CREATE DATABASE mydatabase;创建表&#…

stm32单片机个人学习笔记9(TIM输入捕获)

前言 本篇文章属于stm32单片机(以下简称单片机)的学习笔记,来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记,只能做参考,细节方面建议观看视频,肯定受益匪浅。 STM32入门教程-2023版 细…

AWD入门

一、简介 AWD(Attack With Defense,攻防兼备)模式。你需要在一场比赛里要扮演攻击方和防守方,攻者得分,失守者会被扣分。也就是说攻击别人的靶机可以获取 Flag 分数时,别人会被扣分,同时你也要保护自己的主机不被别人…

Docker 教程四 (Docker 镜像加速)

Docker 镜像加速 国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。 目前国内 Docker 镜像源出现了一些问题,基本不能用了,后期能用我再更新下。* Docker 官方和国内很多云服务商都提供了国内加速器服务,例如…

Python网络爬虫入门指南

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

MPA-SVM多变量回归预测|海洋捕食者优化算法-支持向量机|Matalb

目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、实际运行效果: 三、算法介绍: 四、完整程序下载: 一、程序及算法内容介绍: 基本内容: 本代码基于Matlab平台编译&am…

2024年网络安全进阶学习路径-2024年进阶学习指南

🤟 基于入门网络安全/黑客打造的:👉黑客&网络安全入门&进阶学习资源包 前言 什么是网络安全 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、…

KDD 2024论文分享┆用于序列推荐的数据集再生

论文简介 本推文介绍了2024 KDD的最佳学生论文《Dataset Regeneration for Sequential Recommendation》。该论文提出了一种基于数据中心化范式的新框架,称为DR4SR,该框架通过模型无关的数据再生机制,能够生成具有出色跨架构泛化能力的理想训…

git(版本回退,分支管理,vscode集成git)

一、安装与简单命令 1.官网 https://git-scm.com/downloads 2.查看版本号git --version 3.设置用户签名(用户名和邮箱) 用来标识用户,以区分不同的开发人员 git config --global user.name "Your Name" git config --global u…

2024年最新算法:青蒿素优化算法(Artemisinin Optimization Algorithm, AOA)原理介绍

青蒿素优化算法(Artemisinin Optimization Algorithm, AOA)是2024年提出的一种受青蒿素抗疟疾特性启发的元启发式优化算法。青蒿素是一种从中草药青蒿中提取的化合物,因其在治疗疟疾方面的显著效果而闻名。AOA算法的设计者将青蒿素的这一特性…

【机器学习】深入浅出讲解贝叶斯分类算法

0. 前言 1.贝叶斯分类器介绍 贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素贝叶斯(Naive Bayes)分类是贝叶斯分类中最简单,也是常见的一种分类方法。 一些很常见的分类…

动态规划最大子段和讲解和【题解】——最大子段和

动态规划最大子段和讲解和【题解】——最大子段和 1.详细讲解最大子段和题目描述输入格式输出格式输入输出样例输入 #1输出 #1 提示样例 1 解释数据规模与约定 1.1.思路解析1.2.AC代码 2.优化3.别言 1.详细讲解 最大子段和 题目描述 给出一个长度为 n n n 的序列 a a a&am…

cursor: mutex X 等待事件分析

背景: v$session中同一个sql语句bhaku1zp2w5v7大量等待cursor: mutex X ,且等待事件较长。 分析: 什么是cursor: mutex X? 任何操作或访问游标的操作都可能需要等待访问共享池中支持游标的结构。在极端争用的情况下&#xff0c…

MySQL 【数字】函数大全(一)

ABSCEILCEILINGCONVDIVFLOORCREATESTLEAST 1、ABS ABS(number) :返回指定数字的绝对值 如果参数 number 为字符串,ABS() 将按照如下规则尝试转为数字: 如果以数字开头,则将开头的数字部分转为数字。如果不能转为数字,…

使用Go语言的gorm框架查询数据库并分页导出到Excel实例

文章目录 基本配置配置文件管理命令行工具: Cobra快速入门基本用法 生成mock数据SQL准备gorm自动生成结构体代码生成mock数据 查询数据导出Excel使用 excelize实现思路完整代码参考 入口文件效果演示分页导出多个Excel文件合并为一个完整的Excel文件 完整代码 基本配置 配置文…

Vue环境安装以及配置

这里写目录标题 前言一、前置要求1.安装Node.js2. 安装VScode 二、创建全局安装目录和缓存日志目录三、配置环境变量四、权限五、配置镜像六、vscode插件1. Vue-Offical2. Vue 3 Snippets3. Path Intellisense4. Auto Import5. Auto Close Tag6. Auto Rename Tag7.GitLens总结 …

001 Hadoop安装、Spring整合测试

Hadoop安装、整合测试 文章目录 Hadoop安装、整合测试1.简介1.优点2.组成 2.安装1.安装jdk(如已安装可跳过)2.安装hadoop1.安装2. 修改配置文件core-site.xml3. 修改配置文件hdfs-site.xml4.启动hadoop5.启动yarn6.执行jps查看7.相关端口及配置位置8.访问…

2024年【制冷与空调设备安装修理】考试及制冷与空调设备安装修理新版试题

题库来源:安全生产模拟考试一点通公众号小程序 制冷与空调设备安装修理考试是安全生产模拟考试一点通总题库中生成的一套制冷与空调设备安装修理新版试题,安全生产模拟考试一点通上制冷与空调设备安装修理作业手机同步练习。2024年【制冷与空调设备安装…