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 · 场景切入
假设现在处理类别不平衡的分类任务,许多样本容易判对,另有少量难例和可能的错标。你会怎样比较 MSE、交叉熵与 Focal Loss?
- 问法 2 · 层层追问
sigmoid 加 MSE 的 logit 梯度多了什么因子?……交叉熵为什么通常更匹配分类?……Focal 的 gamma 与 alpha 分别怎样作用?……错标难例会发生什么?
- 问法 3 · 直球技术
请从概率与 logit 梯度对比 MSE 和交叉熵,再写出 Focal Loss,解释 alpha/gamma、易难样本降权和标签噪声/校准边界。