跳到正文

MSE vs Focal Loss 分类怎么选?

MSE 不推荐原因,Focal Loss 的 γ 和 α 如何缓解类别不平衡

原题:在分类任务中,MSE和Focal Loss各有适用场景。请分析为何通常不推荐使用MSE作为分类损失,并详细解释Focal Loss是如何通过调节难易样本权重来缓解类别不平衡问题的,包括其公式中γ和α参数的作用机制。

模型训练 · 字节真题

回答与解析

MSE为什么通常不是分类首选

MSE并非不能用于分类,但对sigmoid二分类,若 p=sigmoid(z),则:

d((p-y)^2)/dz = 2(p-y)p(1-p)

当模型自信但预测错误时,p(1-p)可能很小,logit梯度反而被饱和压弱。若只写对概率p的梯度 2(p-y),就不能再据此说端点梯度小;两者必须区分。交叉熵对应Bernoulli/类别分布的负对数似然,并避免额外的sigmoid导数因子,因此通常更匹配分类。

Focal Loss

FL(p_t) = -alpha_t (1-p_t)^gamma log(p_t)

  • p_t 是真实类别对应的预测概率。
  • gamma>=0 是聚焦参数;gamma=0退化为带 alpha_t 的交叉熵。p_t接近1时,调制因子快速变小,降低大量well-classified样本的贡献;难样本保持较大权重。
  • alpha_t 是类别权重,二分类中常定义为正类用 alpha、负类用 1-alpha,也可扩展为多类权重。它的方向和数值依采样、代价、gamma及验证指标决定,不能把1:100的比例直接写成少数类 alpha=0.01

Focal Loss主要解决大量易样本淹没梯度的问题,不保证修复标签噪声;gamma过大可能让训练过度关注难例和错标样本。应同时比较重采样、类别加权交叉熵,并按PR-AUC、少数类召回及校准选型。

口语版讲法(约4分钟)

  • 先承认MSE可用但非首选
  • 推导对概率和logit的梯度
  • 解释Focal Loss公式
  • 分别说明gamma与alpha
  • 给出验证与噪声边界

我先给结论:MSE不是数学上不能做分类,但在常见的sigmoid或softmax分类里,交叉熵通常更合适。原因不能只说“分类离散、回归连续”,关键还要看概率模型和对logit的梯度。

以二分类为例,模型输出logit z,概率p等于sigmoid z,MSE是p减y的平方。对概率p求导是二乘p减y,这个梯度在端点并不会自动变小;但真正反传到logit时还要乘sigmoid导数p乘一减p,所以梯度是二乘p减y再乘p乘一减p。当模型非常自信却预测错误时,最后这个因子可能很小,纠错信号反而被饱和压弱。把这两个梯度混在一起,就会得到相互矛盾的结论。

交叉熵对应Bernoulli或类别分布的负对数似然。和sigmoid组合后,它对logit的梯度有更直接的p减y形式,没有额外再乘一次p乘一减p。因此在分类概率学习里,交叉熵通常是更自然的基线。当然,MSE在软标签、蒸馏或特定目标下仍可能使用,所以我会说通常不推荐,而不是绝对禁止。

Focal Loss是在交叉熵前乘调制因子,形式是负的alpha t乘一减p t的gamma次方,再乘log p t。p t表示模型给真实类别的概率。若样本已经分对而且p t接近一,调制因子会快速趋近零,大量易样本的梯度贡献就被压低;如果p t较低,因子接近一,难样本保留更多权重。

gamma控制聚焦强度。gamma等于零时,就是带类别权重的交叉熵;gamma越大,对易样本抑制越强,但过大也可能使有效样本太少,并过度关注错标或本身不可分的样本。gamma不是固定最佳值,需要在验证集上结合收敛和少数类指标调。

alpha t处理类别层面的基础权重。二分类里常定义正类用alpha、负类用一减alpha,但alpha取大还是取小不能只看“正类少”机械决定,因为它还和采样策略、gamma、误判成本及具体定义有关。原论文里的参数也不能无条件搬到新的1比100任务上,更不能把少数类权重直接写成零点零一。

工程上我会同时比较普通交叉熵、类别加权、重采样和Focal Loss,观察PR-AUC、少数类召回、误报成本和概率校准。还要抽查难样本是不是标签噪声,因为Focal Loss会把注意力集中到它们。只有在大量易负样本确实淹没训练信号时,我才把它作为优先方案。

多分类时可以把p t定义为softmax给真实类别的概率,alpha t使用每类权重。实现要先确认loss接收logit而不是已经softmax的概率,并检查reduction和样本权重,否则很容易重复归一化或重复加权。

关键一句:MSE对概率的梯度与经过sigmoid后的logit梯度为何不同。

核验来源

  1. Focal Loss for Dense Object Detection

面试官还可能这样问

  1. 问法 1 · 场景切入

    假设现在处理类别不平衡的分类任务,许多样本容易判对,另有少量难例和可能的错标。你会怎样比较 MSE、交叉熵与 Focal Loss?

  2. 问法 2 · 层层追问

    sigmoid 加 MSE 的 logit 梯度多了什么因子?……交叉熵为什么通常更匹配分类?……Focal 的 gamma 与 alpha 分别怎样作用?……错标难例会发生什么?

  3. 问法 3 · 直球技术

    请从概率与 logit 梯度对比 MSE 和交叉熵,再写出 Focal Loss,解释 alpha/gamma、易难样本降权和标签噪声/校准边界。

同模块相关题目