编辑
2025-09-08
python
00
请注意,本文编写于 91 天前,最后修改于 91 天前,其中某些信息可能已经过时。

目录

📉 一、回归任务(Regression)损失函数
1. 均方误差 / L2 损失 (Mean Squared Error, MSE)
2. 平均绝对误差 / L1 损失 (Mean Absolute Error, MAE)
3. 平滑 L1 损失 (Smooth L1 Loss)
4. 胡贝尔损失 (Huber Loss)
🎯 二、分类任务(Classification)损失函数
1. 交叉熵损失 (Cross-Entropy Loss)
• 二分类 (Binary Cross-Entropy, BCE):
• 多分类 (Categorical Cross-Entropy, CCE):
2. 焦点损失 (Focal Loss)
🖼️ 三、计算机视觉(CV)特定损失函数
1. 交并比损失 (IoU Loss)
2. 广义交并比损失 (Generalized IoU Loss, GIoU)
⚖️ 四、复合损失函数(以 YOLO 为例)

📉 一、回归任务(Regression)损失函数

1. 均方误差 / L2 损失 (Mean Squared Error, MSE)

LMSE=1Ni=1N(yiy^i)2L_{\text{MSE}} = \frac{1}{N} \sum_{i=1}^{N} (y_i - \hat{y}_i)^2

2. 平均绝对误差 / L1 损失 (Mean Absolute Error, MAE)

LMAE=1Ni=1Nyiy^iL_{\text{MAE}} = \frac{1}{N} \sum_{i=1}^{N} |y_i - \hat{y}_i|

3. 平滑 L1 损失 (Smooth L1 Loss)

Lsmooth L1(x)={12x2,if x<1x12,otherwise其中 x=yiy^iL_{\text{smooth } L1}(x) = \begin{cases} \frac{1}{2} x^2, & \text{if } |x| < 1 \\ |x| - \frac{1}{2}, & \text{otherwise} \end{cases} \quad \text{其中 } x = y_i - \hat{y}_i

4. 胡贝尔损失 (Huber Loss)

LHuber(x)={12x2,for xδδx12δ2,otherwise其中 x=yiy^iL_{\text{Huber}}(x) = \begin{cases} \frac{1}{2} x^2, & \text{for } |x| \leq \delta \\ \delta |x| - \frac{1}{2} \delta^2, & \text{otherwise} \end{cases} \quad \text{其中 } x = y_i - \hat{y}_i

🎯 二、分类任务(Classification)损失函数

1. 交叉熵损失 (Cross-Entropy Loss)

• 二分类 (Binary Cross-Entropy, BCE):
LBCE=1Ni=1N[yilog(y^i)+(1yi)log(1y^i)]L_{\text{BCE}} = -\frac{1}{N} \sum_{i=1}^{N} \left[ y_i \cdot \log(\hat{y}_i) + (1 - y_i) \cdot \log(1 - \hat{y}_i) \right]
• 多分类 (Categorical Cross-Entropy, CCE):
LCCE=1Ni=1Nc=1Cyi,clog(y^i,c)L_{\text{CCE}} = -\frac{1}{N} \sum_{i=1}^{N} \sum_{c=1}^{C} y_{i,c} \cdot \log(\hat{y}_{i,c})

其中 yi,c{0,1}y_{i,c} \in \{0,1\} 是 one-hot 编码的真实标签(样本 ii 属于类别 cc 时为 1,否则为 0)。

2. 焦点损失 (Focal Loss)

LFocal=1Ni=1Nαt(1y^i)γlog(y^i)L_{\text{Focal}} = -\frac{1}{N} \sum_{i=1}^{N} \alpha_t (1 - \hat{y}_i)^{\gamma} \cdot \log(\hat{y}_i)

🖼️ 三、计算机视觉(CV)特定损失函数

1. 交并比损失 (IoU Loss)

LIoU=1IoU=1ABABL_{\text{IoU}} = 1 - \text{IoU} = 1 - \frac{|A \cap B|}{|A \cup B|}

其中 AA 是预测框,BB 是真实标注框。

2. 广义交并比损失 (Generalized IoU Loss, GIoU)

LGIoU=1GIoU=1(IoUC(AB)C)L_{\text{GIoU}} = 1 - \text{GIoU} = 1 - \left( \text{IoU} - \frac{|C \setminus (A \cup B)|}{|C|} \right)

⚖️ 四、复合损失函数(以 YOLO 为例)

现代目标检测器(如 YOLOv3/v4/v5/v7/v8)通常采用加权组合损失:

LYOLO=λcoordLcoord+λobjLobj+λnoobjLnoobj+λclassLclassL_{\text{YOLO}} = \lambda_{\text{coord}} L_{\text{coord}} + \lambda_{\text{obj}} L_{\text{obj}} + \lambda_{\text{noobj}} L_{\text{noobj}} + \lambda_{\text{class}} L_{\text{class}}

其中各项含义如下:

  • LcoordL_{\text{coord}}:边界框坐标回归损失(常用 CIoU、DIoU、GIoU 或 Smooth L1);
  • LobjL_{\text{obj}}:含有目标的置信度损失(通常用 BCE 或 Focal Loss);
  • LnoobjL_{\text{noobj}}:不含目标的置信度损失(BCE,常加负样本权重);
  • LclassL_{\text{class}}:类别预测损失(Cross-Entropy 或 Focal Loss);
  • λ\lambda_{\cdot}:各子损失的超参数权重,用于平衡训练过程。

本文作者:君逍遥

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!