sgr-interview-300

第 70 题:多任务损失加权,Uncertainty Weighting的异方差不确定性建模?

题目

多任务损失加权,Uncertainty Weighting的异方差不确定性建模?


完整讲解

一、多任务损失加权的难点

多任务学习总损失常写为 $\mathcal{L} = \sum_k w_k \mathcal{L}_k$。手动设 $w_k$ 依赖经验与调参,且各任务损失量纲、量级不同(如 CTR 0.01 量级、回归 MSE 可能很大),固定权重难以同时兼顾所有任务。

二、Uncertainty Weighting 与异方差不确定性

Uncertainty Weighting(Kendall 等)用任务依赖的噪声尺度(异方差不确定性)自动调节权重。设任务 $k$ 的观测为 $y_k = f_k(x) + \epsilon_k$,$\epsilon_k \sim \mathcal{N}(0, \sigma_k^2)$,$\sigma_k$ 为可学习标量。则负对数似然为 \(\mathcal{L}_k = \frac{1}{2\sigma_k^2} \|y_k - f_k(x)\|^2 + \frac{1}{2}\ln \sigma_k^2 + \text{const}.\)

多任务总损失为 $\mathcal{L} = \sum_k \mathcal{L}_k$,无需手设 $w_k$;优化过程中 $\sigma_k$ 与网络一起更新,实现自适应加权。

三、分类任务的扩展与注意点

分类任务可把 $\sigma_k^2$ 作为任务相关标量,损失写为 $\mathcal{L}_k/(2\sigma_k^2) + \ln\sigma_k$ 等形式;注意 $\sigma_k$ 初始化和正则,避免坍缩到 0 或无穷。可与 GradNorm、PCGrad 等结合使用。


面试要点


记忆要点

返回模块 返回总览