没有合适的资源?快使用搜索试试~ 我知道了~
4351一个年轻人穿着一件白衬衫和裤子网络是约翰吗?真分割学习:用于多任务人体图像分析的梯度分割邓伟建1徐玉敏2于翔2马苏德·法拉基2梁铮1曼莫汉·钱德拉克2,31澳大利亚国立大学2NEC Labs America3加州大学圣地亚哥分校摘要本文提出了一种方法来训练一个统一的深度网络,同时解决多个与人类相关的任务。多任务框架有利于在计算资源受限的情况下实现任务间的信息共享。然而,任务不仅共享信息,而且还可能竞争资源并相互冲突,使得共享参数的优化变得我们提出了一个简单而有效的训练计划,称为GradSplit,利用不对称的任务间关系来解决这个问题具体地说,在每个卷积模块中,它将特征分为T个任务的T个组,并仅使用从与其不冲突的任务损失反向传播在训练过程中,我们将GradSplit应用于一系列卷积模块。因此,每个模块都被训练成使用来自前一个模块的共享特征来生成一组特定于任务的特征这使得网络能够在任务之间使用互补信息,同时避免梯度冲突。实验结果表明,与现有方法相比,GradSplit方法具有更好的准确性和效率它最大限度地减少了由任务冲突引起的准确性下降,同时在推理时显著节省了FLOP和内存方面的计算资源我们进一步表明,与单任务和其他多任务网络相比,GradSplit实现了更高的跨数据集1. 介绍对人类外观的全面理解对于各种视觉应用至关重要。近年来,各种与人类相关的任务取得了令人印象深刻的进展,例如人员重新识别[50],行人检测[7,47]和姿态估计[1,45]。然而,大多数现有的作品只关注单个任务,缺乏联合调查多个任务的能力。类似地,大多数现有的数据集都是针对单个任务进行注释的,并且不为各种任务提供完整的注释。在本文中,我们研究了一个统一的框架,同时解决多个人类相关的任务。我们认为图1.传统的多任务学习可能会遇到任务冲突,例如:当联合训练身份可变(身体属性)和身份不变(身体姿势)任务时。我们的目标是训练一个统一的网络,解决多个与人类相关的任务,同时避免此类任务冲突。给定一幅图像,所提出的网络提供了对人的丰富解释,包括属性、姿势、部分掩码和身份。我们假设一个实际情况,即多任务网络是在数据集上训练的,每个数据集不一定对所有任务都有详尽的注释。实际情况是,每个训练数据集只包含单个任务的注释,如图1所示。所需的框架将利用跨任务的互然而,对一个任务有用的梯度信号可能会对其他任务产生负面影响,从而在训练具有共享骨干的多任务模型时导致冲突。例如,姿态估计需要姿态变化的特征,而人的重新识别需要姿态不变的特征。这导致训练困难,从而导致次优的整体性能。为了解决这个问题,现有的方法[15,26,30,21,31]将任务特定的模块集成到共享骨干中以生成任务特定的功能。在这项工作中,我们还鼓励共享网络学习人类相关任务的特定任务特征然而,我们没有使用额外的模块,而是使用一个简单的训练方案来实现这一点数据集T数据集测试任务T任务t网络任务1数据集1………………推理培训4352→对于共享主干中的每个卷积模块,我们将其滤波器沿着输出通道分为T组,用于T个任务(图2)。在每次迭代中,每个组仅从与其分配的任务不冲突的任务中通过梯度进行更新。具体来说,我们定义了任务t和t′之间的不对称关系t′t,通过比较两个模型对任务t的验证精度。如果仅用任务t训练的模型比用两个任务联合训练的模型达到更高的准确度,我们将这种关系定义为“负”。当更新第t个过滤器组时,我们屏蔽从与任务t具有负关系的任务反向传播的梯度。我们称之为GradientSplit(或GradSplit),因为它在更新过程中将渐变分成组。值得注意的是,GradSplit仅适用于反向传播期间的过滤器-前向传递与基线相同。这自然带来三个好处。首先,特定于任务的过滤器在接收从其他特定于任务的过滤器产生的特征时仍然可以使用来自其他任务的信息此外,在推理时没有额外的参数或计算开销最后,它不需要比较所有任务损失的梯度[46,5],从而简化了训练过程,特别是在处理多个单个注释数据集的情况下。作为一个小小的贡献,我们通过分析共享骨干中的规范化层提供了一个强大的多任务它有效地解决了从不同领域的多个数据集学习时的领域差距问题。我们评估GradSplit的几个组合的任务,从四个人类相关的任务,即,姿态估计、属性识别、人重新识别和身体部位解析。实验表明,GradSplit最大限度地减少了任务冲突造成的准确率下降,同时在推理时的FLOP和内存方面显着节省了计算资源。与现有的方法相比,GradSplit实现了更好的准确性和效率的权衡。此外,与单任务和其他多任务网络相比,GradSplit获得了更高的跨数据集性能。2. 相关工作2.1. 人类分析许多特定于任务的数据集和解决方案已经被提出用于各种人类分析任务,例如足部检测[7,47],人员重新识别[50,35,37],身体姿势估计[1,45],人体解析[11]和身体属性识别[22]。有几种方法试图同时处理多个任务。然而,他们中的大多数专注于使用辅助任务来增强主要任务,例如身体属性[20,39]和人体姿势,以通过学习姿势不变特征[49,34,43]以及指导特征提取[34,43]来增强人的重新识别。我们的目标是处理每一项同样重要的任务,并开发一个统一的模型,解决多个问题。多个任务同时进行。2.2. 多任务学习多任务学习旨在为多个任务训练统一的模型这是期望的,因为它可以减少计算资源(例如,存储器和运行时间),并且可以利用跨任务的知识来学习更丰富的表示。然而,在训练期间,来自不同任务的梯度可能彼此冲突并导致次优解决方案。我们将多任务学习的文献根据每个焦点分类如下。从优化的角度来看,已经提出了减少梯度冲突的方法。一些方法比较梯度的方向并丢弃冲突的分量以使它们对齐[46,5,42]。Maninis等人[26]通过对抗训练,使任务梯度在统计上彼此不可区分它们通常需要比较来自相同图像或域的梯度,而任务梯度可能来自我们设置中的不同域。在上面的方法中,每个过滤器都使用从所有任务聚合的操作梯度进行相比之下,我们显式地为每个过滤器分配一组任务,如果其他任务与分配的任务冲突,则删除其他任务的梯度。因此,每个过滤器都被强制执行以适应整个训练过程中的专用任务,而每个过滤器的主要任务可以在其他作品的训练过程中不断变化。由于任务损失具有不同的幅度,并且它们的相对幅度在训练期间可能会变化其他方法将多任务学习公式化为多目标优化问题,并寻求帕累托最优解[32,19,25]。它们是我们方法的补充,可以潜在地组合以获得更好的性能,但不在本研究的范围内。架构设计除了由通用特征提取器和特定任务头组成的基本架构之外,由多个单任务流和交互模块组成的多流架构[27,10]显示出良好的性能。相反,Liuet al. [21]建议与特定任务的注意力模块共享公共特征提取器一些作品研究了一种方法,可以找到在训练时相互受益的任务组合[33,8]。此外,在[29]中提出了可控多任务网络。该网络动态调整其体系结构和权重,以匹配所需的任务偏好和资源约束。最近,开发了网络架构搜索(NAS)技术,以学习如何分支[12],选择任务特定路径[36],并选择任务特定网络之间的相关互连[9]。4353不一|--前向传递梯度传播损失试验任务测试输入共享骨干头网络图2.拟议框架概述。该网络由一个共享的骨干和特定任务的头部模块。对于共享主干中的每个卷积模块,我们将其滤波器沿着输出通道分成T组,用于T个任务(例如,,θt用于第t个任务)。GradSplit根据配对任务关系定义的关系掩码,相对于每组过滤器操作每个任务损失的梯度(第3.1节)。GradSplit确保第t个任务丢失的梯度仅影响选定的过滤器(标记为中间的红色块它鼓励每个过滤器组对分配的任务有益,同时减轻潜在的冲突问题。注意,该训练方案仅改变了后向传递,因此前向传递保持不变。最好用彩色观看。本文使用了一个简单的架构:所有任务共享公共主干并且具有单独的任务专用头。我们专注于减轻共享主干上的任务冲突。任务特定特征学习该研究建议学习任务特定注意力模块[26],任务特定特征缩放[15]或任务特定面具[28]。这些方法需要多次通过网络传递输入,因为特定于任务的中间特征不共享。相比之下,我们的方法只需要一个前向通过预测所有的任务,并节省了计算成本的推理,特别是当一个大型骨干架构使用。吹牛的人等。[2]提出了随机过滤器分组(SFG),学习以随机方式将过滤器分组为特定任务或任务不可知与上述方法相比,这些方法使用特定于任务的特征来进行专用任务GradSplit , 减 少 梯 度 传 播 过 程 中 任 务 间 的 干 扰 。GradSplit不是使用所有任务梯度来更新共享骨干中的每个卷积过滤器,而是利用任务之间的非对称成对关系来选择性地屏蔽梯度并避免冲突。3.1. GradSplit非对称任务间关系非对称任务间关系通过测量任务之间的相互影响来定义。我们首先训练两个模型,它们具有相同的骨干架构,具有不同的任务头,其中为任务t训练单任务网络,并训练多任务网络,以共同最小化任务t和t'的损失。然后,我们基于关于相对精度变化Δt′→t=acct| {t,t′}−acct| {t},只有,我们的方法享有更丰富的表示,通过共享在访问′ 是 任务的准确性acct| {t}不|{t,t}多任务测试跨任务学习特定于任务的特征3. 方法概述我们的目标是训练一个统一的模型,同时解决多个与人体相关的任务。我们寻求使联合任务损失L最小化的最优参数Θ,minL(Θ)=λ L(Θ),(1)在任务t和t′上训练的网络,acctt是在任务t上训练的单任务网络的准确度。t′→t的正值表明训练与任务t′一起导致 In在任务测试中性能增加,而负值表示在任务测试中性能降低。根据相对精度的变化,确定了方向关系t′→t。具体地说,如果At′→t小于阈值τ,则方向关系t′→ t被定义为负。从形式上讲,我们用m∈ {0,1}T×T表示关系:t tΘt=1m′= .0如果t=t′且关系t′→t在ive是ng(二)其中T和Lt表示任务的数量,第t任务1、否则。分别的损失。在这项工作中,我们假设一个多头网络,它在任务之间共享一个共同的骨干,并具有特定于任务的头,如图所示。二、当训练多头网络时,共享骨干使用从所有任务损失反向传播的梯度进行更新。通常可以观察到,与单任务模型相比,多任务模型实现了次优精度[46,5,15]。这可能是由于任务之间的冲突为了缓解这个问题,我们提出了一个培训计划,任务1Conv1.最大值���⋮1关系掩码(Eqn.(二)1⋮Conv任务t任务T……4354→→注意,如果联合训练以相反的方式影响每个任务的表现,属性“姿态”为负,而“姿态属性”不为负。在实践中,我们使网络能够容忍相对较小的精度下降。因此,我们使用τ=-0.01,这在实验中稳定有效地工作。基于任务间关系的梯度更新考虑到ci输入通道和co输出的卷积4355∈ΣDBΣ∇∈→不联系我们Bθtθt不不不不通道,由θ参数化Rh×w×ci×co。它包含co过滤器,每个过滤器产生一个特征图,其中h和w分别表示高度和宽度基于Eqn.1,标准的随机梯度下降被公式化为:θ←θ − α <$θL t.(三)不由于它平均了不同任务的梯度,因此如果任务冲突,它可能会抵消有用的信号,从而潜在地降低性能。为了缓解这个问题,GradSplit利用了任务间关系,操纵梯度的能力。 给定T个任务,我们将循环分批更新我们采用循环分批更新机制[24]进行优化。一个多任务迭代由转发每个任务批和更新参数的序列组成它足够灵活,可以为不同的任务提供不同的输入大小,并且可以扩展到GPU内存受限的任务数量。训练数据集之间的域间隙使用循环分批构造,任务t的小批由从分布t采样的图像组成。经验损失计算如下:不过滤成T组,并将每个组明确分配给一个Σ Σ1(f)(x)、y)、(6)任务我们将分配给第t个任务的参数表示为θt∈Rh×w×ci×nt,其中nt=<$co/T<$是t=1Bt|x t ∈Bt|xt∈Bt分配给任务t的输出通道。然后,使用GradSplit的参数更新的一次迭代被公式化为:θt<$θt−α<$G SL,其中<$G SL=<$mtt′<$θLt′。(四)t′它仅使用来自任务t′的子集的梯度来更新参数θt,其中关系taskt′t不是负的,而丢弃来自其他任务的梯度。GradSplit不影响转发过程,而只影响梯度更新过程。 因此,它很容易适用于任何卷积层,而无需修改网络结构。在实验中,我们将GradSplit应用到最后一层(例如,ResNet- 50的第4层)的共享骨干,经验上导致最佳性能(如表4所示)。直观地理解GradSplit作为正则化考虑将相对于θt的梯度操作为任务梯度之和附近的加权li,即,t′wt′θtLt′。当wt′ 是一个随机二进制掩码,它等于丢弃梯度[40],具有专门设计的丢弃率为p的丢弃掩码[ 0,1]。 当wt′=mtt′时,这变成等于GradSplit,这是当p 1时的极端情况。因此,GradSplit也可以被解释为正则化器,因为它在训练过程中使用特定的掩码丢弃梯度并向梯度注入噪声。3.2. 使用多个特定于任务的数据集进行训练我们假设一个实际的设置,其中每个数据集包含单个任务的在这种情况下,使用多个数据集来训练模型,这些数据集的图像在背景、光照和分辨率方面呈现出独特的视觉特征等式(1)进一步规定为:minλtEDt[λt(fΘ(Xt),Yt)],(5)其中t表示针对任务t采样的小批量。同时,批量归一化 ( BN ) 被 广 泛 用 于 最 先 进 的 网 络 架 构 , 如EfficientNet [38]和ResNet [13]。请注意,BN使用正在运行的批处理统计信息在训练期间和在推断期间累积的统计数据,用i.i.d.小批量假设由于数据集之间的域间隙,用于计算小批量t的任务t损失的运行BN统计在训练期间遵循跨任务的不同分布,而公共BN统计在任务上累积并在测试阶段使用我们发现,这种BN统计训练和测试阶段之间的不匹配显着降低性能作为一种候选解决方案,特定于任务的BN [3]通过为不同的任务使用单独的BN模块,同时共享剩余的卷积来缓解这个问题。然而,第一任务特定BN之后的特征不能跨任务共享,并且需要N个任务的N个另一种解决方案是在训练过程中固定BN统计,然而,我们根据经验发现这种做法也不合适。相反,我们在共享骨干中使用组规范化(GN)[44],这可以规避上述问题。在我们的实验中,我们观察到来自该选择的显著增益,如表2中多头基线的两个主链选择(ResNet-50-BN与ResNet-50-GN)之间的大的准确度差距所4. 实验4.1. 实验设置在这项工作中,我们试图学习一个单一的网络,解决几个与人类相关的任务。在实验中,我们选择了四个具有代表性的任务,包括密集预测任务(人体姿态估计和解析)和图像级任务(人的重新识别和属性识别)。在所有的实验中,每个任务都是在不同的环境中训练和测试的在那里,Θ和fΘt=1表示任务t损失函数和预测同一数据集的不同分割。在这种设置下,不同任务之间存在域间隙,但不存在域间隙。每个任务的训练集和测试集之间的域间隙。Θ4356功能,分别。4357→↓的培训Ms,i数据集和指标:(I)PA-100 k数据集[22]总共包含100,000张行人图像。每幅图像都标注了26个常用属性。我们报告在此数据集上的属性识别我们使用平均准确度(MA)作为评价指标。(II) Market-1501包含12,936个训练图像和19,732个图库图像。751个身份用于训练,750个身份用于测试。有3,368张图片来自750个身份用作查询。我们将此数据集应用于人员重新识别(ReID)。等级-1准确性和mAP得分被报告为评价指标。(III) MPII数据集[1]用于姿势估计。该数据集包含24,920个场景图像和40,522个带注释的人(28,821个用于训练,11,701个用于测试)。每个人有16个标记 的 身 体 关 节 。 我 们 采 用 标 准 的 关 键 点 正 确 率(PCK)作为评估指标。具体而言,我们测量单个关节的PCKh@0.5并报告其平均值。(IV) LIP[11]用于训练人类解析任务,该任务由来自50,462张图像的20个语义人类部分(包括一个背景标签)的像素级注释组成。我们遵循标准的训练/验证分割(30,462/10,000)设置,并报告mIoU评分和平均准确度(Mean Acc.)以评估解析性能。总体多任务性能我们报告了以下多任务性能的总结[15,26]。我们测量了多任务网络m与参考单任务网络s相比:表1.四个人体相关任务的非对称成对任务关系。每个条目(t′,t)对应于关系t′t。 负相关表示为。 空条目表示当与任务t '一起训练时,任务t的性能下降小于阈值τ =-0.01。性能属性ReID姿势解析属性−↓ReID↓−↓ ↓姿势−解析−单任务网络多任务模型具有准确性-效率权衡。多任务学习的一个简单解决方案我们比较了两组具有不同网络容量的单任务网络。(1)使用ResNet- 18模型作为基线:每个模型用于四个任务中的一个它有63 M的参数,这是大于所提出的模型的52 M的四任务设置。(II)使用ResNet-50模型作为计算多任务性能的上限,因为它与我们的多任务模型共享相同的骨干架构。4.2. 训练数据集1ΣT不(−1)liMm,i-Ms,i,其中,如果一个值较低值,则li=1意味着任务i的度量Mi的性能更好,0否则,请执行以下操作。T是任务总数。实现细节我们使用Pytorch进行所有实验。在ImageNet[6]上预训练的ResNet-18-GN和ResNet-50-GN [44]被用作共享骨干网络。PSP结构[48]被用作解析任务的头网络。对于姿态,我们遵循Xiao等人提出的编码器-解码器结构。[45]第45段。最后,我们使用头部结构Pose头部模块按照[45]中的实践从正态分布初始化,其余头部模块使用kaiming初始化。我们为以下任务使用了单独的优化器[18]。我们在最初的3个epoch中使用线性预热来训练网络,然后在剩余的100个epoch中切换到余弦学习率衰减,并进行10个每个epoch包括1,000次主要迭代,在这些迭代中,我们按顺序学习每个我们尝试了不同的任务更新频率因此,为了简单起见,我们在所有的实验中使用统一的权重.我们将初始学习率设置为0.001,批量大小设置为64。我们使用阈值τ= -0.01来定义四个人类相关任务之间的成对关系,并将其总结在表1中。使用多个数据集进行训练会导致一个微妙的归一化问题,如3.2节所述。这促使我们选择一个具有适当规范化的主干。具体地,主干被期望1)不引入额外的参数或计算成本,以及2)减轻由域间隙引起的影响并实现合理良好的多任务精度。在表2中,我们报告了BN,TBN和GN的网络结果。首先,我们观察到BN相对适合于单任务网络,与基于GN的对应物相比,实现了更高或相当的性能(第1-4行)。其次,由于第3.2节中讨论的原因,在多任务网络中使用BN会显着降低所有任务的性能。例如,在多头 基 线 中 使 用 BN 比 在 ReID 上 的 mAP 中 使 用 GN 低16.1%。第三,使用TBN [3]作为骨干(即,,ResNet-50- TBN)可以缓解域间隙,并在所有任务上实现与GN相当的准确性然而,TBN针对不同的任务使用单独的BN模块,这增加了推理的计算成本:它在四任务设置下需要41G FLOPs,而使用GN仅需要18G FLOPs。基于上述分析,我们使用具有GN的骨干来建立坚实的多头基线。i=1多任务模型4358表2.四任务设置下的方法比较我们报告PA-100 K [22]上属性的MA评分(%),Market-1501上mAP(%)[50]对于ReID,MPII上的平均PCKh@0.5(%)[1]对于姿势,LIP上的mIoU(%)[11]对于解析。我们还报告了整体多任务性能平均值(%,见第4.1节),表示相对于单任务基线的平均相对改善(ResNet-50-GN)。 * 表示在骨干中使用任务特定的批量标准化(task specific batch normalization,TBN)[3]。最佳的整体多任务性能以粗体显示。方法主干ReID属性构成解析∆m#参数浮点数mAP(↑)MA(↑)平均值(↑)mIoU(↑)(↑)(M)↓(G)↓单任务网络ResNet-50-GN81.178.088.245.6+0.012341(上行)ResNet-50-BN83.078.388.445.4–12341单任务网络ResNet-18-GN74.976.987.042.4–6324(基线)ResNet-18-BN74.274.287.441.9–6324NDDR [10]ResNet-18-GN67.4 76.4 86.8 41.7-7.3 68 26十字绣网[27] 67.0 76.0 87.0 41.2-7.7 63 24RCM [15]SFG [2]ResNet-50-GN54.9 68.1 69.0 36.1-21.9 141 8064.4 73.9 71.8 34.8-17.0 52 204.3. 多任务丰富的人工分析GradSplit始终优于多头基线表3.比较三个任务:ReID、属性和姿势。方法主干属性ReID姿势模板#Param如表2- 3所示,GradSplit在不同的多任务设置下,从多头基线得到了进一步的改进例如,在四任务设置下(表2),GradSplit始终优于多头基线:在ReID,Attribute , Pose 和 Parsing 上 , 它 在 mAP 中 比 基 线 高0.8%,在MA中高1.3%,在Mean中高0.3%,在mIoU中高1.2%。我们注意到,与现有方法相比,GradSplit实现了更好的准确性-效率权衡。在四任务设置中,Grad- Split的整体多任务性能与单任务网络相当(上图MA(↑)mAP(↑)平均值(↑)(↑)(M)↓绑定),只需要50%的参数和FLOP。当更新分配给任务t的过滤器组时,GradSplit会从与任务t具有负关系的任务损失中删除梯度。因此,它将导致过滤器产生特定于其相应任务的功能。这与基于任务特定模块的其他方法显著不同[15,2,26]。(I):RCM [15]在ImageNet预训练的主干上引入了然而,预训练的特征不适合我们的问题,其中所有样本都是人类图像。这可能会阻止RCM在我们的环境中实现所需的性能例如,它低于9.6%,属性中的GradSplit(如表2所示)。(II):SFG [2]随机地将卷积滤波器重新用于特定于任务或共享。在我们的实验中,它并没有从基线提高准确性。(III):ASTMT [26]使用三个任务特定模块(即,并行RA[31],挤压和激励块[14]和任务特定BN(TBN)[3])以学习任务特定的功能。ASTMT在四任务设置中对属性和姿势都达到了最高的准确率,但在ReID上显示了50.6%的mAP,比GradSplit低29.5%。由于这种不平衡,整体多任务性能测试结果比GradSplit低8.8%。我们在表2和表3中报告了Grad-Norm [4]的结果。它的目的是通过刺激任务特定梯度来平衡任务损失,GradNorm [4]56.177.768.428.5-23.15218MTAN [21]42.777.486.041.9十四点七7540ASTMT [26]ResNet-50-TBN*50.678.987.043.6-10.68242ResNet-50-BN63.276.378.939.8-11.95218多头基线ResNet-50-TBN*78.177.286.841.8-3.75241ResNet-50-GN79.376.486.142.7-3.35218GradSplit(我们的)ResNet-50-GN80.177.886.443.9-1.85218R50-GN78.081.188.2+0.085单任务R18-GN 76.974.987.039[27]第二十七话72.786.8-4.738NDDR [10] 76.169.386.8-6.242[4]R50-GN74.054.585.1-13.838[21]第二十一话50.085.5-14.038多头R50-GN 75.976.586.3-3.538GradSplit 77.680.286.3-1.3384359层1层2表4. GradSplit分析:1)在更多层上应用Gradsplit的效果;2)随机丢弃掩码的效果; 3)特定于任务的过滤器;以及4)GradSplit τ=inf:每组过滤器仅由其分配的任务丢失更新。层i-j表示在从层i到j的四个层上应用GradSplit。超参数p是DropGrad的下降率[40]。ResNet-18-GN被用作共享主干。方法Pose属性ReID解析平均MA秩-1 mAPmIoU层3第四层多头巴塞尔。84.9 75.5 86.2 64.7 38.0第四层85.4 77.1 89.2 71.4 39.1第三层至第四层85.0 77.1 88.0 68.0 38.3第二层至第四层85.2 77.0 87.4 67.6 38.0第一层至第四层84.6 77.0 87.6 66.9 36.6DropGrad(p=0.50)81.5 74.0 85.8 64.3 36.3DropGrad(p=0.75)81.5 73.9 85.3 63.7 36.8图3.多头基线网络(ResNet-50-GN)不同层中任务特定梯度我们通过计算余弦相似性分数来量化所有任务之间的梯度关系。此图中的冲突频率表示两个任务的梯度具有负相关性的可能性。等星等在我们的设置中,姿势损失的幅度小于其他任务损失的幅度。在多数据集学习设置下,GradNorm未能有效 地处理这种 不平衡,并 且整体准 确率较低MGDA [32]试图找到帕累托最优解,也进行了测试,但总体准确度较低。更多结果请参见补充文件。这些方法考虑了主干中的功能共享在表2和表3中,我们将GradSplit与四种代表性架构进行了比较,包括MTAN [21] , NDDR [10] 和 Cross- stitch [27] 。 Cross-Stitch和NDDR首先训练特定于任务的流,然后微调整个网络,包括交互模块。从经验上讲,这种方法不能跨任务带来有用的信息,也不能提高准确性。MTAN提出的任务特定注意力模块仅在属性上带来了对多头基线的改进,而在其余任务上的准确率较低与这些方法不同,我们的GradSplit始终为多头基线的所有任务带来改进。4.4. 成分分析与讨论梯度冲突的可视化我们通过冲突频率图展示了多头网络中的梯度冲突示例。我们用一批16个样本获得每个任务的梯度。然后,我们量化的任务梯度的关系,通过计算余弦相似性矩阵。我们重复这个过程20次,并报告平均值。我们定义,如果给定任务梯度,梯度的余弦相似性为负,则存在GradSplitτ=inf84.8 76.9 87.6 67.6 38.1[46]实践中。在图3中,我们示出了多头基线的不同层中的第一块处的示例冲突频率图。我们观察到条目中的值偏离0.5的概率。根据任务的成对关系,如果任务彼此竞争,则冲突更频繁地发生例如,我们在第4层中显示ReID哪些模块应用GradSplit表4显示了GradSplit应用于不同图层组合时的结果。结果是在四任务设置上,基线和GradSplit都 使 用 ResNet-18-GN 作 为 骨 干 。 层 i-j 表 示GradSplit被应用于第i层到第j层。例如,图层2-4表示GradSplit应用于图层2、3和4。GradSplit可以缓解梯度冲突问题,但同时通过减少专用过滤器的数量来降低每个任务的模型容量同时,一些共同的特点(例如,低级模式)可以在任务之间共享,并且在用联合损失训练时增强表示能力。在上述两个因素之间存在权衡 。表 4 中 的 结 果 反 映 了 这 一 点 , 显 示 了 仅 将GradSplit应用于第4层时的最高精度。与正则化方法的比较GradSplit可以被理解为一种正则化 方 法 ( 在 第 3.1 节 中 讨 论 ) 。 我 们 将 GradSplit 与DropGrad [40]进行了比较,DropGrad是最初为Meta学习提出的正则化方法。与GradSplit的关键区别在于,它从每个过滤器中随机丢弃梯度,因此过滤器的主要任 务 梯 度 可 以 在 训 练 期 间 变 化 比 较 DropGrad ( p=0.75)和表4中的第4层意味着,基于梯度丢弃的任务间关系来固定任务不可知掩码是重要的。请注意,当设置 p= 0.75 时 , DropGrad 中 丢 弃 的 渐 变 的 比 率 与GradSplit匹配。GradSplit4360τ= inf以获得任务间关系。这就相当于--表5.当VGG-11被用作主干时,用于MPII、市场属性、市场1501和LIP数据集的比较方法采用 AtributeReID解析平均MA秩-1 mAP平均Acc.表7.提高背骨承载力时四种作业的比较.特定于任务的L4在ResNet-50的第3层末端分支出不同的任务头网络,它为每个任务(R50-L4)使用第4层结构。R50-GN+通过向第4层添加更多卷积来增加ResNet-50的方法主干属性ReID姿势解析模板#ParamMA mAP平均mIoU(↑)(男)表6. Market-1501的跨数据集准确性比较R50-GN 78.0 81.1 88.245.6 +0.0123属性在该表中,多任务网络在以下条件下训练:四任务设置请注意,在训练期间不使用Market- 1501的属性注释。我们报告了Market-1501中出现的常见属性的MA评分(%)。方法主干属性(MA)单任务网络ResNet-50-BN 71.5多头基线ResNet-50-GN 74.6ResNet-50-TBN 73.8GradSplit ResNet-50-GN77.5任务间关系的影响我们评估一个极端骨干容量的影响。为了研究这一点,我们在ResNet-50-GN的第4层(表示为R50- GN+)中添加了更多的卷积。我们还报告了每个任务的任务特定层4(记为R50-L4)的结果。如表7所示,对每个任务使用特定于任务的层4不能带来改进。这可能是因为在共享主干中仍然存在任务冲突。此外,DropGrad也不起作用。这进一步表明基于任务间关系的梯度去除是至关重要的。我们 还 观 察 到 多 头 基 线 与 单 任 务 性 能 相 匹 配 ( 平 均 值=+0.1)。我们方法的变体,即,τ=inf ”, which usesGradSplit实现了进一步+1.0%的改进,并在三个任务上表现出单任务的准确性。也可以使用掩码m=IT而不是m,其中IT是大小为T的单位矩阵。简而言之,每组过滤器仅根据其分配的任务丢失进行更新 这种做法潜在地避免了冲突问题,并在表4中的多头基线上实现了一些改进(例如,,1.4%的属性和2.9%的ReID的mAP)。然而,在没有任务间关系的情况下,GradSplitτ=inf不能有效地操纵梯度来学习共享骨干,在所有任务上都除了ResNet- 50和ResNet-18之外,我们还使用VGG-11作 为 主 干 , 并 在 表 5 中 报 告 了 结 果 。 我 们 观 察 到GradSplit在三个任务中比多头基线有所改进,并且与第四个任务(姿势)相当,实现了整体良好的性能。跨数据集分析为了进一步研究多任务学习的效果具体来说,我们报告了Market-1501数据集的属性结果。请注意,Market- 1501用于ReID任务,其属性注释在训练期间不使用。我们在表6中有两个观察结果。首先,多任务学习可以帮助跨数据集测试。与单任务网络相比,所有多任务模型在Market-1501上都获得了更高的MA得分。这意味着多任务模型学习更强大的特征表示。其次,GradSplit算法获得了最高的精度,进一步验证了其有效性.5. 结论我们提出了一个框架来训练一个统一的模型,多个人类相关的任务。当任务需要特定于任务的特征时,它们可能在训练期间与相互冲突的梯度相互竞争,导致整体准确性降低为了解决这个问题,我们提出了一种新的训练方案,称为GradSplit,它使每个任务能够学习其分配的过滤器,而不受其他任务的干扰。此外,Gradsplit使每个特定于任务的过滤器能够选择性地杠杆化所有输入特征,为其分配的任务产生更多信息特征。在实验中,我们在四个与人类相关的任务上广泛测试了GradSplit。我们表明,梯度分裂一贯优于强基线,并实现了更好的准确性和效率的权衡。局限性和未来的工作为了减少任务关系估计的计算开销,研究基于梯度相似性和损失变化的其他策略也是必要的。由于GradSplit是一种适用于人类任务之外的通用方法,我们未来的研究包括扩展到其他应用程序。致谢本工作是Weijian Deng在NEC Labs America实习的一部分这项工作也得到了ARC发现早期职业生涯再发展 奖 ( DE 200101283 ) 和 ARC 发 现 项 目 ( DP210102801)的部分支持。多头巴塞尔。八十三点六71.076.0 50.545.8GradSplit 83.072.678.4 53.346.0特定任务L4R50-L4 76.8 78.2 86.443.5 -2.996DropGrad(p=0.50)77.9 80.2 86.442.2 -2.772多头R50-GN+77.1 80.4 87.846.9 +0.172GradSplit78.2 81.6 87.947.4 +1.172ResNet-50-GN73.0MTAN [21]ResNet-50-GN75.5GradNorm [4]ResNet-50-GN75.5ASTMT [26]ResNet-50-TBN76.54361引用[1] Mykhaylo Andriluka,Leonid Pishchulin,Peter Gehler,and Bernt Schiele. 2D人体姿态估计:新的基准和最先进的 分 析 。 在 Proceedings of the IEEE Conference oncomputer Vision and Pattern Recognition,第3686-3693页[2] Felix JS Bragman,Ryutaro Tanno,Rumtien Ourselin,Daniel C Alexander,and Jorge Cardoso.多任务卷积核的随机滤波器组:学习专家和通才卷积核。在IEEE计算机视觉国际会议论文集,第1385-1394页[3] Woong-Gi Chang、Tackgeun You、Seonguk Seo、SuhaKwak和Bohyung Han。用于无监督域自适应的特定于域的批量归一化。在IEEE计算机视觉和模式识别会议论文集,第7354-7362页[4] Zhao Chen,Vijay Badrinarayanan,Chen-Yu Lee,andAndrew Rabinovich.Gradnorm:梯度归一化,用于深度多任务网络中的自适应损失平衡。国际机器学习会议,第794-803页。PMLR,2018。[5] Zhao Chen , Jiquan Ngiam , Yanping Huang , ThangLuong , Henrik Kretzschmar , Yunning Chai , andDragomir Anguelov.选一个标志:使用梯度符号丢弃优化深度多任务模型。在NeurIPS,2020年。[6] Jia Deng,Wei Dong,Richard Socher,Li-Jia Li,KaiLi,and Li Fei-Fei.Imagenet:一个大规模的分层图像数据库。2009年IEEE计算机视觉和模式识别会议,第248-255页。Ieee,2009年。[7] Piotr Dolla'r , ChristianW ojek , Bern
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功