论文地址:Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics
(没有具体研究实例分割,所以本博客并没有过多关心关于分割的模型与任务)
有些深度网络需要多任务来同时进行多个回归和分类目标,经过观察发现给予不同任务一个损失权重极大的影响着总体任务的表现。但是人工的搜索这个权重是极其困难和消费资源的,为此本论文提出了一个考虑每个任务同方差的不确定性来学习这些权重,这允许我们在分类和回归设置中同时学习不同单位或尺度的不同参数。实验证明本模型可以学习多任务权重,并且优于进行单任务独立建模训练。
创新:
多任务学习的目的是通过从一个共享表示中学习多个目标来提高学习效率和预测精度。
以前同时学习多个任务的方法使用一个朴素的加权损失总和,其中损失的权重是一致的,或者手动调整。但是我们发现这个模型的表现很大程度依赖于这些权重。人工微调以及搜索来优化网络十分昂贵且难以解决本质问题,每个任务的最佳权重取决于测量尺度(例如米、厘米或毫米)和最终任务噪声的大小。
作者将同方差不确定性解释为任务相关的加权,并展示如何推导一个有原则的多任务损失函数,该函数可以学会平衡各种回归和分类损失。
以前主要任务的简要表达式:
L total = ∑ i w i L i (1) L_{\text {total}}=\sum_{i} w_{i} L_{i} \tag{1} Ltotal=i∑wiLi(1)
只是简单的对每个子任务线性求和,但是这样存在很多问题,例如模型对于权重参数很敏感,如下图2:
在贝叶斯模型中,不确定性主要有两种类型:
任意不确定性又可分为两种:
在多任务学习问题中,我们可以使用同方差不确定性作为加权损失的基础。
在本节中,推导了一个基于同方差不确定性高斯似然最大化的多任务损失函数。让 f W ( x ) f^W (x) fW(x)表示输入 x x x在基于参数 W W W的神经网络的输出。定义以下概率模型,对于回归任务,将概率定义为高斯分布,其均值由模型输出给出:
p ( y ∣ f W ( x ) ) = N ( f W ( x ) , σ 2 ) (2) p\left(\mathbf{y} \mid \mathbf{f}^{\mathbf{W}}(\mathbf{x})\right)=\mathcal{N}\left(\mathbf{f}^{\mathbf{W}}(\mathbf{x}), \sigma^{2}\right)\tag{2} p(y∣fW(x))=N(fW(x),σ2)(2)
噪声标量 σ σ σ,代表输出需要携带多少噪声。
为了进行分类,我们经常通过 s o f t m a x softmax softmax函数压缩模型输出,由概率向量得到的样本:
p ( y ∣ f W ( x ) ) = Softmax ( f W ( x ) ) (3) p\left(\mathbf{y} \mid \mathbf{f}^{\mathbf{W}}(\mathbf{x})\right)=\operatorname{Softmax}\left(\mathbf{f}^{\mathbf{W}}(\mathbf{x})\right) \tag{3} p(y∣fW(x))=Softmax(fW(x))(3)
在多个模型输出的情况下,通常定义对输出进行因式分解的可能性,给出一些充分的统计信息。我们定义 f W ( x ) f^W (x) fW(x)作为我们的充分统计量,并获得以下多任务似然:
p ( y 1 , … , y K ∣ f W ( x ) ) = p ( y 1 ∣ f W ( x ) ) … p ( y K ∣ f W ( x ) ) (4) p\left(\mathbf{y}_{1}, \ldots, \mathbf{y}_{K} \mid \mathbf{f}^{\mathbf{W}}(\mathbf{x})\right)=p\left(\mathbf{y}_{1} \mid \mathbf{f}^{\mathbf{W}}(\mathbf{x})\right) \ldots p\left(\mathbf{y}_{K} \mid \mathbf{f}^{\mathbf{W}}(\mathbf{x})\right) \tag{4} p(y1,…,yK∣fW(x))=p(y1∣fW(x))…p(yK∣fW(x))(4)
y 1 , … , y K y_1,…,y_K y1,…,yK为模型(例如语义分割,深度回归)输出。
最大似然推导中,最大化模型的对数似然。
例如回归任务中,对数似然可以被表达为:
log p ( y ∣ f W ( x ) ) ∝ − 1 2 σ 2 ∥ y − f W ( x ) ∥ 2 − log σ (5) \log p\left(\mathbf{y} \mid \mathbf{f}^{\mathbf{W}}(\mathbf{x})\right) \propto-\frac{1}{2 \sigma^{2}}\left\|\mathbf{y}-\mathbf{f}^{\mathbf{W}}(\mathbf{x})\right\|^{2}-\log \sigma \tag{5} logp(y∣fW(x))∝−2σ21∥∥y−fW(x)∥∥2−logσ(5)
然后,我们最大化和模型参数 W W W和噪声参数 σ σ σ有关的对数似然。
假设模型输出由两向量 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 ) (6) \begin{aligned} p\left(\mathbf{y}_{1}, \mathbf{y}_{2} \mid \mathbf{f}^{\mathbf{W}}(\mathbf{x})\right) &=p\left(\mathbf{y}_{1} \mid \mathbf{f}^{\mathbf{W}}(\mathbf{x})\right) \cdot p\left(\mathbf{y}_{2} \mid \mathbf{f}^{\mathbf{W}}(\mathbf{x})\right) \\ &=\mathcal{N}\left(\mathbf{y}_{1} ; \mathbf{f}^{\mathbf{W}}(\mathbf{x}), \sigma_{1}^{2}\right) \cdot \mathcal{N}\left(\mathbf{y}_{2} ; \mathbf{f}^{\mathbf{W}}(\mathbf{x}), \sigma_{2}^{2}\right) \end{aligned} \tag{6} p(y1,y2∣fW(x))=p(y1∣fW(x))⋅p(y2∣fW(x))=N(y1;fW(x),σ12)⋅N(y2;fW(x),σ22)(6)
这导致了我们多任务模型的最小化目标 L ( W , σ 1 , σ 2 ) \mathcal{L}(W,σ_1,σ_2) L(W,σ1,σ2)
= − log 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 + log σ 1 σ 2 = 1 2 σ 1 2 L 1 ( W ) + 1 2 σ 2 2 L 2 ( W ) + log σ 1 σ 2 (7) \begin{aligned} &=-\log p\left(\mathbf{y}_{1}, \mathbf{y}_{2} \mid \mathbf{f}^{\mathbf{W}}(\mathbf{x})\right)\\ &\propto \frac{1}{2 \sigma_{1}^{2}}\left\|\mathbf{y}_{1}-\mathbf{f}^{\mathbf{W}}(\mathbf{x})\right\|^{2}+\frac{1}{2 \sigma_{2}^{2}}\left\|\mathbf{y}_{2}-\mathbf{f}^{\mathbf{W}}(\mathbf{x})\right\|^{2}+\log \sigma_{1} \sigma_{2}\\ &=\frac{1}{2 \sigma_{1}^{2}} \mathcal{L}_{1}(\mathbf{W})+\frac{1}{2 \sigma_{2}^{2}} \mathcal{L}_{2}(\mathbf{W})+\log \sigma_{1} \sigma_{2} \end{aligned} \tag{7} =−logp(y1,y2∣fW(x))∝2σ121∥∥y1−fW(x)∥∥2+2σ221∥∥y2−fW(x)∥∥2+logσ1σ2=2σ121L1(W)+2σ221L2(W)+logσ1σ2(7)
L 1 ( W ) = ∥ y 1 − f w ( x ) ∥ 2 \mathcal{L}_{1}(\mathbf{W})=\left\|\mathbf{y}_{1}-\mathbf{f}^{\mathbf{w}}(\mathbf{x})\right\|^{2} L1(W)=∥y1−fw(x)∥2表示第一个输出变量 y 1 y_1 y1的损失, L 2 \mathcal{L}_{2} L2同理。
参数 σ 1 , σ 2 σ_1,σ_2 σ1,σ2相当于损失 L 1 ( W ) \mathcal L_1 (W) L1(W)和 L 2 ( W ) \mathcal L_2 (W) L2(W)基于数据的自适应权重,因为当 σ 1 σ_1 σ1(变量 y 1 y_1 y1的噪声)增加时, L 1 ( W ) \mathcal L_1 (W) L1(W)的权重下降。相应的噪声减小,对应损失权重上升。损失最后一项充当噪声的调节器,抑制噪声的过大增加。
这种构造可以简单地扩展到多元回归输出。
对于分类函数,我们通过对缩放后的输出进行 s o f t m a x softmax softmax函数作为分类似然:
p ( y ∣ f W ( x ) , σ ) = Softmax ( 1 σ 2 f W ( x ) ) (8) p\left(\mathbf{y} \mid \mathbf{f}^{\mathbf{W}}(\mathbf{x}), \sigma\right)=\operatorname{Softmax}\left(\frac{1}{\sigma^{2}} \mathbf{f}^{\mathbf{W}}(\mathbf{x})\right) \tag{8} p(y∣fW(x),σ)=Softmax(σ21fW(x))(8)
σ σ σ是一个正的缩放值。可以理解为一个 B o l t z − m a n n Boltz- mann Boltz−mann分布( G i b b s Gibbs Gibbs分布),输入由 σ 2 σ^2 σ2进行缩放。这个缩放可以固定也可以被学习,其中参数的大小决定了离散分布的“均匀”(平坦)程度。这个输出的对数似然可以写成:
log p ( y = c ∣ f W ( x ) , σ ) = 1 σ 2 f c W ( x ) − log ∑ c ′ exp ( 1 σ 2 f c ′ W ( x ) ) (9) \begin{aligned} \log p\left(\mathbf{y}=c \mid \mathbf{f}^{\mathbf{W}}(\mathbf{x}), \sigma\right) &=\frac{1}{\sigma^{2}} f_{c}^{\mathbf{W}}(\mathbf{x}) \\ &-\log \sum_{c^{\prime}} \exp \left(\frac{1}{\sigma^{2}} f_{c^{\prime}}^{\mathbf{W}}(\mathbf{x})\right) \end{aligned} \tag{9} logp(y=c∣fW(x),σ)=σ21fcW(x)−logc′∑exp(σ21fc′W(x))(9)
f c W ( x ) f_c^W (x) fcW(x)表示向量 f W ( x ) f^W (x) fW(x)的第 c c c个元素。
假设模型多输出由一个连续输出 y 1 y_1 y1和离散输出 y 2 y_2 y2组成,分别由高斯似然和 s o f t m a x softmax softmax似然建模进行联合损失得 L ( W , σ 1 , σ 2 ) \mathcal L(W,σ_1, σ_2) L(W,σ1,σ2)
= − log p ( y 1 , y 2 = c ∣ f W ( x ) ) = − log N ( y 1 ; f W ( x ) , σ 1 2 ) ⋅ Softmax ( y 2 = c ; f W ( x ) , σ 2 ) = 1 2 σ 1 2 ∥ y 1 − f W ( x ) ∥ 2 + log σ 1 − log p ( y 2 = c ∣ f W ( x ) , σ 2 ) = 1 2 σ 1 2 L 1 ( W ) + 1 σ 2 2 L 2 ( W ) + log σ 1 + log ∑ c ′ exp ( 1 σ 2 2 f c ′ W ( x ) ) ( ∑ c ′ exp ( f c ′ W ( x ) ) ) 1 σ 2 2 ≈ 1 2 σ 1 2 L 1 ( W ) + 1 σ 2 2 L 2 ( W ) + log σ 1 + log σ 2 (10) \begin{array}{l} =-\log p\left(\mathbf{y}_{1}, \mathbf{y}_{2}=c \mid \mathbf{f}^{\mathbf{W}}(\mathbf{x})\right) \\ =-\log \mathcal{N}\left(\mathbf{y}_{1} ; \mathbf{f}^{\mathbf{W}}(\mathbf{x}), \sigma_{1}^{2}\right) \cdot \operatorname{Softmax}\left(\mathbf{y}_{2}=c ; \mathbf{f}^{\mathbf{W}}(\mathbf{x}), \sigma_{2}\right) \\ =\frac{1}{2 \sigma_{1}^{2}}\left\|\mathbf{y}_{1}-\mathbf{f}^{\mathbf{W}}(\mathbf{x})\right\|^{2}+\log \sigma_{1}-\log p\left(\mathbf{y}_{2}=c \mid \mathbf{f}^{\mathbf{W}}(\mathbf{x}), \sigma_{2}\right) \\ =\frac{1}{2 \sigma_{1}^{2}} \mathcal{L}_{1}(\mathbf{W})+\frac{1}{\sigma_{2}^{2}} \mathcal{L}_{2}(\mathbf{W})+\log \sigma_{1} \\ \quad+\log \frac{\sum_{c^{\prime}} \exp \left(\frac{1}{\sigma_{2}^{2}} f_{c^{\prime}}^{\mathbf{W}}(\mathbf{x})\right)}{\left(\sum_{c^{\prime}} \exp \left(f_{c^{\prime}} \mathbf{W}(\mathbf{x})\right)\right)^{\frac{1}{\sigma_{2}^{2}}}} \\ \approx \frac{1}{2 \sigma_{1}^{2}} \mathcal{L}_{1}(\mathbf{W})+\frac{1}{\sigma_{2}^{2}} \mathcal{L}_{2}(\mathbf{W})+\log \sigma_{1}+\log \sigma_{2} \end{array} \tag{10} =−logp(y1,y2=c∣fW(x))=−logN(y1;fW(x),σ12)⋅Softmax(y2=c;fW(x),σ2)=2σ121∥∥y1−fW(x)∥∥2+logσ1−logp(y2=c∣fW(x),σ2)=2σ121L1(W)+σ221L2(W)+logσ1+log(∑c′exp(fc′W(x)))σ221∑c′exp(σ221fc′W(x))≈2σ121L1(W)+σ221L2(W)+logσ1+logσ2(10)
L 1 ( W ) = ∥ y 1 − f w ( x ) ∥ 2 \mathcal{L}_{1}(\mathbf{W})=\left\|\mathbf{y}_{1}-\mathbf{f}^{\mathbf{w}}(\mathbf{x})\right\|^{2} L1(W)=∥y1−fw(x)∥2表示 y 1 y_1 y1的欧几里得损失, L 2 ( W ) = − log S o f t m a x ( y 2 , f W ( x ) ) \mathcal L_2(W)=-\log Softmax(y_2,f^W(x)) L2(W)=−logSoftmax(y2,fW(x))为关于 y 2 y_2 y2的交叉熵损失( f W ( x ) f^W(x) fW(x)未被缩放)。使用 W W W、 σ 1 σ_1 σ1和 σ 1 σ_1 σ1进行优化。最后的 ≈ ≈ ≈,当 σ 2 → 1 σ_2→1 σ2→1时候趋近 = = =。
最后一个目标可以被看作是学习每个产出损失的相对权重。缩放值 σ 2 σ_2 σ2越大,则损失 L 2 ( W ) \mathcal L_2 (W) L2(W)贡献越小,缩放受 log σ 2 \log σ_2 logσ2规范,缩放太大,则目标会被惩罚。
如此,这个函数就可以被随意的由离散和连续损失函数进行组合,这个损失是平滑可微的,并且是很好的形式,使得任务权值不会收敛到零,不同于 ( 1 ) (1) (1)有可能将损失很快的收敛到0。
实验中,训练网络去预测 l o g log log变量 s ∶ = l o g σ 2 s{∶=} log σ_2 s∶=logσ2,因为这个变量比直接回归 σ 2 σ_2 σ2在数学上更加的稳定,损失避免了除以 0 0 0。
证明了对损失项的正确加权对于多任务学习问题是至关重要的,同时证明了同方差(任务)不确定性是损失赋权的有效方法。