前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >南开 & VIVO 提出MLoRE | 一种解码器中心的低秩专家混合多任务学习框架 !

南开 & VIVO 提出MLoRE | 一种解码器中心的低秩专家混合多任务学习框架 !

作者头像
集智书童公众号
发布2024-05-28 21:24:17
3280
发布2024-05-28 21:24:17
举报
文章被收录于专栏:集智书童

之前基于专家混合(MoE)的多任务密集预测方法取得了很大的性能,但它们忽视了明确建模所有任务之间全局关系的重要性。在本文中,作者提出了一种针对多任务密集预测的新型解码器焦点方法,称为低秩专家混合(MLoRE)。 为了建模全局任务关系,MLoRE在原始的MoE结构中增加了一条通用卷积路径,每个任务特征都可以通过这条路径进行明确的参数共享。此外,为了控制随着专家数量增加而带来的参数和计算成本,作者从LoRA获得灵感,并 Proposal 在专家网络中使用普通卷积的低秩格式。由于低秩专家具有较少的参数,并且可以动态参数化为通用卷积,因此随着专家数量的增加,参数和计算成本不会有太大变化。 得益于这一设计,作者增加了专家的数量及其接收场,以扩大表征容量,促进在统一网络中的多任务密集学习。在PASCAL-Context和NYUD-v2基准上的大量实验表明,作者的MLoRE与之前的最先进方法相比,在所有指标上都取得了优越的性能。 代码 https://github.com/YuqiYang213/MLoRE。

1 Introduction

计算机视觉任务,如语义分割[5, 30, 33, 55]和深度估计[2, 38],已经通过深度学习技术得到了显著促进。每个视觉任务都有其精细的深度模型,这些模型通常遵循类似的流程,即特征提取和预测。此外,一些任务之间也共享关系。这些事实激励研究者研究多任务学习(MTL),这种学习能够将不同的任务模型统一到单一模型中。多任务学习的主要优势在于,在保持每个任务模型性能相当的同时,能够提高训练和推理的效率。由于这一优势,MTL模型已经被应用于包括自动驾驶[24, 29, 56]和场景理解[50, 52]在内的多个方向。

在本文中,作者专注于密集场景理解的多任务学习,其中每个任务预测像素级的结果。早期工作的一条研究线路[4, 17, 34, 36, 49, 50, 52]侧重于设计精细的网络架构,包括以编码器为重点和以解码器为重点的方法。以编码器为重点的方法[17, 34, 36]设计手工制作的模块以在特定任务的编码器之间共享,构建任务通用特征,而以解码器为重点的方法[4, 49, 50, 52]提出定制解码器以学习判别性的任务特定表示并建立跨任务关系。

与上述关注设计静态网络架构的方法不同,一些方法[6, 10, 15]引入了专家混合(MoE)技术,该技术揭示了学习任务专业化和协作的动态和自动化的方式[10]。它们利用MoE设计编码器块,并动态地为不同任务和不同样本选择网络路径。然而,与这些以编码器为重点的方法相比,在解码器中应用MoE的研究较少,其中只有Ye 等人[54]最近首次将MoE应用于解码器。它通过动态组装来自不同专家的任务通用特征来解码任务特定特征,并且性能优于先前的以解码器为重点的方法。这激励作者深入研究基于MoE的多任务学习解码器。

得益于动态路由过程,这些基于MoE的方法可以在参数和特征上显著提高多样性,从而产生更具判别性的任务特定特征。然而,这种范式仍有一些局限性。首先,尽管基于MoE的方法可以通过在动态路由过程中共享相同的专家来建立子集任务的连接,但所有任务之间共享专家的机会非常低,这可能会阻碍路由器在所有任务之间建立全局关系。然而,正如文献[52, 53]中所证明的,在所有任务之间建立全局关系对于密集的多任务学习是有用的。

基于这一事实,作者认为在MoE中显式地建模所有任务之间的全局关系是至关重要的。此外,任务通用特征空间的容量与专家的数量高度相关。正如文献[11, 16]中的实证所示,增加专家数量有可能促进在统一网络中的多任务学习。然而,对于现有的密集多任务学习,增加更多的专家网络将会引入更多的参数和计算成本,这对于整个模型来说是一个沉重的负担。

为了解决上述问题,作者提出了一种新颖的以解码器为重点的方法,作者称之为低秩混合专家(MLoRE)。MLoRE框架的核心思想是显式地建模MoE中所有任务之间的全局关系,并使MoE在增加专家数量以扩大任务通用特征空间和上下文时,摆脱繁重的密集计算负担。为了解决第一个问题,MLoRE在基本的MoE结构之上构建,并引入了一个与MoE并行的任务共享通用卷积路径。具体来说,首先将 Backbone 特征投射到不同的任务特征,然后将它们全部输入到通用卷积路径和原始MoE的专家网络中。通过简单地在所有任务之间共享相同的通用路径,不同的任务可以全局地相互关联。此外,为了增强任务特定特征的辨别力,作者从动态路由过程中排除了某些专家,并使它们专门为特定任务服务。

为了在不引入过多参数和FLOPs的情况下增加专家的数量,作者从LoRA得到启发,认为适应不同任务的基本模型仅需要低秩权重更新。具体来说,作者将MoE的专家网络转换为普通卷积的不同低秩格式,与标准MoE模块相比,节省了超过60%的参数,如表1所示。

此外,为了控制由不断增加的专家网络带来的计算成本,作者在所有的专家网络和通用卷积路径中不使用任何非线性激活函数,这使得在推理过程中可以进行重参化。通过重参化,可以将专家的知识注入到通用卷积路径中,降低了密集任务的计算成本。据作者所知,作者是首次在MoE中使用线性专家进行多任务密集预测。为了验证作者的方法的有效性,作者在PASCAL-Context和NYUD-v2数据集上进行了综合实验。作者的方法在所有任务上均取得了新的性能记录,如图1所示。

总之,作者的贡献有三方面:

1. 作者分析了MoE在多任务学习应用中存在的问题,并提出了一种新颖的以解码器为中心的框架MLoRE,它能够显式地建模所有任务之间的全局关系,并且在不过度增加模型尺寸的情况下扩大特征表示的能力。

2. 作者引入了一个简单的任务共享通用路径到MoE结构中,并提出了受LoRA启发的线性及低秩专家网络。通用卷积路径和低秩专家路径可以线性组合,使得在推理时能够进行重参化。

在PASCAL-Context和NYUDv2上的实验表明,所提出的方法在所有任务上明显优于先前的最先进的多任务学习方法。

2 Related Work

Dense Multi-Task Learning

在计算机视觉领域,针对密集预测任务的多任务学习(MTL)已经被广泛研究。先前的方法可以分为两类,包括基于优化的方法和基于架构的方法[48]。优化方法[8, 9, 18, 28, 59]通过使用不同的策略来平衡每个任务的影响,从而促进多任务学习。基于架构的方法旨在设计一个统一的深层网络进行多任务学习。

它们可以进一步分为两类:以编码器为中心的方法和以解码器为中心的方法。 以编码器为中心的方法[3, 34, 19, 40]设计多任务 Backbone 网络以提取适应不同任务的特征。典型的方法包括交叉缝合网络[36],神经判别降维网络[17],多任务注意力网络[31],分支网络[47]和专家混合网络[10, 15]。 以解码器为中心的方法[4, 49, 50, 52, 53, 54, 55, 57, 58, 60]共享相同的 Backbone 网络,并设计精细的 Head 来提取每个任务的特定特征和跨任务关系。以解码器为中心的方法的优势在于,它们可以从强大的现成视觉 Backbone 网络中获益,例如DI-NOv2[37]。作者的方法也属于以解码器为中心的类别,并研究如何利用MoE技术生成特定于任务的特征。

Mixture-of-Experts

专家混合(Mixture-of-Experts,MoE)[25, 26]学习多个专家网络和一个路由网络,该路由网络控制每个专家对最终输出的贡献概率。这项技术在多任务学习中也被使用,它能更好地适应数据多样性。不同的专家网络学习不同的判别特征。路由网络学习硬/软任务特定系数,以动态地为每个任务组装判别特征。先前的基于MoE的多任务方法[15, 6, 10]主要是以编码器为中心的方法。它们将MoE引入到 Backbone 块中,以在推理阶段为不同任务稀疏激活不同路径。最近,Ye等人[54]首次将MoE技术引入解码器。他们利用空间上下文感知门结合来自不同专家网络的特征的每个像素。上述方法将 Backbone 特征分解到多个通用特征空间,并从中组装判别性的任务特定特征。与上述基于MoE的多任务学习方法不同,作者的方法首先在MoE结构中显式地建立所有任务之间的全局关系,而不是将这项工作留给任务特定的路由器隐式完成。此外,作者提出的低秩专家相比于简单的MoE,给出了更高的效率,并且随着专家数量的增加,这种差距逐渐扩大。

Low-Rank Structure

低秩结构在深度学习中因其效率而经常被使用[43, 46, 51, 23]。最近,在参数高效适配[22, 27, 32, 45]的许多方法中,如LoRA [22],利用了低秩结构,并展示了令人印象深刻的结果。LoRA受到了Aghajanyan等人[1]的启发,即预训练模型和适配模型之间的权重差异存在于低内在秩上。它学习一个额外的低秩矩阵,而不是调整整个层以进行适配。与作者的工作更为相关的是,早期的多任务学习(MTL)方法[43, 51]利用低秩结构来模拟任务通用特征,并通过线性组合生成任务特定特征。与它们不同,作者的方法利用低秩结构在增加MoE中的专家数量时控制计算预算。

3 Method

Overall Framework

整体框架遵循了之前工作[53, 54]中的多尺度架构。作者使用现成的视觉 Transformer (ViT)作为编码器,并从不同层次收集多尺度特征。正式地,给定一个输入图像 和一个视觉 Transformer ,作者可以从不同层次获得多尺度特征集 ,其中 。在这里,,,和 分别表示层次索引、 Patch 数量和特征维度。 是第 个 Transformer 层的输出特征。多尺度特征被送入解码器,每个尺度上包括两个堆叠的MLoRE模块。对于每个任务,将不同尺度的MLoRE输出特征连接在一起,生成最终的密集预测任务特征。

Preliminaries: Mixture of Experts

在描述所提出的混合低秩专家(Mixture-of-Low-Rank-Experts,MLoRE)模块的细节之前,作者首先介绍MoE 的基本形式。形式上,假设MoE包含个专家和个路由网络,分别表示为和。和分别是专家的数量和任务的数量。来自第层的 Backbone 特征分别输入到个专家网络和个路由网络中。为方便起见,以下省略上标。对于第个专家,通过生成区分性输出特征。同时,MoE从针对不同任务的特定任务路由网络中学习门控值。对于任务,路由网络生成的每个专家的门控值可以表示为,其中。最后,MoE通过使用门控值结合专家特征,为任务生成特定任务的特性,可以表达为。

对于MViT [15]和Mod-Squad [10],它们根据相应的门控值在一次推理中关闭一些专家,并选择前名专家。任务特定的特征被用于对每个任务进行预测。

MoE的优势在于它能够为每个样本和每个任务动态地编码特征,并通过多个专家增加特征编码的多样性。然而,在将MoE技术应用于构建多任务学习(MTL)解码器时,作者发现它在建立全局任务关系方面存在困难。此外,当增加专家的数量以扩大特征表示的能力和专家网络的上下文时,参数和计算成本也会相应增加。为了解决上述问题,作者提出了低秩混合专家(MLoRE)模块。

Mixture of Low-Rank Experts

所提出的混合低秩专家(MLoRE)模块的总体流程在图2中展示。考虑到在任务特定特征间构建跨任务关系,作者首先使用几个轻量级的卷积层将 Backbone 特征投射为任务特征。然后,每个任务的特征被传递到任务共享的通用路径和具有不同低秩卷积的多任务共享专家网络。根据每个任务的特定任务路由器的预测来选择低秩专家。此外,除了基于特定任务路由器构建任务特定特征外,作者还引入了额外的特定任务低秩专家网络以辅助构建更具辨识力的任务特定特征。来自任务共享通用路径、由特定任务路由器选择的任务共享低秩专家网络以及特定任务专家网络的特征被叠加起来生成具有辨识力的任务特定特征。作者在MLoRE模块中引入了线性,并且在所有路径中不使用任何激活函数,这使得重新参数化以降低计算成本。

具体来说,第层的 Backbone 特征首先通过卷积投影到对应于每个任务的多个任务分割上,可以表示为,其中。然后,任务特征被发送到三条路径,即:任务共享的通用路径,带有任务特定路由网络的共享低秩专家路径和,以及任务特定的低秩专家路径。通过这些路径,作者得到输出的任务特定特征。

以下,作者将介绍MLoRE模块中所有路径的网络细节。

任务共享通用路径包含一个简单的3×3卷积层,其权重矩阵为 和偏置矩阵 。由于所有任务特征都将通过这个通用卷积,它将由不同任务的梯度同时优化,这有助于提取所有任务中的共有特征。在训练过程中,作者阻止了这条路径的梯度进一步反向传播。梯度通过另外两条路径反向传播。作者发现这样的简单操作可以更好地缓解优化过程,并且很好地解决梯度冲突。第4.2节的实验结果表明,简单的任务共享通用路径可以提升所有任务的性能,证明了从全局角度显式构建所有任务间关系这一想法的有效性。

任务共享低秩专家路径。 作者从LoRA [22]获得灵感,并采用了低秩卷积,这是普通卷积的一种低秩格式。每个任务共享专家网络都共享一个相似的结构,该结构由一个组成。

使用卷积和卷积。所有任务共享的专家网络的权重和偏置可以表示为\{\mathbf{W}_{lreb}^{n}_{reb},\mathbf{b}_{lreb}^{n}_{lrea},\mathbf{b}_{lrea}^{n}|n \in[1,...,N]\},其中,以及()。表示第个专家网络的秩。在作者的方法中,不同专家网络的是不同的,旨在提高参数和特征的多样性。对于每个任务,任务特定的路由网络学习这些专家的门值,并根据门值激活前个专家。所有激活的专家的输出特征相加,然后发送到BatchNorm层以生成任务特定的特征。BatchNorm层包含四个参数,分别是累积的通道均值,累积的通道标准差,缩放因子和。

特定任务的低秩专家路径包括个特定的专家网络,每个网络处理一个任务特征。对于每个特定的专家网络,作者采用与任务共享专家路径相似的结构,该结构包含一个权重矩阵和偏置矩阵的卷积,其后是一个权重矩阵和偏置矩阵的卷积。表示秩数()。特定任务的专家路径可以增强任务特定特征的独特性,这一点将在实验中得到验证。

路由网络。 如图2所示,为了从任务共享的低秩专家路径生成特定任务的特征,作者学习特定任务的路由网络以生成每个专家的门值,并将其用作不同专家特征输出的线性组合的权重。每个任务的路由网络通常是简单的线性层,后面跟着一个平均池化层和一个预测层。具体来说,第个任务的路由网络设计如下。作者的路由网络接收特定任务的特征作为输入,并将它们送入两个连续的11卷积中,将通道维度从映射到,然后是一个全局池化层。输出是一个全局特征向量。

此外,受先前工作[20, 21]的启发,这些工作表明位置信息对于建模长距离空间上下文同样重要,作者引入了另一个并行的位置感知分支。同样,它也由两个线性层组成。第一个线性层沿着空间维度缩小特征,将形状从映射到,然后通过第二个线性层将其转换到。这两个分支的输出特征向量沿着最终维度进行拼接,然后发送到最终的预测层,接着是一个Soft-max函数,以生成每个专家的门控值。

推理过程中的重参化。 作者通过移除所有的激活函数,将线性特性引入MLoRE模块,这使得所有路径的参数在推理时能够重新参数化为每个任务的一个简单的33卷积。作者首先对任务共享的低秩专家路径进行参数化,然后对所有路径的参数进行参数化。根据[12],任务共享专家路径中的权重和偏置矩阵可以合并并表示为:

在公式中, 表示广播操作,而 表示路由网络为任务 选择的激活专家的索引集合。 是路由器预测的第 个门值。在推理时,这三条路径的权重矩阵和偏置矩阵可以被重新参数化。

和 是重参化卷积的权重和偏置。因此,方程(2)可以被重新表述为。

在 这里, 表示卷积操作,而 通过广播机制具有与 相同的形状。

4 Experiments

Experimental Settings

数据集。 为了证明作者方法的有效性,作者在两个流行的多任务数据集上评估了作者的方法的性能,包括PASCAL-Context [7] 和 NYUD-v2 [42]。PASCAL-Context [7] 包含了几个任务的高质量标注,包括语义分割、人体解析、显著性检测、表面法线和目标边界检测。这个数据集中有4,998张训练图像和5,105张测试图像。NYUDv2 [42] 也提供了高质量的多任务标注,包括语义分割、单目深度估计、表面法线和目标边界检测。这个数据集包含795张训练图像和654张测试图像。

评估指标。 作者为上述任务引入了评估指标。遵循之前的多任务工作 [52, 53],使用平均交并比(mIoU)来评估语义分割和人像解析。均方根误差(RMSE)用于评估单目深度估计的准确性。显著性检测使用最大F度量(maxF)。表面法线和物体边界检测分别采用平均误差(mErr)和最优数据集规模F度量(odsF)作为评估指标。总的来说,作者按照[35]对所有任务评估多任务学习增益 。

训练设置。 作者使用ViT-large [14] 作为主干网络。解码器的通道数设置为384。在进行消融研究时,将ViT-base网络设置为主干网络。遵循之前的工作 [53],所提出的多任务学习网络在两个数据集上以批量大小为4训练40,000次迭代。不同任务的优化器和损失函数遵循之前的工作 [53]。

Ablation Study

在本小节中,作者进行了广泛的实验来验证不同组件的有效性,并找到了不同超参数的最佳设置。除非另外说明,所有消融实验都是基于ViT-based Backbone 网络进行的。基准模型建立在具有12层的ViT-base Backbone 网络上,其中来自第3层、第6层、第9层和第12层的 Backbone 特征被用作多尺度特征,每个特征后面都跟随一个线性层,将通道维度投射到每个任务的输出通道。

不同组件的有效性。 作者首先进行实验以验证MLoRE模块不同组件的有效性。定量结果展示在表2中。作者首先考察了采用标准MoE的 Baseline 模型的性能以及其模型参数量和FLOPs。标准MoE中的专家网络(15个专家)与作者的类似,每个网络都包含一个33卷积和一个带有ReLU的11卷积。当将MoE添加到 Baseline 模型时,作者观察到多任务学习(MTL)增益可以得到提升,但参数量和FLOPs也会扩大大约5倍和4倍,这对于整个网络来说是沉重的负担。当将低秩专家网络(LoRE)添加到 Baseline 模型时,性能也有所提升,但参数量和FLOPs仅是MoE基础模型的1/3和1/3。当低秩属性应用于专家网络时,参数大小会减少几倍。当进一步通过移除所有激活函数,在专家网络中引入线性特性时,通过将所有专家重新参数化为单个卷积,实现了计算资源的节省。

此外,作者还强调了在MoE中明确构建全局任务关联的重要性,并引入了任务共享的通用路径来实现这一目标。可以看出,将任务共享的通用路径添加到LoRE可以进一步提高性能,并且在大多数指标上超过了仅使用MoE的 Baseline ,这证明了建模所有任务之间全局关系的有效性。另外,为每个任务添加一个特定任务的低秩专家也能提升性能,这表明专门的专家可以增强任务特定特征的辨识度。在本文中,作者凭经验将特定任务的低秩专家的秩设定为64。

任务共享的低秩专家数量和顶级- 选择。 作者在MLoRE模块中消融了低秩专家的数量,以及任务特定路由网络对专家的顶级- 选择。首先固定一个参数,然后消融另一个参数,以研究它们对多任务性能的影响。如图3所示,当增加专家数量时,模型的MTL增益显著提高,并且当专家数量为15时,作者能够达到最佳性能。进一步增加专家数量,作者没有观察到明显的性能提升。此外,当将专家数量固定为15时,作者消融了激活专家的比例。作者观察到,为每个任务激活60%的专家是作者实验中的最佳选择。当选择所有专家网络时,性能大幅下降,这反映了特征辨别中稀疏性的重要性。

排序号设置。 专家网络采用了具有640个输出通道的普通33卷积的低秩格式。不同专家网络的秩也起着重要作用。作者研究不同的设置,包括:1) 所有专家具有相同的秩号16;2) 所有专家的秩号为128;3) 所有专家的秩号从16到128,以8的增量递增。如表格3所示,可以看出为专家网络选择不同的秩号能够实现最佳的多任务学习增益。作者分析了具有不同秩号的专家网络,相比相同的秩号,它们能带来更多的特征多样性,这对于组装特定任务的特性更为有用,因此作者采用这一设置。

任务与低秩专家之间的关系可视化如图4(a)所示。作者从最后一个阶段的第二个MLoRE模块中统计关系,并计算不同任务在整个数据集上选择的每个专家的激活比例。可以看出,不同排名的专家倾向于学习不同任务子集。具体来说,对于这个模块,排名较低的专家倾向于学习3-4个相关任务的共享知识,而排名较高的专家则倾向于专攻1-2个任务。此外,在图4(b)中,作者还展示了在没有将任务共享的通用路径添加到MLoRE模块时,不同专家被不同数量任务激活的比例。可以看出,在完全动态的方式下,所有这些专家很少或甚至从未被一个样本中的所有任务激活。这证明了在解码器中直接使用MoE时,几乎没有任何专家能够学习到所有任务之间的全局关系。这一现象强烈支持了显式建模全局任务关系时任务共享通用路径的必要性。

特定任务路由网络。 路由网络对于生成特定任务的门控机制至关重要,这些机制决定了如何激活专家并组合它们的特点。作者对路由网络的几种设置进行了消融研究,结果如表4所示。将位置感知分支添加到基本路由网络可以提升多任务学习(MTL)增益0.17。位置感知分支能够获取更多的上下文信息,这有利于路由网络。此外,当将路由器的输入从可学习参数替换为样本特征时,多任务学习增益提高了0.16,这表明样本中的动态信息对门控机制至关重要。

Comparisons with Other Methods

定量比较与作者之前的最新(SOTA)方法的结果展示在表5和表6中。可以看出,在PASCAL-Context数据集和NYUDv2数据集上,作者的方法在所有指标上明显优于之前的方法。特别是对于PASCAL-Context数据集,在语义分割、人体解析和边界检测上,作者方法的性能分别比之前最佳方法提高了0.52 mIoU,1.10 mIoU和1.92 odsF。

先前的方法,MViT [15],Mod-Squad [10],以及TaskExpert [54],都在其网络中采用了MoE技术。然而,作者的方法表现优于它们,这证明了MLoRE模块的有效性。与以解码器为重点的方法TaskExpert相比,在语义分割、人体解析和物体边界方面的性能显著提高了0.77 mIoU,1.10 mIoU和2.12 odsF,同时使用的参数和FLOPs更少。

此外,作者在图5中提供了不同方法之间的直观可视化比较。作者的方法能够生成比先前现有技术水平(SoTA)方法更好的可视化结果,特别是在语义分割、人体解析和目标边界检测方面。更多的可视化比较可以在补充材料中找到。

Efficient MTL Models

作者也把作者的MLoRE模块应用于ViT-small主干网络,以检验高效模型的性能。具体来说,解码器的通道数从384减少到192。如表格7所示,使用大约35% TaskExpert的GFLOPs,作者的方法能够达到极具竞争力的结果。特别是,语义分割和目标边界的性能分别提高了0.6% mIoU和1.01% odsF,而其他任务指标与TaskExpert接近。此外,参数数量比TaskExpert减少了1100万个。

Conclusions

作者提出了一种新颖的以解码器为中心的多任务学习方法,名为MLoRE。作者深入研究了标准的专家混合(MoE)技术,并从两个方面对其进行了改进,以便进行密集的多任务学习。首先,为了解决MoE中被忽视的全局关系建模问题,作者在MoE中增加了一条简单的通用卷积路径,使得不同任务的特性能够共享这条路径。此外,作者将普通卷积的低秩格式应用于不同的专家网络,以解除在增加专家数量时MoE的高计算成本和大量参数的负担。实验表明,所提出的方法在所有指标上明显优于之前的最先进方法。

致谢。 本研究得到了国家自然科学基金委员会(编号62276145)、中央高校基本科研业务费(南开大学,编号070-63223049)以及中国科学技术协会通过青年科技人才托举工程(编号YESS20210377)的支持。计算支持由南开大学超级计算中心(NKSC)提供。

Appendix A More Implementation Details

MLoRE Module Stacking

在作者的方法中,作者在每个选定的 Backbone 层后堆叠两个MLoRE模块。在第一个MLoRE模块中,使用了轻量级的特定任务卷积来将 Backbone 特征投影到不同的任务特征上。在第二个MLoRE模块中,由于任务特定特征已经分离,作者直接利用卷积来处理特定任务的特征。此外,由于MLoRE是一个线性模块,作者在两个MLoRE模块之间加入了一个特定任务的非线性块,以在作者的解码器中引入非线性。每个非线性块由一个GELU-BatchNorm-Linear结构组成。

MoE Optimization

遵循基于MoE的MTL先前方法[10, 15],作者采用了Shazeer等人[41]提出的噪声门控和负载平衡损失,这在稀疏MoE训练中是一个常见的做法[39, 41]。

有人可能会担心,如果没有负载均衡损失,一个专家被同一样本上的所有任务激活的可能性会更高。然而,由于两个原因,作者不能丢弃负载均衡损失来构建一个专家中所有任务之间的全局关系。首先,丢弃负载均衡损失将削弱MoE动态为不同样本选择不同专家的能力,这与作者使用MoE的初衷相反。其次,如果没有负载均衡损失,大多数专家将被较少激活或根本不被激活,这将损害MoE的能力。相反,作者提出的任务共享通用路径不会损害动态路由的能力和MoE的容量。作者将在随后的实验中证明负载均衡损失的必要性。

此外,作者的MLoRE模型是带着top-约束进行训练的。在不对MoE设置top-约束的情况下进行训练时,作者发现每个专家会被所有任务共享。然而,作者从经验中发现这可能会使优化过程变得困难,并损害MoE在部分任务子集中建立关系的能力。因此,尽管它可以建立全局任务关系,但在没有top-约束的情况下,性能会受到影响,这在本篇主文的图5左侧所示。可以看出,没有top-约束的设置的性能低于带有top-设置的。相反,作者提出的工作共享通用路径可以在MoE仍然在部分任务子集中建立关系的同时,明确地建立全局任务关系。

Re-parameterization During Training

由于重参化可以加快前向传播,自然会问作者是否可以将重参化扩展到训练阶段以提高训练效率。然而,在作者的MLoRE模块中,重参化只能在海量推理阶段执行。训练中的重参化将很大程度上影响训练时的行为,原因是作者的MLoRE模块中的BatchNorm层。作者遵循RepVGG [13]在作者的任务共享低秩专家路径中设置BatchNorm,这对于基于重参化的方法是重要的,如RepVGG第4.2节所述。当BatchNorm层在训练中与卷积层合并时,这个BatchNorm层的特征统计将难以执行。

Appendix B Additional Study on MLoRE Module

Number of MLoRE Module

MLoRE模块在一个尺度上的数量也会影响性能。作者对这一点进行了一系列实验,结果如表8所示。可以看出,当将MLoRE模块的数量从1增加到2时,多任务学习(MTL)增益从-1.25提高到了-0.58。当进一步堆叠1个MLoRE模块时,作者没有观察到明显的性能提升(-0.74 对比 -0.58)。因此,在本文中,作者将每个尺度上的MLoRE模块数量设置为2。

Low-rank Task-Sharing Generic Path

作者进一步消融了低秩任务共享通用路径的有效性。在MLoRE中,作者利用任务共享通用路径中的普通3x3卷积的低秩格式,探索是否可以设计出一个具有完全低秩结构的更轻量级模块。结果展示在表9中。随着秩的增加,大多数任务上的性能都有所提高。当使用普通3x3卷积时,其性能大幅超过了低秩设置。这一结果表明,使用普通3x3卷积而不是其低秩格式来构建任务共享通用路径是有益的。

Detailed Results for Number of Task-Sharing Low-Rank Experts and Top-k Selection

作者展示了表10和表11中任务共享的低秩专家数量和每个任务的top-k选择的具体性能。可以看出,在大多数任务上,增加专家数量可以实现更好的性能,这也得到了之前工作[10]的验证。这同时也证明了将线性结构和低秩结构引入MoE(多专家)的必要性。

Effectiveness of Load-Balancing Loss

作者进行了大量实验来验证负载均衡损失的有效性。为了证明它对MoE结构的必要性,作者测试了三种具有不同设计的设置。结果如表12所示。可以清楚地看到,在所有三种设置中,使用负载均衡损失,大多数任务的性能都会得到更好的提升。多任务学习增益也通过负载均衡损失得到提高。定量结果证明了负载均衡损失对MoE结构的有效性,并激励作者提出任务共享的通用路径,而不是放弃负载均衡损失来构建全局关系。

Ablation on NYUD-v2

作者在NYUD-v2数据集上也进行了一些重要的消融研究。具体来说,作者对在NYUD-v2上的任务共享低秩专家的数量以及top-k选择进行了消融实验。结果展示在图6中。此外,作者在图7中展示了NYUD-v2上的关系可视化。可以看出,这些消融实验的结果仍然支持作者主论文中的结论。

More Quantitative Results

作者在表13中展示了基于ViT-L的 Baseline 模型的性能。此外,作者还进行了实验以评估基于HRNet18 [44]的性能。结果在表14中展示。作者的方法在方面以很大优势优于其他方法。

Appendix C More Visual Results

More Visual Comparison Results

作者展示了与先前SOTA方法,TaskPrompter [53] 和 InvPT [52]相比更具定性性的结果。在图8和图9中,作者可以看到,在大多数任务上,作者的方法生成了优于先前SOTA方法的视觉结果。

Relation Visualizations from More Layers

作者在图10中展示了任务与各个尺度的低秩专家之间的关系可视化。这些可视化清楚地显示了具有不同秩的专家倾向于为所有MLoRE模块学习不同的任务子集。作者还展示了在没有为所有MLoRE模块添加任务共享的通用路径时,不同专家被不同数量的任务激活的比例,如图11所示。MLoRE模块中的大多数专家很少被所有任务激活,这与作者的动机相符合。然而,有一些专家更频繁地被所有任务共享,作者发现这些专家在五个任务中的最小门控值相对较低,大多数时间都低于平均值(0.11)的一半。这也可以证明,在没有任务共享的通用路径的情况下,一个专家很难建立全局关系并有效地辅助最终结果。

参考

[1].Multi-Task Dense Prediction via Mixture of Low-Rank Experts.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 集智书童 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 Introduction
  • 2 Related Work
    • Dense Multi-Task Learning
      • Mixture-of-Experts
        • Low-Rank Structure
        • 3 Method
          • Overall Framework
            • Preliminaries: Mixture of Experts
              • Mixture of Low-Rank Experts
              • 4 Experiments
                • Experimental Settings
                  • Ablation Study
                    • Comparisons with Other Methods
                      • Efficient MTL Models
                        • Conclusions
                        • Appendix A More Implementation Details
                          • MLoRE Module Stacking
                            • MoE Optimization
                              • Re-parameterization During Training
                              • Appendix B Additional Study on MLoRE Module
                                • Number of MLoRE Module
                                  • Low-rank Task-Sharing Generic Path
                                    • Detailed Results for Number of Task-Sharing Low-Rank Experts and Top-k Selection
                                      • Effectiveness of Load-Balancing Loss
                                        • Ablation on NYUD-v2
                                          • More Quantitative Results
                                          • Appendix C More Visual Results
                                            • More Visual Comparison Results
                                              • Relation Visualizations from More Layers
                                              • 参考
                                              相关产品与服务
                                              负载均衡
                                              负载均衡(Cloud Load Balancer,CLB)提供安全快捷的四七层流量分发服务,访问流量经由 CLB 可以自动分配到多台后端服务器上,扩展系统的服务能力并消除单点故障。轻松应对大流量访问场景。 网关负载均衡(Gateway Load Balancer,GWLB)是运行在网络层的负载均衡。通过 GWLB 可以帮助客户部署、扩展和管理第三方虚拟设备,操作简单,安全性强。
                                              领券
                                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档