152、Focal Loss 中 α 与 γ 超参的网格搜索:16 组参数组合在 YOLOv11 上的结果
📅 2026/7/8 15:07:42
👁️ 阅读次数
📝 编程学习
152、Focal Loss 中 α 与 γ 超参的网格搜索:16 组参数组合在 YOLOv11 上的结果
一、从一次线上事故说起
去年双十一大促,我负责的工业质检项目突然崩了——模型对缺陷样本的召回率从0.87暴跌到0.31。排查了两天,发现是数据分布变了:正常样本暴增到98%,缺陷样本只剩2%。当时团队里有人提议直接加权重,有人建议上OHEM,但我知道,这种极度不平衡的场景,Focal Loss才是正解。
但问题来了:Focal Loss的两个超参α和γ,到底怎么调?网上清一色的“α=0.25,γ=2.0”默认值,可我在YOLOv5时代就踩过坑——这个配置在工业缺陷检测上直接让模型训崩了。后来我花了整整一周,在YOLOv11上做了16组网格搜索,今天把血泪经验全盘托出。
二、Focal Loss在YOLOv11中的正确打开方式
先别急着改代码,YOLOv11的损失函数结构和v5/v8有本质区别。v11的损失计算分布在三个地方:分类损失、回归损失、DFL损失。我们只动分类损失部分,千万别动回归和DFL,否则模型会学歪。
2.1 定位修改点
打开你的YOLOv11源码,找到ultralytics/utils/loss.py,定位到v8ClassificationLoss类。注意,v11虽然叫v8ClassificationLoss,但内部实现已经重构了。关键代码在第120
编程学习
技术分享
实战经验