阅读笔记-Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics
这篇文章主要提出了一种针对于多任务学习中多种损失如何自动调整每个损失权重的方法,文中为了验证自动权重调整的有效性,给出了一种多任务学习模型,同时实现scene segmentation、instance segmentation和depth prediction。
摘要
大量的深度学习任务中包含多个回归和分类目标。本文观察到整个多任务系统的性能与损失函数中每个任务的损失权重息息相关。而手动调节这些权重是件费力的事情,导致多任务学习实际应用中难以推广。本文提出一种多任务学习的基本方法,能够通过考虑每个任务的同方差不确定性来自动调节每个任务损失的权重。该方法使同时学习不同尺度和度量空间的回归和分类任务成为可能。本文在逐像素深度估计、场景和实例分割的联合任务上验证了方法的有效性。更让人惊讶的是,我们发现该模型能够自主学习权重,而且比单独每个任务的性能都好。
介绍
多任务学习的目的是希望通过一个共享模型同时学习多个目标从而提升学习效率和预测精度。多任务学习在计算机视觉、自然语言处理和语音识别领域都有很广泛的应用。
我们(本文作者,下同)以计算机视觉中的视觉场景理解为切入点来探讨多任务学习。场景理解任务需要同时理解场景的几何以及语义信息。场景理解涉及到多种不同单位和尺度的回归和分类问题,形成一种有代表性的多任务学习问题。对于像场景理解这种应用在机器人系统中时对速度要求很高,因此多任务学习就很有必要。多个任务集成在单一模型能能够减轻计算从而达到实时运行。
之前大多数多任务学习采用朴素的损失加权和,这些权重相等或者手工调节。但我们证明了模型性能与每个任务损失权重的选择息息相关。人工去选择最优的参数耗时耗力。我们还注意到每个任务的最优权重与度量尺度以及最终任务的噪声量级有关。
本文提出一种利用同方差不确定性同时学习多个目标的方法。我们将同方差不确定性解释为任务依赖权重并证明了如何推到联合的多任务损失,能够自动学习到如何平衡回归和分类损失的权重。我们方法能够学到一个最有的权重,相对于单独每个人的性能都更好。
具体而言,我们在场景的几何和语义学习问题的三个任务中证明了方法的有效性。首先我们需要学习像素水平的目标分类,即场景分割;其次,我们还进行了实例分割,该任务需要对图像中的每一个个体都产生一个独立的掩码。该任务比场景分割更难,因为她不仅需要估计每一个像素的类别还需要估计该像素属于哪一个个体。同时他也比目标检测更难,目标检测只需预测目标的标定框。最后,我们模型还会预测每个像素的深度。密集深度网络已经被证明可以用于有监督或无监督的深度识别,但是得到一种泛化性很好的深度估计网络却很难。本文通过语义标签和多任务学习能够提升每个人物的性能。
在已有的文中,深度回归,场景分割和实例分割一般都是通过单独的网络实现然后组成一个场景理解的系统。给定一张图像,我们的系统是第一个能够同时产生场景分割、深度密集估计和实例分割结果的方法。尽管其他视觉模型也会用到多任务学习,我们展示了如何同时学习场景和几何信息。将这三个任务结合起来既能减轻计算量又能保证每个任务的输出一致性。最后我们展示了通过多任务的共享表示能够提升多个指标性能,使得模型更加有效。
文章共享点:
- 全新且重要的多任务学习方法,利用同方差不确定性同时学习多种不同度量和尺度的分类和回归问题。
- 场景分割、实例分割和深度回归的联合框架
- 证明了多任务学习中权重的重要性,以及如何去获得更好的性能。
同方差不确定性的多任务学习
多任务学习关系的问题是如何优化包含多个目标的模型。最朴素的方法是对每个损失进行线性加权:
该方法是目前的主流方法,但是有一个问题存在。首先如图2所示,性能对于权重的选择比较敏感。这些权重超参经常需要花费大把时间去调试。因此需要找到一个更方便的方法找到最优的参数。
更详细而言,我们假设一个网络去预测输入图像中每一个像素的场景类别以及深度。在图2中,每个图的两个边界表示单独训练每个人物,其曲线表示每个任务的性能随着权重$w$的变化。可以发现在一些最优的权重下,联合网络比单独训练效果更好。单独训练如图中边界所示。在最优值附近时往往有一些任务性能变差。然后大量任务中寻找最优的权重参数都是费时费力的。图2中同样的给出了回归任务中的相似结果。
同方差不确定性作为任务依赖不确定性
在贝叶斯建模中,一般有两种主要类型的不确定性可以建模
- 认知不确定性。即训练数据不足导致模型能力的不确定性,一般可以通过增加的训练数据缓解
- 偶然不确定性。已有的数据不能解释的一些信息带来的不确定性。通过所有变量的精度提升能够缓解
偶然不确定性可以再分为两个子类:
- 数据依赖不确定性,即异方差不确定性,该不确定性取决于数据数据,由模型输出表示
- 任务依赖不确定性,即同方差不确定性,这种不确定性针对于不同的数据是相同的,但是不同的任务是不同的,因此也被描述为任务依赖不确定性。
注:一般构建模型后,对于任意样本模型输出和最理想的输出都是有差距的,而这种差距称为数据依赖的不确定性。而任务依赖不确定性是指每个任务中数据不确定性是差不多的,但不同的任务之间可能存在不同。
在多任务场景中,任务不确定性刻画了任务之间相对的可信度,反映了回归和分类任务中内在的不确定性。同样任务依赖不确定性也与任务的表示和度量单位有关。我们提出可以使用同方差不确定性作为多任务学习中加权不同损失的基础。
多任务的似然
本节通过最大化具有同方差不确定性的高斯似然来推导多任务损失函数。使用$f^W(x)$表示神经网络的输出,定义如下的概率模型。对于回归任务可以将似然函数定义为以输出为均值的高斯分布:
对于分类任务,一般将网络的输出经过一个softmax函数压缩一下,然后从概率向量中进行采样:
针对于多个模型输出,我们一般将各个输出因子化,于是得到下面的多任务似然函数:
在最大化似然函数的过程中,我们最大化对数似然函数。比如回归问题:
本文作者 : zhouzongwei
原文链接 : http://yoursite.com/2019/12/03/MultiTaskLearning/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
知识 & 情怀 | 赏或者不赏,我都在这,不声不响