Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics

目录

摘要

1 引言

2 相关工作

3. 结合同方差不确定性的multi-task learning

3.1 同方差不确定性作为任务依赖不确定性 

3.2 多任务似然

4 视觉场景理解模型

5 实验

6 结论

摘要

很多深度学习应用从包含多个回归或分类目标的多任务学习中受益。这篇文章中,我们研究了这些框架的性能,其强烈依赖于每个任务的损失权重关系。手动调整这些任务的权重比较困难且成本高昂,实践中,多任务学习往往是让人望而却步的。我们提出了一个多任务学习的指导方法,它通过度量每种任务的同方差不确定性去调节损失函数。这使得我们可以同时学习不同数量级的回归和分类任务。我们的模型可以从输入图片中学习每个像素级回归任务、语义和实例分割。令人兴奋的是,我们的模型可以学习多任务的权重,且比单个任务独立学习,效果更好。

1 引言

多任务学习旨在通过从一个共享的特征层中学习多个目标函数进而来提高模型的性能和预测准确率。多任务学习在很多机器学习任务中是非常普遍的,从CV、NLP到语音识别。

我们研究了CV中视觉理解场景下的多任务学习。视觉场景算法必须同时理解场景中的位置和内容。这提出了一类有趣的多任务学习问题,因为场景理解涉及到不同尺度下的回归和分类任务的联合学习。视觉场景理解中的多任务学习在那些计算成本高昂的系统中是至关重要的,比如机器人应用中。融合多任务学习到一个模型中,可以降低计算量,利于系统实时运行。

之前的同时学习多任务的方法通常会使用简单的加权损失,损失权重是统一的,或者手动设定。然而,我们研究得知模型的性能严重依赖于各任务之间的权重选择。搜寻一个最优的权重,使用手动调节的成本是非常高昂的,且很难解决。我们研究发现,每个任务的最优权重严重依赖于损失的度量尺度(比如,米、厘米或毫米),最后才是任务噪声的影响。

这篇论文中,我们提出了一种指导方法,使用同方差不确定性组合多任务的损失函数来同时学习多个目标。我们解释了将同方差不确定性作为任务依赖权重,并且解释了如何引出的指导性多任务损失函数,它可以学习平衡回归和分类任务的损失。我们的方法可以最优地学习平衡权重,对比各自学习每个任务,可以带来了更优异的效果。

特别地,我们用视觉场景中的位置和内容中的三个任务来说明我们的方法。首先,我们学习在像素级别下分类目标,也就是语义分割。其次,我们模型学习实例分割,它是分割上的更难的任务,需要将每一个目标划分开(区分道路上的每辆小汽车),这个相比语义分割更难,不但需要对像素类别的估计,还需要标记每个像素所属的实例。最后,我们模型预测像素深度。用于识别的像素深度已经被标识了,用无监和有监的深度dense网络。然而,能较好地预测出像素深度是非常困难的。研究证实,我们可以通过使用语义标签和多任务学习,来提升对于位置和深度的预测性能。

在现有的文章中,为了构建一个完整的视觉场景理解模型,会将深度模型分开成深度回归预测,语义分割和实例分割。给定一个输入图片,我们的框架首先生成一个语义分割、深度预测和实例分割的联合结构(图1)。其他的视觉模型已经提出了多任务学习,我们研究了如何结合语义和内容。融合这些任务到一个模型中,可以保证减少计算量的同时,每个单独任务的输出结果保持一致。最后,我们证实了,用一个共享层的多任务学习可以提升不同任务的性能,使模型效果更优。

总结来说,论文的关键贡献点:

  1. 基于同方差不确定性,提出一个新颖且有指导性的多任务学习框架,可以同时学习不同尺度下的分类和回归任务;
  2. 一个针对语义分割、实例分割和像素深度回归的统一框架;
  3. 说明了在多任务学习中损失权重的重要性,且说明了对比单独训练模型,如何获得更优的模型性能。

2 相关工作

ignored

3. 结合同方差不确定性的multi-task learning

多任务学习涉及到一个关于多目标函数的模型的优化问题,这在深度学习中很普遍。融合多个目标函数的损失的简单方法是针对每个任务简单使用线性加权求和:

这种方法在之前的工作中是占主流的。例如密集预测任务、场景理解任务、旋转任务(四元数)以及姿态平移任务等。这个方法存在一些问题,也就是,模型的性能对权重的选择非常敏感,如图2。这些权重超参数非常难以调节,通常每次任务需要花费数天时间。因此,非常迫切找到一种可以学习最优权重的简便方法。

更具体地说,我们来设计一个网络结构,它可以从一张图片中预测像素深度和语义类别。图2列出了每张图的边界表示每个任务的训练情况,曲线表示每个任务权重变化时的模型性能。可以看出,在几个较优权重处,联合任务的性能要比各个任务单独训练时的效果好。在最优权重附近,这个网络的性能劣于比其中一个任务的性能。然而,搜素这种最优权重成本高昂,且随着多任务大模型,难度递增。图2也累出了两种回归任务的相似结果,实例分割和像素深度回归。接下来,我们给出如何从概率模型中学习最优任务权重。

3.1 同方差不确定性作为任务依赖不确定性 

贝叶斯建模中存在的两类不确定性。

认知不确定性。缺乏训练数据导致的,可以通过增加数据来解释。

偶然不确定性。由于训练数据无法解释信息而导致的不确定性。偶然不确定性可以通过观测高准确率下的所有可解释变量来说明。偶然不确定性又可以分为两类:

        数据依赖或异方差不确定性:依赖于输入数据,可以作为模型输出被预测出来。

        任务依赖或同方差不确定性:不依赖于输入数据,不是模型输出,而是一个变量,对于输入数据保持不变,随着任务的不同而变化。

多任务场景中,我们发现任务不确定性可以捕获任务之间的相对置信度,反映了分类或回归任务的内在不确定性。它还依赖与任务的表征或度量单位。我们提出在多任务学习中可以使用同方差不确定性作为一个基准,来加权不同任务的损失。

3.2 多任务似然

基于最大化同方差不确定性的高斯似然估计,产生多任务损失函数。f^w(x)表示在权重为w,输入为x条件下的神经网络输出,对于回归任务,高斯似然估计为(\sigma为观测到的噪声标量):

p(y|f^w(x)) = \mathcal N(f^w(x), \sigma^2)

对于分类任务,通常会经过一个softmax变换,高斯似然估计为:

 p(y|f^w(x)) = \textup{Softmax}(f^w(x))

 在多任务的这个例子中,我们将最大似然分解成独立因子,定义f^w(x)为充分统计量,可以得到多任务最大似然

p(y_1,...,y_k|f^w(x)) = p(y_1|f^w(x))...p(y_k|f^w(x))

 y_1,...,y_k为模型的输出(比如,语义分割,深度回归等)。

在最大似然推断中,我们最大化对数似然。回归模型中,对数似然可以表示为:

对于高斯似然(或拉普拉斯相似度) ,然后我们可以在w\sigma下最大化对数似然。

假定我们的模型输出有y_1y_2组成,服从如下高斯分布:

损失函数

 \mathcal L(w, \sigma_1,\sigma_2 ) \\ = -logp(y_1,y_2|f^w(x)) \\ \propto \frac{1}{2\sigma_1^2}\left \| y_1-f^w(x) \right \|^2 + \frac{1}{2\sigma_2^2}\left \| y_2-f^w(x) \right \|^2 + \textup{log}\sigma_1\sigma_2 \\ =\frac{1}{2\sigma_1^2}\mathcal L_1(w) + \frac{1}{2\sigma_2^2}\mathcal L_2(w) + \textup{log}\sigma_1\sigma_2

这里,\mathcal L_1(w) = \left \| y_1-f^w(x) \right \|^2为第一个输出变量的损失,\mathcal L_2同样如此。

极小化目标函数,可以把\sigma_1,\sigma_2分别看做\mathcal L_1(w),\mathcal L_2(w)的相对权重,可根据数据自适应调整,变量y_1的噪声参数\sigma_1增加的话,\mathcal L_1(w)的权重降低。相应地,噪声降低的话,对应的损失函数权重增加。最后一项作为正则项,控制噪声增加过多(实际上或略了数据)。

这种设计可以拓展到更多的回归任务。对于分类任务,缩放后接softmax函数。如下:

p(y|f^w(x), \sigma)=\textup{Softmax}(\frac{1}{\sigma^2}f^w(x))

这可以解释为玻尔兹曼分布(也叫Gibbs分布),输入除以\sigma^2(可以联系到温度T),这个尺度因子可固定或学习,参数的量级决定了这个离散分布的一致程度。这和用熵度量的不确定性相关。

对数似然可以表示为:

 接下来,假定多任务有连续输出任务y_1 和离散输出任务y_2构成,分别用高斯似然和对数似然表示。联合损失可以表示为:

 \sigma_1,\sigma_2为可学习的参数(在训练过程中,由于log\sigma^2相较于\sigma^2更加稳定,并且由于\sigma^2作为损失函数权重系数的除数,采用log\sigma^2尽可能的避免了除数为0的情况,因此,回归权重系数的目标变为了log\sigma^2代替)。

4 视觉场景理解模型

我们设计了一个学习回归和分类任务的网络结构,包括几个深度卷积encoder层,后接对应任务的decoder卷积层。

5 实验

6 结论

同方差不确定性是一种对损失加权的高效方法。任务依赖性的同方差不确定性可以提高模型的表达能力和各自任务的性能。

仍然有一些待遗留问题,

首先,对所有任务,最优权重不止一个。

第二个问题,将shared encoder网络,针对每个任务,拆分成单独的decoder的最佳位置在哪里?

最后一个问题,语义分割和深度预测的效果为何比语义分割是实例分割的效果更好?

  • 14
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
多任务学习利用不确定性来加权损失用于场景几何和...... 多任务学习是一种机器学习方法,旨在通过同时学习多个相关的任务来提高模型的性能。在场景几何和...中,我们可以利用多任务学习来同时学习场景几何和...两个任务,并利用不确定性来加权损失函数。 不确定性是指模型对于不同任务的预测结果的置信度或可靠性。通过测量模型的不确定性,我们可以了解模型对于不同任务的自信程度,并根据其不确定性来决定在损失函数中的权重。 具体来说,在训练过程中,我们可以采用如下的多任务学习框架:首先,我们定义两个任务,即场景几何和...。然后,我们构建一个网络模型,该模型有两个分支,分别用于处理场景几何和...任务。每个分支都有自己的损失函数,用于衡量模型在相应任务上的性能。 在计算总体损失时,我们可以使用不确定性来加权每个任务的损失函数。一种常见的方法是使用模型的输出结果的方差或置信度来表示不确定性。如果模型对于某个任务有较高的置信度,我们可以将该任务的损失函数的权重设为较大值;相反,如果模型对于某个任务的置信度较低,我们可以将该任务的损失函数的权重设为较小值。 通过利用不确定性加权损失函数,我们可以让模型在训练过程中更加关注自身较为确定的预测任务,从而提高模型在这些任务上的性能。这种方法可以提高多任务学习的效果,使得模型能够更好地学习场景几何和...两个任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NLP_wendi

谢谢您的支持。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值