拓冰建站拓冰建站
首页 / 资讯中心 / 正文

199、YOLOv8改进实战:Label Smoothing标签平滑与Focal Loss联合训练解决类别不平衡

199、YOLOv8改进实战:Label Smoothing标签平滑与Focal Loss联合训练解决类别不平衡一个让我熬夜三天的bug去年做工业质检项目,检测PCB板上的微小焊点缺陷。数据分布惨不忍睹——正常焊点占了95%,虚焊只有3%,连焊2%。跑YOLOv8默认配置,mAP看着还行,0.85左右,但一查虚焊类别的AP,直接掉到0.12。模型学废了,它学会了偷懒:反正大部分都是正常焊点,全预测成正常类,损失函数也拿它没办法。那段时间我试了各种方法:过采样、欠采样、调整类别权重、甚至手动合成缺陷样本。效果有提升,但虚焊AP始终卡在0.3附近。直到我把Label Smoothing和Focal Loss组合起来用,虚焊AP直接跳到0.67,连焊也到了0.52。今天就把这个组合拳的实战经验拆开揉碎了讲。Label Smoothing到底在干什么先说Label Smoothing。很多人以为它只是防止过拟合的小技巧,但在类别不平衡场景下,它的作用远不止于此。YOLOv8默认的损失计算里,分类分支用的是BCE Loss。假设一个正样本的真实标签是[1,0,0],模型输出logits经过sigmoid后得到预测概率[0.9,0.05,0.05]。BCE Loss会让模型拼命把正类概率往1推,负类往0推。问题来了——当某个类别样本极少时,模型对这类样本的梯度信号极其微弱,而正常类样本的梯度却异常强大。模型会倾向于把一切模糊样本都判给正常类。Label
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门