151、Focal Loss 核心从零推导:Cross-Entropy 到 α-balanced Focal Loss 的数学与代码

📅 2026/7/8 12:26:47
151、Focal Loss 核心从零推导:Cross-Entropy 到 α-balanced Focal Loss 的数学与代码
151、Focal Loss 核心从零推导:Cross-Entropy 到 α-balanced Focal Loss 的数学与代码一、一个让我失眠的调试问题去年做自动驾驶行人检测时,遇到一个诡异现象:模型在训练集上loss降得漂亮,验证集mAP却卡在0.72不动。翻看检测结果,发现远处小目标几乎全漏检,而近处大目标框得贼准。更气人的是,背景负样本占了训练样本的95%以上,模型学成了一个“背景检测器”。当时我盯着tensorboard上那条平滑下降的loss曲线,突然意识到:交叉熵损失对易分类样本太友好了。一个背景区域被正确分类,loss贡献几乎为零,但这类样本占了绝大多数,梯度被它们稀释,难样本根本得不到有效学习。这就是Focal Loss要解决的问题。别急着调参,我们先从数学上理解它到底在干什么。二、从Cross-Entropy到Focal Loss的数学推导2.1 二分类交叉熵的另一种写法标准二分类交叉熵长这样:CE(p, y) = -[y * log(p) + (1-y) * log(1-p)]其中y∈{0,1}是真实标签,p∈[0,1]是模型预测为正类的概率。为了方便推导Focal Loss,我们定义一个变量pt: