多任务学习Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics
Posted 征途黯然.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多任务学习Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics相关的知识,希望对你有一定的参考价值。
·阅读摘要:
本文提出针对CV领域的多任务模型,设置一个可以学习损失权重的损失层,可以提高模型精度。
·参考文献:
[1] Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics
个人理解:我们使用传统的多任务时,损失函数一般都是各个任务的损失相加,最多会为每个任务的损失前添加权重系数。但是这样的超参数是很难去调参的,代价大,而且很难去调到一个最好的状态。最好的方式应该是交给深度学习。
论文最重要的部分在损失函数的设置与推导。 这对我们优化自己的多任务学习模型有指导意义。
[1] Homoscedastic uncertainty as task-dependent uncertainty (同方差不确定性)
作者的数学模型通过贝叶斯模型建立。作者首先提出贝叶斯建模中存在两类不确定性:
· 认知不确定性(Epistemic uncertainty):由于缺少训练数据而引起的不确定性
· 偶然不确定性(Aleatoric uncertainty):由于训练数据无法解释信息而引起的不确定性
而对于偶然不确定性,又分为如下两个子类:
· 数据依赖地(Data-dependant)或异方差(Heteroscedastic)不确定性
· 任务依赖地(Task-dependant)或同方差(Homoscedastic)不确定性
多任务中,任务不确定性捕获任务间相关置信度,反应回归或分类任务的内在不确定性。
【注】本篇论文的假设,是基于同方差不确定性的。关于同方差不确定性和异方差不确定性的通俗解释,可以参考知乎问题:https://www.zhihu.com/question/278182454/answer/398539763
[2] Multi-task likelihoods (多任务似然)
基于极大似然估计,假设
f
W
\\mathbff^\\mathbfW
fW为网络输出,
W
W
W为该项输出的权重,则对于回归任务有:
p
(
y
∣
f
W
(
x
)
)
=
N
(
f
W
(
x
)
,
σ
2
)
p(y∣\\mathbff^\\mathbfW(x))=N(\\mathbff^\\mathbfW(x),σ^2 )
p(y∣fW(x))=N(fW(x),σ2)
对于分类任务有:
p
(
y
∣
f
W
(
x
)
)
=
S
o
f
t
m
a
x
(
f
W
(
x
)
)
p(y∣\\mathbff^\\mathbfW (x))=Softmax(\\mathbff^\\mathbfW (x))
p(y∣fW(x))=Softmax(fW(x))
多任务的概率:
p
(
y
1
,
…
,
y
K
∣
f
W
(
x
)
)
=
p
(
y
1
∣
f
W
(
x
)
)
…
p
(
y
K
∣
f
W
(
x
)
)
p(y_1,…,y_K ∣\\mathbff^\\mathbfW(x))=p(y_1 ∣\\mathbff^\\mathbfW (x))…p(y_K ∣\\mathbff^\\mathbfW (x))
p(y1,…,yK∣fW(x))=p(y1∣fW(x))…p(yK∣fW(x))
例如对于回归任务来说,极大似然估计转化为最小化负对数:
l
o
g
p
(
y
∣
f
W
(
x
)
)
∝
−
1
2
σ
2
∥
∥
y
−
f
W
(
x
)
∥
∥
2
−
l
o
g
σ
logp(y∣\\mathbff^\\mathbfW(x))∝− \\frac12σ^2 ∥∥ y−\\mathbff^\\mathbfW (x) ∥∥^2 −log\\sigma
logp(y∣fW(x))∝−2σ21∥∥y−fW(x)∥∥2−logσ
其中
σ
\\sigma
σ 表示测量噪声的方差。
双任务:
假设是两个回归任务,那么概率如下:
p ( y 1 , y 2 ∣ f W ( x ) ) = p ( y 1 ∣ f W ( x ) ) ⋅ p ( y 2 ∣ f W ( x ) ) = N ( y 1 ; f W ( x ) , σ 1 2 ) ⋅ N ( y 2 ; f W ( x ) , σ 2 2 ) p(y_1 ,y_2 ∣\\mathbff^\\mathbfW (x)) =p(y_1 ∣\\mathbff^\\mathbfW (x))⋅p(y_2 ∣\\mathbff^\\mathbfW (x))=N(y_1;\\mathbff^\\mathbfW (x),σ_1^2 )⋅N(y_2 ;\\mathbff^\\mathbfW (x),σ_2^2 ) p(y1,y2∣fW(x))=p(y1∣fW(x))⋅p(y2∣fW(x))=N(y1;fW(x),σ12)⋅N(y2;fW(x),σ22)
为了优化我们的 Loss 函数 L ( W , σ 1 , σ 2 ) \\mathcalL\\left(\\mathbfW, \\sigma_1, \\sigma_2\\right) L(W,σ1,σ2),取最小化负对数:
= − l o g p ( y 1 , y 2 ∣ f W ( x ) ) =−logp(y_1,y_2 ∣\\mathbff^\\mathbfW (x)) =−logp(y1,y2∣fW(x))
∝ 1 2 σ 1 2 ∥ y 1 − f W ( x ) ∥ 2 + 1 2 σ 2 2 ∥ y 2 − f W ( x ) ∥ 2 + l o g σ 1 σ 2 ∝ \\frac12σ_1^2 ∥y_1−\\mathbff^\\mathbfW (x) ∥^2 + \\frac12σ_2^2 ∥ y_2 −\\mathbff^\\mathbfW (x) ∥^2 +logσ_1 σ_2 ∝2σ121∥y1−fW(x)∥2+2σ221∥y2−fW(x)∥2+logσ1σ2
= 1 2 σ 1 2 L 1 ( W ) + 1 2 σ 2 2 L 2 ( W ) + l o g σ 1 σ 2 = \\frac12σ_1^2 L_1 (W)+ \\frac12σ_2^2 L_2 (W)+logσ_1σ_2 =2σ12以上是关于多任务学习Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics的主要内容,如果未能解决你的问题,请参考以下文章
多任务学习An Overview of Multi-Task Learning in Deep Neural Networks
多任务学习An Overview of Multi-Task Learning in Deep Neural Networks
多任务学习Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics
多任务学习Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics
论文阅读 | A Survey on Multi-Task Learning
论文导读- SpreadGNN: Serverless Multi-task Federated Learning for Graph Neural Networks(去服务器的多任务图联邦学习)