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)。然而,如前所述,线性变化会给模型带来额外的超参数,并且可能会增加寻找最优参数的成本。