论文地址:https://arxiv.org/abs/2004.13379
bib引用:
@article{Vandenhende_2021,
title={Multi-Task Learning for Dense Prediction Tasks: A Survey},
ISSN={1939-3539},
url={http://dx.doi.org/10.1109/TPAMI.2021.3054719},
DOI={10.1109/tpami.2021.3054719},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
publisher={Institute of Electrical and Electronics Engineers (IEEE)},
author={Vandenhende, Simon and Georgoulis, Stamatios and Van Gansbeke, Wouter and Proesmans, Marc and Dai, Dengxin and Van Gool, Luc},
year={2021},
pages={1–1} }
实验数据集:NYUD-v2[73](795Train+654Test)和PASCAL[74](10581Train+1449Test)
现代架构总结:以编码器为核心的;以解码器为核心的
方法总结:
- Uncertainty Weighting:基于同方差不确定性【与任务本身相关且与输入样本无关的噪声】,动态调整各任务的权重。
- GradNorm:通过任务的梯度幅度来调整任务的权重。优势——平衡任务的学习速度,同时避免由于任务梯度差异过大导致的训练失衡问题。
- DWA(Dynamic Weight Averaging):基于任务损失下降速度的相对变化来动态调整权重
- DTP(Dynamic Task Prioritization):通过动态调整不同任务的权重,将更多的精力分配给学习“困难”任务。方法的核心思想是根据任务的难度调整权重,但不同于通过损失值直接衡量任务难度的传统方法(例如 GradNorm),DTP 利用关键性能指标(Key Performance Indicators, KPIs)来更准确和直观地度量任务的难易程度。
- MGDA(multiple gradient descent algorithm):通过在特定任务梯度中找到共同方向来更新共享网络权重,只要有共同方向能使特定任务损失降低,就还未达到帕累托最优点。这种方法的优点是在权重更新步骤中避免了冲突梯度。
- (Lin 等人观察到 MGDA 只能找到众多帕累托最优解中的一个,且不能保证得到的解满足用户需求,于是将 MGDA 进行了推广以生成一组具有代表性的帕累托解,以便从中选择一个首选解。但目前该方法仅应用于小规模数据集(如 Multi-MNIST)。)
一些结论:
- 多任务学习相对于单任务学习有几个优势,即更小的内存占用、更少的计算量和更好的性能。然而,很少有模型能够完全发挥这种潜力。
- 当任务之间存在较强关联时,MTL能够更好地利用任务间的共享信息,提升模型对相关任务的综合处理能力。
- 在任务相关性高且字典规模适中的情况下MTL效果较好,而在任务字典庞大且多样化时MTL面临较大挑战
- 以解码器为核心的架构在多任务性能上通常优于encoder based architecture
- MTL架构的有效性 > 任务平衡策略的有效性
摘要
With the advent of deep learning, many dense prediction tasks, i.e. tasks that produce pixel-level predictions, have seen significant performance improvements. The typical approach is to learn these tasks in isolation, that is, a separate neural network is trained for each individual task. Yet, recent multi-task learning (MTL) techniques have shown promising results w.r.t. performance, computations and/or memory footprint, by jointly tackling multiple tasks through a learned shared representation. In this survey, we provide a well-rounded view on state-of-the-art deep learning approaches for MTL in computer vision, explicitly emphasizing on dense prediction tasks. Our contributions concern the following. First, we consider MTL from a network architecture point-of-view. We include an extensive overview and discuss the advantages/disadvantages of recent popular MTL models. Second, we examine various optimization methods to tackle the joint learning of multiple tasks. We summarize the qualitative elements of these works and explore their commonalities and differences. Finally, we provide an extensive experimental evaluation across a variety of dense prediction benchmarks to examine the pros and cons of the different methods, including both architectural and optimization based strategies.
随着深度学习的出现,许多密集预测任务,即产生像素级预测的任务,已经看到了显着的性能改进。典型的方法是孤立地学习这些任务,即为每个单独的任务训练一个单独的神经网络。然而,最近的多任务学习(MTL)技术通过学习的共享表示联合处理多个任务,在性能、计算和/或内存占用方面显示出有希望的结果。在本次调查中,我们全面介绍了计算机视觉中MTL的最先进深度学习方法,明确强调密集预测任务。我们的贡献涉及以下方面。首先,我们从网络架构的角度考虑MTL。我们包括广泛的概述并讨论了最近流行的MTL模型的优点/缺点。其次,我们研究了各种优化方法来解决多个任务的联合学习问题。我们总结了这些工作的定性元素,并探索了它们的共性和差异。最后,我们在各种密集的预测基准中提供了广泛的实验评估,以检查不同方法的优缺点,包括架构和基于优化的策略。
Introduction
- 多任务学习:旨在通过共享任务间的表示来提高每个任务的泛化能力。在深度学习时代,MTL转化为设计能够处理多个相关任务的训练信号的网络架构。
- 综述范围:本综述专注于密集预测任务的多任务学习,通过神经网络架构进行。涵盖了多任务学习中的多任务共享表示,包括跨任务的卷积层、池化层和全连接层等。研究了不同方法的优缺点,进行了详尽的文献综述,并讨论了各种基准测试,以衡量不同方法的优缺点,包括基于架构和基于优化的策略。
- 动机:大量关于MTL的文献相当零散。本文对深度多任务架构进行了系统回顾,旨在对不同的MTL方法进行全面比较,研究其在密集预测任务中的性能和优缺点。同时,解决场景理解中像素级任务常具有相似特征和结构的问题,利用MTL来平衡任务对网络权重更新的影响。
- 相关工作:不同的研究小组对MTL进行了综述,如Crawan等对MTL中的任务选择进行了综述,Peng等对基于优化的MTL方法进行了综述。但这些综述没有对密集预测任务给予足够关注。
- Paper overview:论文首先介绍了MTL的历史概述和分类,包括非深度学习和深度学习方法。接着,在深度多任务架构部分,分析了不同组的工作,并对每种架构进行了详细介绍。随后,在优化策略部分,回顾了相关技术和方法。最后,讨论了MTL与其他领域的关系,并总结了论文内容。
2. Deep Multi-Task Architectures
2.1 Historical Overview and Taxonomy【图2】
在深度学习时代之前,MTL works试图对任务之间的公共信息进行建模,希望联合任务学习能够带来更好的泛化性能。为了实现这一点,他们在任务参数空间上放置了假设,例如:任务参数应该彼此靠近,w. r.t.一些距离度量[38]、[39]、[40]、[41],共享一个共同的概率先验[42]、[43]、[44]、[45]、[46],或者驻留在低维子空间[47]、[48]、[49]或流形[50]中。当所有任务都相关时,这些假设效果很好[38]、[47]、[51]、[52],但如果信息共享发生在不相关的任务之间,则可能导致性能下降。后者是MTL中的一个已知问题,称为负迁移。为了缓解这个问题,其中一些作品选择根据先前对其相似性或相关性的信念将任务分组。
2.2. 以编码器为核心的架构
以编码器为中心的架构(参见图3a)在编码阶段共享任务特征,然后使用一组独立的特定任务头处理它们。许多作品[19]、[20]、[22]、[53]、[54]遵循临时策略,通过与小型特定任务头(参见图2a)共享现成的骨干网络。该模型依赖于编码器(即骨干网络)来学习场景的通用表示。然后,特定任务头使用编码器的特征来获得每个任务的预测。虽然这个简单的模型在所有任务中共享完整的编码器,但最近的作品考虑了特征共享应该在编码器中的位置和方式。我们将在以下部分讨论这种共享策略。
2.3 以解码器为核心的架构
第2.2节中以编码器为中心的架构遵循一个共同的模式:它们在一个处理周期中直接预测来自同一输入的所有任务输出(即所有预测都以并行或顺序生成一次,之后不进行细化)。通过这样做,它们无法捕捉任务之间的共性和差异,这些共性和差异可能对彼此都有成效(例如深度不连续性通常与语义边缘对齐)。可以说,这可能是以编码器为中心的MTL方法仅实现适度性能改进的原因(参见第4.3.1节)。为了缓解这个问题,最近的一些工作首先使用多任务网络进行初始任务预测,然后利用这些初始预测的特征以一次性或递归的方式进一步改进每个任务输出。由于这些MTL方法在解码阶段也共享或交换信息,我们将它们称为以解码器为中心的架构(参见图3b)。
3. Optimization in MTL
- Task Balancing 的定义:在多任务学习中,使各个任务在网络权重的学习过程中不会出现某个或某些任务占据主导地位的情况,通过一些方法实现所有任务在联合学习中的合理分配和平衡。
3.1. 任务平衡的方法
具体探讨如何在优化过程中平衡多个任务的影响,以及任务间梯度冲突的问题:
-
多任务学习中的优化目标:在多任务学习中,优化目标是所有任务的损失函数的加权和:
LMTL=∑iwi⋅Li, L_{MTL} = \sum_{i} w_i \cdot L_i, LMTL=i∑wi⋅Li, 其中:LiL_iLi :第 i 个任务的损失。wiw_iwi:第 i个任务的权重,用于平衡不同任务的贡献。 -
梯度更新规则:使用随机梯度下降(SGD)优化时,共享层的权重 ( W_{sh} ) 的更新规则为:
Wsh←Wsh−γ∑iwi∂Li∂Wsh, W_{sh} \leftarrow W_{sh} - \gamma \sum_i w_i \frac{\partial L_i}{\partial W_{sh}}, Wsh←Wsh−γi∑wi∂Wsh∂Li, 其中:γ\gammaγ:学习率。∂Li∂Wsh\frac{\partial L_i}{\partial W_{sh}}∂Wsh∂Li:任务 (i) 对共享权重的梯度。 -
梯度冲突问题:从上述公式可以得出以下结论:
- 梯度冲突会导致训练效果次优:
- 当多个任务的梯度方向不一致(即出现冲突),或某个任务的梯度幅度远大于其他任务时,权重的更新可能会偏向某个任务,导致其他任务的优化变差。
- 任务平衡的必要性:
- 为解决上述问题,研究人员提出了各种方法来平衡梯度的影响:
- 调整任务权重 wiw_iwi:通过设置不同的权重,平衡各任务的梯度幅度。
- 方向调整:考虑梯度方向的影响,避免梯度冲突。
- 为解决上述问题,研究人员提出了各种方法来平衡梯度的影响:
- 梯度冲突会导致训练效果次优:
-
任务权重的调整方式:① 间接调整任务权重:通过改变损失函数中的任务特定权重wiw_iwi,平衡不同任务的梯度大小。②直接操作梯度:对任务的梯度∂Li∂Wsh\frac{\partial L_i}{\partial W_{sh}}∂Wsh∂Li进行操作(如剪裁或规范化),以控制其对权重更新的影响。
-
研究方向(解决梯度冲突问题): 1. 平衡梯度幅度:通过任务权重或梯度操作,避免某个任务在优化中占主导地位。 2. 考虑梯度方向:调整梯度方向以减少冲突,提高多任务学习的优化效果。
总结:在优化过程中,由于任务间梯度冲突或不平衡,可能导致模型训练次优。为了解决这个问题,可以通过调整任务权重或直接操作任务梯度,以平衡任务对共享权重的贡献。
3.1.1 Uncertainty Weighting 【同方差不确定性】
同方差不确定性(Homoscedastic Uncertainty):
与任务本身相关且与输入样本无关的噪声,动态调整各任务的权重。
方法:通过最大化高斯似然构建目标函数,模型在训练时同时优化网络权重W和任务的不确定性参数 σ1\sigma_1σ1, σ2\sigma_2σ2。目标函数包括每个任务的损失经过 σi\sigma_iσi 调整的加权项,以及一个正则化项 logσ1σ2\log\sigma_1\sigma_2logσ1σ2。其中,噪声大的任务对应的 σi\sigma_iσi 较大,从而降低其权重,反之,噪声小的任务权重较高。通过训练,这种方法在不需要手动设置任务权重的情况下,能够自动平衡任务的重要性,尤其在处理噪声较大的任务时表现出优势,同时也可以扩展到多个任务的场景。
3.1.2 Gradient Normalization
核心思想:通过调整任务的权重 wi(t)w_i(t)wi(t),使每个任务的梯度幅度(梯度的 L2 范数)达到相似的规模,从而避免某些任务主导优化或学习速度失衡的问题。
具体来说,GradNorm 的目标是让所有任务在相同的步伐上学习。
- 首先,任务的梯度幅度 GiW(t)G_i^W(t)GiW(t) 被定义为第 iii 个任务的加权损失对共享网络权重 WWW 的梯度的 L2 范数。
- 然后,计算所有任务的平均梯度幅度 GW(t)G^W(t)GW(t),以及任务的相对逆训练速率 ri(t)r_i(t)ri(t),其中 ri(t)r_i(t)ri(t) 是任务当前损失与初始损失的比例。这个 ri(t)r_i(t)ri(t) 用于衡量任务的学习进展:如果某个任务的损失下降较慢,则 ri(t)r_i(t)ri(t) 会较大,表示该任务需要更快地训练。
- GradNorm 的优化目标是最小化以下损失:
∣GiW(t)−GW(t)⋅ri(t)∣, \left| G_i^W(t) - G^W(t) \cdot r_i(t) \right|, GiW(t)−GW(t)⋅ri(t),其中,GW(t)⋅ri(t)G^W(t) \cdot r_i(t)GW(t)⋅ri(t) 表示每个任务的目标梯度幅度。通过最小化这个损失,GradNorm 将那些学习进展较慢的任务的梯度幅度 GiW(t)G_i^W(t)GiW(t) 增大,从而加快这些任务的学习速度。
在实际训练中,GradNorm 通过调整任务权重 wi(t)w_i(t)wi(t) 来实现这一目标。每次更新都需要反向传播计算任务的梯度幅度,并通过优化公式调整权重,使任务的梯度幅度与目标梯度幅度一致。权重在每次迭代中被重新归一化,以确保学习率对所有任务保持一致。
和基于不确定性的加权方法不同,GradNorm不依赖于任务的不确定性,而是直接通过任务的梯度幅度来调整任务的权重。优势在于,它可以平衡任务的学习速度,同时避免由于任务梯度差异过大导致的训练失衡问题。
3.1.3 Dynamic Weight Averaging动态权重平衡
目的:通过动态调整任务权重来平衡任务的学习速度,避免某些任务主导优化过程或学习过慢。
背景:类似于 GradNorm 方法,DWA 旨在动态调整每个任务的权重wiw_iwi,以平衡多任务的学习速度。然而,与 GradNorm 不同的是:DWA 只需要访问任务特定的损失值 LnL_nLn,而无需计算任务的梯度,因此避免了在训练时为每个任务单独计算反向传播梯度的开销。
-
动态权重的计算:在 DWA 中,第 t 个训练步骤的任务权重 wi(t)w_i(t)wi(t) 计算如下:wi(t)=N⋅exp(ri(t−1)/T)∑nexp(rn(t−1)/T), w_i(t) = \frac{N \cdot \exp\left(r_i(t-1)/T\right)}{\sum_n \exp\left(r_n(t-1)/T\right)}, wi(t)=∑nexp(rn(t−1)/T)N⋅exp(ri(t−1)/T),其中:NNN任务总数。TTT:温度参数,用于控制权重分布的平滑程度。rn(t−1)r_n(t-1)rn(t−1):表示任务 n 在损失值下降速率上的相对变化程度,计算公式为: rn(t−1)=Ln(t−1)Ln(t−2). r_n(t-1) = \frac{L_n(t-1)}{L_n(t-2)}. rn(t−1)=Ln(t−2)Ln(t−1).其中rn(t−1)r_n(t-1)rn(t−1):衡量任务 n 的损失下降速度。如果某个任务的损失下降较慢,则rn(t−1)r_n(t-1)rn(t−1)较小,导致该任务的权重wi(t)w_i(t)wi(t)较大,从而更多地关注这个任务。
软化操作:通过 Softmax 和温度 T 调整不同任务权重之间的差异,确保权重分布不过于极端。 -
动态调整逻辑
DWA 利用任务损失下降速度的相对变化来动态调整权重:
如果某个任务的损失下降速度较慢(即难以优化或学习较慢),则增加该任务的权重。
如果任务的损失下降较快,则减少其权重。
这样可以平衡任务的学习速度,避免某些任务主导训练。 -
优势
无需梯度信息:DWA 只依赖于损失值LnL_nLn,避免了额外的反向传播计算成本。
动态调整权重:任务权重会随着训练动态变化,适应不同任务的学习难度。
解决失衡问题:通过关注损失下降速度较慢的任务,DWA 能平衡任务的重要性,防止某些任务被忽视。 -
与 GradNorm 的对比
GradNorm:要求计算任务梯度的大小,并调整权重以平衡梯度幅度。
DWA:仅基于任务损失的动态变化进行权重调整,计算更高效。 -
局限性
DWA 的权重调整完全依赖于损失下降速度,而不直接考虑任务的最终目标或相对重要性。
如果任务损失下降速度不准确地反映任务的优化状态(如损失曲线较为复杂时),可能会影响权重的合理性。
【总结】
DWA 方法:通过任务损失下降速度动态调整任务权重,以平衡多任务学习的学习速度。
主要优点:只依赖损失值,计算效率高,避免了梯度计算的开销。
适用场景:适合需要动态调整任务平衡且计算资源有限的多任务学习问题。
3.1.4 Dynamic Task Prioritization动态任务优先级DTP【关键性能指标KPIs】
动态任务优先级(Dynamic Task Prioritization, DTP)[21]旨在通过动态调整不同任务的权重,将更多的精力分配给学习“困难”任务。方法的核心思想是根据任务的难度调整权重,但不同于通过损失值直接衡量任务难度的传统方法(例如 GradNorm),DTP 利用关键性能指标(Key Performance Indicators, KPIs)来更准确和直观地度量任务的难易程度。
DTP 的设计目标是避免直接依赖损失值,因为损失值容易受到初始化和训练噪声的影响,可能无法完全反映任务的实际进展或难度,因此引入了 KPIs 来量化任务的难度。KPIs 的选择根据任务类型而定,例如分类任务可以使用准确率,回归任务可以使用预测误差。KPIs 被归一化到 ( [0, 1] ) 的范围内,其中值越高表明任务越“简单”。
为了动态调整任务权重,DTP 定义了一个任务级别的权重调整参数γi\gamma_iγi,并通过以下公式设置任务的权重:wi(t)=−(1−κi(t))γilogκi(t), w_i(t) = -(1 - \kappa_i(t))^{\gamma_i} \log \kappa_i(t), wi(t)=−(1−κi(t))γilogκi(t),其中κi(t)\kappa_i(t)κi(t)是任务iii的 KPI 值,γi\gamma_iγi控制对简单任务或困难任务的权重调整程度。当κi(t)\kappa_i(t)κi(t)较大时(即任务更简单),权重wi(t)w_i(t)wi(t)会降低,从而减少对简单任务的关注。
DTP 采用了一种类似 focal loss 的策略,通过降低“简单任务”的权重,优先优化困难任务。然而,DTP 的实现仍然需要仔细选择 KPIs 和相关阈值,以确保任务权重能够合理反映任务的难度。此外,与动态权重平均(DWA)类似,DTP 需要在优化过程前平衡任务的总体损失值。而且,由于公式本身没有直接考虑损失幅度,DTP 仍然需要手动调整任务的初始权重,因此在实际应用中可能需要一定的调试。
3.1.5 MTL as Multi-Objective Optimization
多任务优化目标中的全局最优解难以找到的问题,以及一些解决方法:
- 多任务优化目标中全局最优解难找是因为问题的复杂性,某个选择可能提升一个任务的性能却导致另一个任务性能下降。
- 之前讨论的任务平衡方法通过根据一些启发式方法设置损失中的任务特定权重来解决这个问题。
- Sener 和 Koltun 将多任务学习视为多目标优化问题,目标是找到所有任务中的帕累托最优解。当满足任一任务的损失可以在不增加其他任务损失的情况下降低时,就找到了帕累托最优解。
- [22]中提出了一种多梯度下降算法(MGDA)来找到帕累托平稳点,通过在任务特定梯度中找到共同方向来更新共享网络权重。只要存在一个共同方向可以使任务特定损失降低,就还未达到帕累托最优点。该方法的优点是在权重更新步骤中避免了冲突梯度。
- Lin 等人观察到 MGDA 只能找到众多帕累托最优解中的一个,而且不能保证得到的解满足用户需求。为解决这个问题,他们将 MGDA 进行了推广,以生成一组具有代表性的帕累托解,从中可以选择一个首选解。但到目前为止,该方法仅应用于小规模数据集(例如 Multi-MNIST)。
3.1.6 Discussion
在第 3.1 节中,描述了在训练多任务网络时平衡每个任务影响的几种方法。
表 1 提供了对这些方法的定性比较。
- 这些方法之间的差异,例如不确定性加权给“容易”的任务分配更高的权重,而 DTP 则相反。后者可归因于对应的工作中使用不同的数据集或任务字典对不同任务平衡策略进行的实验评估。本文认为应该针对每种情况单独确定适当的任务平衡策略。
- 这些方法之间的共性,例如不确定性加权、GradNorm 和 MGDA 选择平衡损失幅度作为其学习策略的一部分。在第 4.4 节中,在更常见的数据集或任务字典下进行了广泛的消融研究,以验证哪些任务平衡策略对提高多任务性能最有用,以及在何种情况下有用。
- 三是许多方法(例如 DWA、DTP)仍然需要仔细手动调整初始超参数,这在处理大量任务时可能会限制其适用性。
表1:任务平衡技术之间的定性比较。首先,我们考虑一种方法是否平衡了损失幅度(Balance Magnitudes)和/或学习任务的速度(Balance Learning)。其次,我们展示了在训练阶段优先考虑哪些任务。第三,我们展示了该方法是否需要访问特定于任务的梯度(要求的梯度)。第四,我们考虑任务梯度是否强制为非冲突的(非竞争梯度)。最后,我们考虑所提出的方法是否需要额外的调整,例如手动选择权重、KPI等(无额外调整)。有关每种技术的详细描述,请参阅第3节。
3.2. 其他方法
3.1 节中的任务平衡方法可应用于大多数现有多任务架构以调节任务学习,还有其他一些方法也尝试调节多任务网络的训练,部分概念可与任务平衡策略结合。如 Zhao 等人发现方向相反的梯度任务会导致梯度的破坏性干扰并提出添加调制单元;Liu 等人考虑特定多任务架构将特征空间分为共享和特定任务部分,采用对抗方法避免特定任务特征进入共享表示;Chen 等人提出梯度符号丢弃,一种可插入具有多个梯度信号网络的模块化层;Sanh 等人通过随机采样单个任务进行权重更新;Raffel 等人使用温度缩放平衡任务,且这两种方法目前仅在自然语言处理的背景下使用。
4.实验
-
PASCAL 数据集[74]是密集预测任务的流行基准。使用来自PASCALContext[75]的划分,它具有语义分割、人体部位分割和语义边缘检测的标注。此外,考虑表面法线预测和显著度检测任务。标注由[18]使用预训练的最先进模型[76]、[77]提炼得到。最优数据集 F 值(odsF)[78]用于评估边缘检测任务。语义分割、显著度估计和人体部位分割任务使用平均交并比(mIoU)进行评估。使用预测角度的平均误差(mErr)来评估表面法线。
-
NYUD-v2 数据集[73]考虑室内场景理解。该数据集包含 795 张训练图像和 654 张测试图像,带有语义分割和单目深度估计的标注。其他工作也在NYUD-v2 数据集上考虑了表面法线预测[13]、[14]、[18]和语义边缘检测[13]、[18]。这些任务的标注可以直接从语义和深度真实值中推导出来。在这项工作中,专注于语义分割和深度估计任务。分别使用平均交并比(mIoU)和均方根误差(rmse)来评估语义分割和深度估计任务。
4.1. 实验设置
超参数设置:表4
4.2.Overview
单任务 VS 多任务
多任务学习相对于单任务学习有几个优势,即更小的内存占用、更少的计算量和更好的性能。然而,很少有模型能够完全发挥这种潜力。例如,JTRL 在 NYUD-v2 上提高了分割和深度估计任务的性能,但需要更多资源。不同的是,在 PASCAL 上使用 MTL 基线时处理更高效,但性能也下降了。MTI-Net 是这条规则的一个例外。特别是,除了基线任务外,所有任务的性能都有所提高,而计算开销是有限的。注意,在这种特定情况下,参数和 FLOPS 的相对增加可归因于使用了一个浅层骨干网络。
Influence of Task Dictionary. 任务字典(即任务的规模和多样性)对多任务学习(MTL)模型性能的影响
- 关于NYUD-v2数据集
- 任务及关联性:在NYUD-v2数据集上,考虑了语义分割和深度估计这两个任务。这两个任务是强相关的,因为它们都能揭示场景的相似特征,例如场景布局、物体形状或边界等。例如,语义分割可以识别出场景中不同物体的类别区域,而深度估计能够确定这些物体在空间中的远近关系,两者结合起来能更全面地理解场景的三维结构。
- MTL策略的有效性:多任务学习(MTL)在联合处理NYUD-v2上的语义分割和深度估计任务时被证明是一种有效的策略。大多数MTL模型的表现优于单独针对每个任务训练的单任务网络集合(见表5a)。
表明当任务之间存在较强关联时,MTL能够更好地利用任务间的共享信息,提升模型对相关任务的综合处理能力。并且,这种MTL在处理其他成对的、相关性较高的任务时也表现出类似的优势,如深度和光流估计、检测和分类、检测和分割等任务组合。
- 关于PASCAL数据集
- 任务字典特点:与NYUD-v2不同,PASCAL数据集包含了一个更大且更多样化的任务字典。这意味着在PASCAL上,模型需要同时处理更多种类、差异更大的任务。
- MTL策略的挑战:然而,在PASCAL数据集上,大多数现有的MTL模型未能超过其单任务对应模型的表现(见表5b)。例如,一些侧重于编码器的MTL方法,其性能提升往往仅限于少数几个孤立的任务,而对于其他任务则出现了性能下降的情况。说明在面对一个庞大且多样化的任务字典时,联合处理这些任务变得非常具有挑战性,这一观点也得到了其他研究(如[10]、[18])的注意和认同。
【总结】在任务相关性高且字典规模适中的情况下MTL效果较好,而在任务字典庞大且多样化时MTL面临较大挑战。
Architecture vs Optimization.
【MTL架构的有效性 > 任务平衡策略的有效性】
设计更好的MTL架构与使用更好的任务平衡策略的效果进行了比较(参见表5a-5bvs 5c-5d)。发现使用更好的MTL架构通常更有助于提高MTL的性能。先前的工作[8]、[18]也做出了类似的观察。
Encoder- vs Decoder-Focused Models. 以编码器为主的模型 VS 以解码器为主的模型
-
模型比较与总体表现
- 比较场景:在NYUD-v2和PASCAL这两个数据集上,通过表格5a和5b对编码器聚焦模型和解码器聚焦模型进行了对比。
- 性能差异:总体来看,解码器聚焦架构在多任务性能上通常优于编码器聚焦架构。
-
架构特点与目的
- 编码器聚焦架构:
- 目的:旨在通过在编码过程中共享信息,学习到更丰富的图像特征表示。
- 信息共享位置:任务间的信息共享发生在编码器的中间层。
- 解码器聚焦架构:
- 目的:专注于通过跨任务交互反复精炼预测,来提升密集预测任务的性能。
- 交互位置及优势:跨任务交互发生在网络输出附近,这使得能够更好地对齐常见的跨任务模式,从而极大地提升性能。
- 编码器聚焦架构:
-
具体模型分析(以NYUDv2数据集为例)
- 性能与计算量:
- 性能:使用相同ResNet-50骨干网络的解码器聚焦模型,在性能上表现更好。
- 计算量(FLOPS):解码器聚焦模型消耗了大量的FLOPS,这是因为它们需要在高分辨率尺度上反复预测任务输出。
- 内存占用:除了JTRL模型外,解码器聚焦模型的内存占用比编码器聚焦模型要小。作者认为解码器聚焦方法在参数化任务交互方面更加高效。
- 解码器聚焦模型的高效性体现:在最终层之前的任务特征会根据输出任务的结构进行解耦,这样就能通过少量的滤波操作提取出相关的跨任务模式。
- 编码器聚焦模型的不同之处:任务在编码器的中间层共享信息,与解码器聚焦模型的情况有所区别。
- 性能与计算量:
4.5.局限性
- Joint architecture and optimization exploration. 目前架构和优化策略是相互独立研究的,但两者设计空间的交互作用可以进一步研究,以在联合架构-优化器空间层面构建 MTL 系统。
- Influence data. 任务和训练样本在优化中起着重要作用,例如不确定性加权在具有较高同方差不确定性的任务中效果良好,分析数据的哪些属性对 MTL 设置最重要很有用,可用于根据特定设置调整优化方案。
- 超参数鲁棒性,性能表现表明结果强烈依赖于所用的超参数,一些 MTL 算法在超参数设置变化时比其他算法更具鲁棒性,这种行为可以进一步研究。
6. 结论
In this paper, we reviewed recent methods for MTL within the scope of deep neural networks. First, we presented an extensive overview of both architectural and optimization based strategies for MTL. For each method, we described its key aspects, discussed the commonalities and differences with related works, and presented the possible advantages or disadvantages. Finally, we conducted an extensive experimental analysis of the described methods that led us to several key findings. We summarize some of our conclusions below, and present some possibilities for future work. First, the performance of MTL strongly varies depending on the task dictionary. Its size, task types, label sources, etc., all affect the final outcome. As a result, an appropriate architecture and optimization strategy should better be selected on a per case basis. Although we provided concrete observations as to why some methods work better for specific setups, MTL could generally benefit from a deeper theoretical understanding to maximize the expected gains in every case. For example, these gains seem dependent on a plurality of factors, e.g. amount of data, task relationships, noise, etc. Future work should try to isolate and analyze the influence of these different elements. Second, when it comes to tackling multiple dense prediction tasks using a single MTL model, decoder-focused architectures currently offer more advantages in terms of multi-task performance, and with limited computational overhead compared to the encoder-focused ones. As explained, this is due to an alignment of common cross-task patterns that decoder-focused architectures promote, which naturally fits well with dense prediction tasks. Encoderfocused architectures still offer certain advantages within the dense prediction task setting, but their inherent layer sharing seems better fitted to tackle multiple classification tasks. Finally, we analyzed multiple task balancing strategies, and isolated the elements that are most effective for balancing task learning, e.g. down-weighing noisy tasks, balancing task gradients, etc. Yet, many optimization aspects still remain poorly understood. For example, opposed to recent works, our analysis indicates that avoiding gradient competition between tasks can hurt performance. Furthermore, our study revealed that some task balancing strategies still suffer from shortcomings, and highlighted several discrepancies between existing methods. We hope that this work stimulates further research efforts into this problem.
在本文中,我们回顾了深度神经网络范围内多任务学习(MTL)的近期方法。首先,我们对基于架构和优化的 MTL 策略进行了广泛概述。对于每种方法,我们描述了其关键方面,讨论了与相关工作的共性和差异,并介绍了可能的优点或缺点。最后,我们对所描述的方法进行了广泛的实验分析,得出了几个关键发现。我们在下面总结了一些结论,并提出了未来工作的一些可能性。首先,MTL 的性能很大程度上取决于任务字典。其大小、任务类型、标签来源等都会影响最终结果。因此,最好根据具体情况选择合适的架构和优化策略。虽然我们对为什么某些方法在特定设置下效果更好提供了具体观察,但 MTL 通常可以从更深入的理论理解中受益,以在每种情况下最大化预期收益。例如,这些收益似乎取决于多个因素,例如数据量、任务关系、噪声等。未来的工作应该尝试分离并分析这些不同因素的影响。其次,当涉及使用单个 MTL 模型处理多个密集预测任务时,与基于编码器的架构相比,以解码器为中心的架构目前在多任务性能方面提供了更多优势,并且计算开销有限。如前所述,这是由于以解码器为中心的架构促进的常见跨任务模式的对齐,这自然非常适合密集预测任务。以编码器为中心的架构在密集预测任务设置中仍然提供某些优势,但它们固有的层共享似乎更适合处理多个分类任务。最后,我们分析了多种任务平衡策略,并分离出了对平衡任务学习最有效的元素,例如降低噪声任务的权重、平衡任务梯度等。然而,许多优化方面仍然知之甚少。例如,与最近的工作相反,我们的分析表明,避免任务之间的梯度竞争可能会损害性能。此外,我们的研究表明,一些任务平衡策略仍然存在缺点,并突出了现有方法之间的一些差异。我们希望这项工作能激发对这个问题的进一步研究努力。