【论文】Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics

本文提出了一种多任务loss权重学习的方式,通过训练协调了三个任务的loss,有语义分割、实力分割和depth regression,结构主要是:
在这里插入图片描述

文中主要分为了三种情况来介绍:

  1. 回归任务

    定义一个概率分布函数,假设其符合高斯分布,令 f W ( x ) f^W(x) fW(x)为输入为x、权重为W的网络的输出,并将 f W ( x ) f^W(x) fW(x)看作均值 μ \mu μ,则有:
    p ( y ∣ f W ( x ) ) = N ( f W ( x ) , σ 2 ) p(y|f^W(x))=N(f^W(x),\sigma^2) p(yfW(x))=N(fW(x),σ2)
    取log可得:
    l o g p ( y ∣ f W ( x ) ) = − 1 2 σ 2 ∣ ∣ y − f W ( x ) ∣ ∣ 2 − l o g 2 π σ ∝ − 1 2 σ 2 ∣ ∣ y − f W ( x ) ∣ ∣ 2 − l o g σ \begin{aligned} logp(y|f^W(x)) &=-\frac{1}{2\sigma^2}||y-f^W(x)||^2-log\sqrt{2\pi}\sigma\\ &∝-\frac{1}{2\sigma^2}||y-f^W(x)||^2-log\sigma \end{aligned} logp(yfW(x))=2σ21yfW(x)2log2π σ2σ21yfW(x)2logσ
    当有两个输出 y 1 y_1 y1 y 2 y_2 y2时:
    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 ) \begin{aligned} p(y_1,y_2|f^W(x))&=p(y_1|f^W(x))\cdot p(y_2|f^W(x))\\ &=N(y_1;f^W(x),\sigma_1^2)\cdot N(y_2;f^W(x),\sigma_2^2) \end{aligned} p(y1,y2fW(x))=p(y1fW(x))p(y2fW(x))=N(y1;fW(x),σ12)N(y2;fW(x),σ22)
    则定义:
    L ( W , σ 1 , σ 2 ) = − l o g p ( y 1 , y 2 ∣ f W ( 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 = 1 2 σ 1 2 L 1 ( W ) + 1 2 σ 2 2 L 2 ( W ) + l o g σ 1 σ 2 , L 1 ( W ) = ∣ ∣ y 1 − f W ( x ) ∣ ∣ 2 , L 2 ( W ) = ∣ ∣ y 2 − f W ( x ) ∣ ∣ 2 \begin{aligned} L(W,\sigma_1,\sigma_2)&=-logp(y_1,y_2|f^W(x))\\& ∝\frac{1}{2\sigma_1^2}||y_1-f^W(x)||^2+\frac{1}{2\sigma_2^2}||y_2-f^W(x)||^2+log\sigma_1\sigma_2\\&=\frac{1}{2\sigma_1^2}L_1(W)+\frac{1}{2\sigma_2^2}L_2(W)+log\sigma_1\sigma_2,\\&L_1(W)=||y_1-f^W(x)||^2,L_2(W)=||y_2-f^W(x)||^2 \end{aligned} L(W,σ1,σ2)=logp(y1,y2fW(x))2σ121y1fW(x)2+2σ221y2fW(x)2+logσ1σ2=2σ121L1(W)+2σ221L2(W)+logσ1σ2L1(W)=y1fW(x)2,L2(W)=y2fW(x)2

  2. 分类任务

    定义概率分布函数:
    P ( y ∣ f W ( x ) , σ ) = S o f t m a x ( 1 σ 2 f W ( x ) ) P(y|f^W(x),\sigma)=Softmax(\frac{1}{\sigma^2}f^W(x)) P(yfW(x),σ)=Softmax(σ21fW(x))
    考虑到 S o f t m a x ( x ) = e x p ( x i ) ∑ i e x p ( x i ) Softmax(x)=\frac{exp(x_i)}{\sum_i exp(x_i)} Softmax(x)=iexp(xi)exp(xi),则log似然函数可化简为:
    l o g p ( y = c ∣ f W ( x ) , σ ) = 1 σ 2 f c W ( x ) − l o g ∑ c ′ e x p ( 1 σ 2 f c ′ W ( x ) ) , 其 中 , f c ’ W ( x ) 是 f c W ( x ) 向 量 的 第 c 个 元 素 . \begin{aligned}&logp(y=c|f^W(x),\sigma)=\frac{1}{\sigma^2}f_c^W(x)-log\sum_{c'}exp(\frac{1}{\sigma^2}f_{c'}^W(x)),\\&其中,f_{c’}^W(x)是f_c^W(x)向量的第c个元素.\end{aligned} logp(y=cfW(x),σ)=σ21fcW(x)logcexp(σ21fcW(x))fcW(x)fcW(x)c.
    接下来,取log,定义新的Loss:
    L ( W , σ ) = − l o g p ( y = c ∣ f W ( x ) , σ ) L(W,\sigma)=-logp(y=c|f^W(x),\sigma) L(W,σ)=logp(y=cfW(x),σ)

    L 1 ( W ) = − l o g S o f t m a x ( y , f W ( x ) ) L_1(W)=-log Softmax(y,f^W(x)) L1(W)=logSoftmax(y,fW(x)),即y的cross entropy loss.那么上式可继续化简:
    L ( W , σ ) = − l o g p ( y = c ∣ f W ( x ) , σ ) = − l o g p ( y = c ∣ f W ( x ) , σ ) + 1 σ 2 L 1 ( W ) − 1 σ 2 L 1 ( W ) = 1 σ 2 L 1 ( W ) − l o g p ( y = c ∣ f W ( x ) , σ ) − 1 σ 2 L 1 ( W ) = 1 σ 2 L 1 ( W ) − 1 σ 2 f c W ( x ) + l o g ∑ c ′ e x p ( 1 σ 2 f c ′ W ( x ) ) + 1 σ 2 l o g S o f t m a x ( y = c , f W ( x ) ) = 1 σ 2 L 1 ( W ) − 1 σ 2 f c W ( x ) + l o g ∑ c ′ e x p ( 1 σ 2 f c ′ W ( x ) ) + 1 σ 2 [ f c W ( x ) − l o g ∑ c ′ e x p ( f c ′ W ( x ) ) ] = 1 σ 2 L 1 ( W ) + l o g ∑ c ′ e x p ( 1 σ 2 f c ′ W ( x ) [ ∑ c ′ e x p ( f c ′ W ( x ) ) ] 1 σ 2 \begin{aligned} L(W,\sigma)&=-logp(y=c|f^W(x),\sigma)\\ &=-logp(y=c|f^W(x),\sigma)+\frac{1}{\sigma^2} L_1(W)-\frac{1}{\sigma^2} L_1(W)\\ &=\frac{1}{\sigma^2} L_1(W)-logp(y=c|f^W(x),\sigma)-\frac{1}{\sigma^2} L_1(W)\\ &=\frac{1}{\sigma^2} L_1(W)-\frac{1}{\sigma^2}f_c^W(x)+log\sum_{c'}exp(\frac{1}{\sigma^2}f_{c'}^W(x))+\frac{1}{\sigma^2}log Softmax(y=c,f^W(x))\\ &=\frac{1}{\sigma^2} L_1(W)-\frac{1}{\sigma^2}f_c^W(x)+log\sum_{c'}exp(\frac{1}{\sigma^2}f_{c'}^W(x))+\frac{1}{\sigma^2}[f_c^W(x)-log\sum_{c'}exp(f_{c'}^W(x))]\\ &=\frac{1}{\sigma^2} L_1(W)+log{\frac{\sum_{c'}exp(\frac{1}{\sigma^2}f_{c'}^W(x)}{[\sum_{c'}exp(f_{c'}^W(x))]^{\frac{1}{\sigma^2}}}} \end{aligned} L(W,σ)=logp(y=cfW(x),σ)=logp(y=cfW(x),σ)+σ21L1(W)σ21L1(W)=σ21L1(W)logp(y=cfW(x),σ)σ21L1(W)=σ21L1(W)σ21fcW(x)+logcexp(σ21fcW(x))+σ21logSoftmax(y=c,fW(x))=σ21L1(W)σ21fcW(x)+logcexp(σ21fcW(x))+σ21[fcW(x)logcexp(fcW(x))]=σ21L1(W)+log[cexp(fcW(x))]σ21cexp(σ21fcW(x)
    ”上方的推导过程加入了个人的理解,如有问题,感谢指出“

    σ → 1 \sigma \rightarrow 1 σ1时, 1 σ ∑ c ′ e x p ( 1 σ 2 f c ′ W ( x ) ) ≈ [ ∑ c ′ e x p ( f c ′ W ( x ) ) ] 1 σ 2 \frac{1}{\sigma}\sum_{c'}exp(\frac{1}{\sigma^2}f_{c'}^W(x))\approx[\sum_{c'}exp(f_{c'}^W(x))]^{\frac{1}{\sigma^2}} σ1cexp(σ21fcW(x))[cexp(fcW(x))]σ21,则上式可继续化简为:
    L ( W , σ ) = 1 σ 2 L 1 ( W ) + l o g ∑ c ′ e x p ( 1 σ 2 f c ′ W ( x ) [ ∑ c ′ e x p ( f c ′ W ( x ) ) ] 1 σ 2 = 1 σ 2 L 1 ( W ) + l o g σ 1 σ ∑ c ′ e x p ( 1 σ 2 f c ′ W ( x ) [ ∑ c ′ e x p ( f c ′ W ( x ) ) ] 1 σ 2 ≈ 1 σ 2 L 1 ( W ) + l o g σ \begin{aligned} L(W,\sigma)&=\frac{1}{\sigma^2} L_1(W)+log{\frac{\sum_{c'}exp(\frac{1}{\sigma^2}f_{c'}^W(x)}{[\sum_{c'}exp(f_{c'}^W(x))]^{\frac{1}{\sigma^2}}}}\\ &=\frac{1}{\sigma^2} L_1(W)+log \sigma{\frac{\frac{1}{\sigma}\sum_{c'}exp(\frac{1}{\sigma^2}f_{c'}^W(x)}{[\sum_{c'}exp(f_{c'}^W(x))]^{\frac{1}{\sigma^2}}}}\\ &\approx\frac{1}{\sigma^2} L_1(W)+log\sigma \end{aligned} L(W,σ)=σ21L1(W)+log[cexp(fcW(x))]σ21cexp(σ21fcW(x)=σ21L1(W)+logσ[cexp(fcW(x))]σ21σ1cexp(σ21fcW(x)σ21L1(W)+logσ

  3. 两种类型的混合任务,假设 y 1 y_1 y1是连续输出, y 2 y_2 y2是离散输出

    根据1.和2.的推导可得联合Loss L ( W , σ 1 , σ 2 ) L(W,\sigma_1,\sigma_2) L(W,σ1,σ2)如下图:
    在这里插入图片描述

    其中, L 1 ( W ) = ∣ ∣ y 1 − f W ( x ) ∣ ∣ 2 , L 2 ( W ) = − l o g S o f t m a x ( y 2 , f W ( x ) ) L_1(W)=||y_1-f^W(x)||^2,L_2(W)=-log Softmax(y_2,f^W(x)) L1(W)=y1fW(x)2,L2(W)=logSoftmax(y2,fW(x)).

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值