前言:当“端到端”成为一把双刃剑
2026年1月14日,Ultralytics在伦敦YOLO Vision 2025(YV25)大会上正式发布了YOLO26。由Glenn Jocher和Jing Qiu主导开发,这个版本被官方定义为“YOLO家族的一次巨大代际飞跃”。
如果你第一时间下载了源码并尝试训练,可能会注意到一个细节:训练日志里再也看不到DFL(Distribution Focal Loss)的身影了,取而代之的是一套全新的损失平衡机制——ProgLoss(Progressive Loss Balancing,渐进式损失平衡)。
但问题是:ProgLoss到底是什么?它是如何在代码层面实现的?它凭什么能让YOLO26的训练更稳定?
本文核心观点:YOLO26通过ProgLoss渐进式损失平衡机制,在端到端无NMS架构的训练过程中,动态调节双头(one-to-many与one-to-one)的损失权重,从根本上解决了端到端训练中“训练目标与推理行为不一致”这一长期痛点。
本文将带你逐行拆解ProgLoss的源码实现,并深入探讨它如何与STAL、MuSGD协同工作,保障训练稳定性。
一、背景:YOLO26为什么要重新思考训练方式?
1.1 端到端架构的“代价”
YOLO26