Ultralytics YOLO26 是一个统一的实时视觉模型系列。它引入了原生端到端推理、更轻量的检测头、更新的训练方案,以及针对检测、分割、姿态估计、分类和定向检测的特定任务头。
在五个检测尺度上,YOLO26 在 COCO 上达到了 40.9-57.5 mAP,且 T4 TensorRT 延迟仅为 1.7-11.8 毫秒。与 YOLO11n 相比,YOLO26n 在 Intel Xeon CPU @ 2.00 GHz 上的 CPU ONNX 推理速度提升了高达 43%。

YOLO26 模型系列围绕四个设计领域构建:
- 原生端到端推理: 默认的一对一检测头无需非极大值抑制(NMS)即可生成预测,简化了部署并减少了后处理工作。
- 更轻量的框回归: YOLO26 移除了分布焦点损失(DFL),在保持无约束回归范围的同时降低了检测头的复杂度。
- 训练配方更新: 训练流水线结合了 MuSGD、Progressive Loss 和 STAL,旨在改进优化,将监督重点转向推理时的头部,并保持对小目标的正面标签覆盖。
- 特定任务的头部和损失函数: YOLO26 增加了针对实例分割、语义分割变体、姿态估计和定向检测的专项设计,同时在不同任务间保持统一的模型流水线。
总而言之,这些更新优化了各模型尺度和部署目标在准确率与延迟之间的权衡。
yolo26 的创新点:
- 架构简化:移除分布焦点损失(DFL),简化边界框回归,提升导出兼容性。
- 端到端推理:采用无NMS设计,直接输出检测结果,降低延迟与部署复杂度。
- 训练增强:引入渐进损失平衡(ProgLoss)与小目标感知标签分配(STAL),提升小目标检测稳定性。
- 优化器创新:使用MuSGD优化器,结合SGD与Muon优势,加速模型收敛。
- 多任务支持:统一框架支持检测、实例分割、姿态估计、定向检测与分类。
- 边缘优化:支持FP16/INT8量化,在Jetson等设备上实现低延迟实时推理。
- 性能表现:在COCO等基准上达到高精度,CPU推理速度较前代提升最高43%
网络结构介绍

yolo26 的网络结构简化可以表示为:

yolo26 在保证yolo系列标准框架下做出了一些列创新优化。yolo系列的网格划分,三个预测分支,每个网格一个预测结果等这些基础逻辑都没有变化。
和之前版本的网络结构有所不同的是,yolo26中head存在两个,用于无NMS的实现。两者的功能会在后续详细介绍。

1. Backbone 主干(特征提取,与YOLOv11近似)
输入图像 → 多层CBS卷积 + C3k2残差块 + SPPF + C2PSA自注意力
输出3个多尺度特征图:
- P3(stride=8,80×80):小目标浅层特征
- P4(stride=16,40×40):中等目标
- P5(stride=32,20×20):大目标深层语义
2. Neck 颈部FPN+PAN(多尺度融合)
自上而下上采样融合高层语义,自下而上下采样融合底层定位,最终输出融合后的P3/P4/P5送入检测头,主干、neck在O2M/O2O间完全共享权重。
3. Detect Head(核心创新:双分支并行输出)
三层特征图分别送入两组独立解耦头:
- One2Many(一对多)分支:传统稠密预测头,仅训练使用;网络结构上类似于yolov8,包括输入输出
- One2One(一对一)分支 :端到端无NMS头,训练+推理默认主分支;
两者卷积结构一致,但权重不共享;且O2O分支梯度会做detach,避免稀疏监督破坏主干特征学习。
4. 关键结构改动:彻底移除DFL
Box分支直接输出x/y/w/h4维坐标,无分布Softmax计算,轻量化、量化友好。
训练过程
一、前向传播
图像 ---> Backbone + Neck,得到共享P3/P4/P5多尺度特征
-
O2M(一对多)分支:直接用原始特征做预测

-
O2O(一对一)分支:对输入特征先执行截断梯度(影响反向传播),再做预测

二、损失计算
Loss计算(两者都参与,ProgLoss动态加权求和)
- O2M Loss:TAL一对多匹配损失;
- O2O Loss:STAL一对一匹配损失 + 重复框一致性惩罚损失;
总的损失:
:::info
Loss = w_o2m * Loss_o2m + w_o2o * Loss_o2o
:::
其中 w_o2m 和 w_o2o 是权重调节参数,训练前期w_o2m=0.8,后期逐步降到0.1;w_o2o同步从0.2升到0.9。
三、反向传播
- O2M梯度:完整回传 Backbone / Neck / O2M 全部网络结构
O2M无detach截断,它的损失梯度一路向前传播,全部主干、颈部网络权重由O2M梯度主导更新,保证充足稠密监督,避免稀疏梯度震荡。
- O2O梯度:仅更新O2O自身卷积头,不会回传到Backbone/Neck
因为输入特征做了detach(),梯度到此截断,O2O分支只能更新自己专属的分类/框卷积,完全不参与主干网络参数更新。
总结训练梯度:

Backbone、Neck 只靠 O2M 的梯度更新;O2M头、O2O头各自用自身分支梯度独立更新。
梯度截断
O2O 相较于O2M最大的特点是再反向传播时做了阻隔,O2O 分支前面加了 detach():

detach() 相当于在这里砌了一堵墙:
O2O Head 自己的权重可以改,但 O2O 的误差传不过去 Backbone 和 Neck,Backbone、Neck 完全不受 O2O 分支影响。这就叫:截断 O2O 分支对主干网络的梯度传播。目的是让O2O 只改自己的头,不改前面的特征提取部分。
为什么要这么做?(核心原因)
- O2O 是一对一稀疏监督:一张图只有几十个正样本,梯度很少、很不稳定。如果让它去改主干,Backbone 会学偏、学震荡、收敛很差
- O2M 是一对多稠密监督:正样本多,梯度稳,适合训练主干。O2M前期负责稳定特征的学习,O2O后期负责无NMS的特征学习。
推理
推理流程
在输入尺寸为 640 * 640 时,3个检测头输出特征图为:
- 20 * 20
- 40 * 40
- 80 * 80
每一个网格输出一个预测结果,总计 8400 个结果
-
全图8400个网格预测全部候选;
-
全局按置信度 TopK 筛选前300个最高分网格(max_det=300人为上限,平衡速度与稠密场景承载);
-
输出固定张量B,300,nc+4,不存在同物体重复预测框;
-
仅需置信度阈值过滤低分占位框,全程无IoU计算、无NMS。
导出
训练完成后、推理/导出阶段行为:
-
模型导出ONNX/TensorRT等部署文件、执行model.fuse()推理优化时,自动裁剪、永久移除O2M整个分支,只保留O2O一对一推理头;
-
推理前向仅走:Backbone+Neck → O2O头 → 全局TopK取前300 → 输出B,300,nc+4;
-
仅需置信度过滤,全程无NMS;
-
若手动设置end2end=False,推理才启用O2M分支,需要NMS后处理。
训推完整流程
- 训练阶段O2M、O2O双分支同时前向,两者损失加权求和参与反向传播;
- 仅O2M梯度回传更新Backbone与Neck,O2O梯度仅更新自身检测头;
- 训练导出模型时自动移除O2M分支,推理全程只使用O2O一对一检测头。
STAL
STAL 全称:Small-Target-Aware Label Assignment 小目标感知标签分配(训练阶段核心,无推理逻辑)
1. 解决的痛点
传统TAL固定IoU阈值匹配,极小物体易丢失正样本:8像素以内小GT,锚点很难落在框内、IoU极低,直接被划为背景,全程无监督导致严重漏检。
2. 核心机制
1. 动态自适应IoU阈值
物体尺寸越小,匹配IoU门槛自动降低;大目标维持高IoU保证匹配精准度。
2. 强制小目标候选扩容
极小GT强制分配至少4个候选锚点,仅允许在浅层P3(8倍下采样)匹配,锁定小目标最优特征层;临时扩张GT搜索范围,避免锚点完全脱离目标。
可参考:https://blog.csdn.net/qq_39697468/article/details/161798744
3. 双层TopK一对一冲突消解(支撑无NMS的关键)
○ 第一层:每个GT选出代价最低7个候选网格;
○ 第二层:全局匈牙利二分图冲突消解,保证1个GT仅分配1个最优网格作为正样本,1个网格最多归属1个GT;(无NMS的关键)
○ 所有重叠候选网格全部标记为背景,训练持续压低其置信度,从根源杜绝"同一物体多个高分框

4. 小目标损失加权
微小物体分类损失权重放大,强制模型重点学习微小特征。
作用定位
● 只为One-to-One一对一检测头提供合规训练标签;
● 兼顾无NMS所需的一对一匹配约束 + 小目标防漏检双重目标;
● 推理阶段不参与计算,仅影响模型收敛权重。
无NMS
1. 前代痛点(YOLOv8/v11)
采用One-to-Many一对多头,8400网格每个GT匹配多个锚点,输出大量重叠重复框,必须依赖NMS后处理:存在延迟波动、IoU阈值调参、嵌入式部署需额外后处理代码、DFL算子量化报错等问题。
2. 两大结构改动
- 双头协同训练,推理仅启用One-to-One分支
- One2Many(兼容分支):多匹配提供充足监督,保障主干特征精度;
- One2One(推理主分支):配合STAL一对一标签分配,训练时叠加重复框一致性损失,惩罚重叠双高分预测,让模型自发只保留单个高分框;
- 推理丢弃O2M分支,仅使用O2O输出。
-
彻底移除DFL分布回归,直接xywh坐标回归
消除大量Softmax计算,降低算力,解决嵌入式量化、导出算子不兼容问题。
-
推理流程(无NMS核心逻辑)
-
全图8400个网格预测全部候选;
-
全局按置信度TopK筛选前300个最高分网格(max_det=300人为上限,平衡速度与稠密场景承载);
-
输出固定张量B,300,nc+4,不存在同物体重复预测框;
-
仅需置信度阈值过滤低分占位框,全程无IoU计算、无NMS。
-
核心优势
-
推理延迟恒定无波动,CPU速度最高提升43%;
-
ONNX/TensorRT/CoreML导出纯网络图,无自定义后处理算子;
-
无需调优NMS IoU阈值,工业部署门槛大幅降低;
-
输出稀疏唯一框,稠密计数、机器人实时控制场景更稳定。
3.STAL 和 无NMS 的关系
STAL 与 无NMS检测头 协同关系(关键联动逻辑)
- STAL是无NMS成立的底层训练基础
若无STAL一对一分配规则,训练会出现一个GT对应多个正样本,模型推理必然输出大量重叠高分框,仅靠推理TopK无法消除重复,必须加NMS。
- 无NMS检测头为STAL提供专属输出通道
O2O头网络结构适配STAL一对一标签,配套一致性损失辅助STAL约束重叠网格置信度。
- 分工边界
- STAL:训练阶段标签匹配规则,负责"一个物体只给一个网格监督",解决小目标匹配失效;
- 无NMS检测头:网络结构+推理管线,负责训练双分支协同、推理截断输出、移除DFL、全程不用NMS。
极简一句话总结
STAL是面向小目标优化的一对一动态标签分配算法,训练时强制一GT一网格、压低重叠网格置信;原生端到端无NMS检测头是重构后的检测头结构与推理管线,配合STAL训练出无重复预测的模型,推理仅做全局TopK+置信度过滤,彻底抛弃NMS后处理,同时移除DFL轻量化回归。
双分支详解
一、整体三层通用架构(Backbone + Neck + 双头Detect Head)
1. Backbone 主干(特征提取,与YOLOv11近似)
输入图像 → 多层CBS卷积 + C3k2残差块 + SPPF + C2PSA自注意力
输出3个多尺度特征图:
- P3(stride=8,80×80):小目标浅层特征
- P4(stride=16,40×40):中等目标
- P5(stride=32,20×20):大目标深层语义
2. Neck 颈部FPN+PAN(多尺度融合)
自上而下上采样融合高层语义,自下而上下采样融合底层定位,最终输出融合后的P3/P4/P5送入检测头,主干、neck在O2M/O2O间完全共享权重。
- Detect Head(核心创新:双分支并行输出)
三层特征图分别送入两组独立解耦头:
- One2Many(一对多)分支:传统稠密预测头,仅训练使用;
- One2One(一对一)分支 :端到端无NMS头,训练+推理默认主分支;
两者卷积结构一致,但权重不共享;且O2O分支梯度会做detach,避免稀疏监督破坏主干特征学习。
4. 关键结构改动:彻底移除DFL
Box分支直接输出x/y/w/h4维坐标,无分布Softmax计算,轻量化、量化友好。
二、One2Many(O2M 一对多分支)------传统稠密监督分支
- 输出张量形态
三层网格总数:80×80 + 40×40 + 20×20 = 8400个网格点
输出shape:[B, nc+4, 8400],每个网格均可预测物体。
- 匹配规则(TAL宽松多匹配)
每个GT目标可匹配多个网格作为正样本(tal_topk=10),一个物体对应数十个重叠预测框。
-
作用定位(仅训练辅助)
-
稠密监督:大量正样本提供充足梯度,保证主干、neck特征提取稳定,避免O2O稀疏监督训练震荡;
-
ProgLoss动态权重:训练前期O2M损失权重高(0.8),主导模型学习基础特征;后期权重线性衰减至0.1;
-
推理时若手动开启
end2end=False,需搭配NMS后处理去除大量重复重叠框,延迟高、嵌入式部署复杂。 -
优缺点
✅ 训练收敛稳、基础特征质量高;
❌ 输出海量重复框,必须NMS,推理延迟波动大,导出易存在DFL量化bug。
损失计算
对于单个检测分支,YOLO26 并不是只剩下"一个 Box Loss + 一个分类损失"。更准确的结构是:
plain
CIoU Box Loss + BCE Classification Loss + L1 Direct Regression Loss
可以写为:

其中:
- CIoU Loss:关注整体框重叠、中心距离、宽高比例
- BCE Classification Loss:分类损失
- L1 Loss:直接约束 Anchor Point 到四条边的回归误差
三、One2One(O2O 一对一分支)------原生端到端无NMS推理头
- 训练配套:STAL标签分配(无NMS成立的底层基础)
双层TopK一对一冲突消解:
-
每层GT先筛选代价最小7个候选网格;
-
全局二分匹配强制:1个GT仅分配1个最优网格、1个网格最多归属1个GT;
-
其余重叠网格全部标记背景,训练持续压低其置信度;叠加重复框一致性损失,惩罚同一物体多高分预测。
-
推理流水线(端到端无NMS)
-
原始8400网格全部预测box+cls分数;
-
全局TopK筛选 :按类别置信度排序,只保留分数最高前300个网格(
max_det=300人为硬上限); -
输出固定张量:
[B, 300, nc+4]; -
仅需置信度阈值过滤低分占位框,全程不计算IoU、无NMS。
-
输出与约束
-
张量固定300条条目,绝大多数是置信度接近0的背景占位框;
-
训练约束保证有效高分框无重叠、不重复对应同一物体;
-
单帧画面物体超过300个会出现截断漏检;
-
ONNX/TensorRT导出纯网络图,无自定义后处理算子,CPU/嵌入式速度提升30%~43%。
-
优缺点
✅ 无需NMS、推理延迟恒定、部署极简、小目标精度经STAL优化大幅提升;
❌ 纯O2O单独训练易震荡,必须搭配O2M双分支联合训练。
四、O2M vs O2O 核心对比表
| 维度 | One2Many(一对多) | One2One(一对一) |
|---|---|---|
| 使用阶段 | 仅训练辅助,推理默认关闭 | 训练+推理主分支(end2end默认开启) |
| 标签分配 | TAL,1GT匹配多个网格 | STAL,1GT仅匹配1个最优网格 |
| 原始输出 | 8400个稠密网格预测 | 8400网格→全局TopK截断至300条 |
| 输出shape | B, nc+4, 8400 | B, 300, nc+4 |
| 后处理要求 | 必须NMS去重 | 仅conf阈值过滤,无NMS |
| DFL | 早期兼容DFL,YOLO26全部移除 | 无DFL,直接xywh回归 |
| 训练权重 | 前期主导,权重线性衰减 | 后期主导,收敛精准匹配 |
| 部署优势 | 传统YOLO兼容,精度略高 | 速度更快、量化稳定、工业实时友好 |
五、双分支协同逻辑(完整训练链路)
- 图像输入→Backbone+Neck提取共享多尺度特征;
- 特征同时送入O2M、O2O两组独立检测头并行预测;
- 损失融合ProgLoss:前期大权重O2M稳定特征学习,后期大权重O2O拟合一对一无NMS预测逻辑;
- 训练完成后导出模型会裁剪移除O2M分支,推理仅保留O2O端到端管线;
- 若需传统NMS推理,可代码手动启用O2M分支验证。
六、一句话总结
YOLO26在共用主干与特征融合网络的基础上,设计O2M稠密监督+O2O一对一精准预测双检测头:O2M负责提供充足梯度保证训练稳定,O2O配合STAL一对一标签分配实现推理无NMS、轻量化部署,二者联合训练兼顾收敛速度与端侧推理性能。
ProgLoss 渐进损失平衡
一、核心定义
ProgLoss = Progressive Loss Balancing 渐进式损失平衡 ,专门配套 YOLO26 O2M+O2O 双分支训练,随训练轮次线性动态调整 O2M、O2O 两支损失的权重占比,总权重恒等于1,遵循「先粗后精」学习逻辑,解决固定权重带来的训练震荡、梯度冲突问题。
二、权重变化规则(官方固定调度)
- 训练初始(epoch=0)
w_{o2m}=0.8,w_{o2o}=0.2
总损失: Loss_{total} = 0.8 \\cdot Loss_{O2M} + 0.2 \\cdot Loss_{O2O} - 全程线性渐变
随训练进度均匀衰减,直到训练结束 - 训练末尾(最后epoch)
w_{o2m}=0.1,w_{o2o}=0.9
总损失: Loss_{total} = 0.1 \\cdot Loss_{O2M} + 0.9 \\cdot Loss_{O2O} - 约束: w_{o2m} + w_{o2o} = 1 ,总损失量级稳定,不会剧烈跳变
三、分阶段作用逻辑(对应网络梯度设计)
阶段1:训练前期(O2M权重高,占80%)
- 网络刚初始化,特征完全随机,框预测乱飞、分类不准;
- O2M是一对多稠密监督,一张图数千个正样本,梯度充足、稳定;
- 主干Backbone/Neck仅靠O2M梯度更新,高权重O2M主导训练:
- 快速学会"图里哪里存在物体",召回率快速提升;
- 搭建基础多尺度特征提取能力;
- O2O权重仅20%,且O2O梯度被
detach()截断,不干扰主干学习,仅微调自身一对一检测头。
阶段2:训练中期(权重平滑过渡)
物体大致位置已经能检出,逐步降低O2M话语权、抬高O2O权重;
模型开始学习STAL一对一匹配规则:同一个物体只输出单个高分框,抑制重叠重复预测。
阶段3:训练后期(O2O权重高达90%)
- 主干特征已经收敛、物体定位基本准确;
- 权重重心完全转向O2O分支,强制模型贴合 推理时真实使用的一对一无NMS逻辑;
- 重点优化:
- STAL一对一匹配精度;
- 重复框一致性损失,压低重叠网格置信;
- 小目标精准分类与定位;
- O2M仅保留10%权重做轻微约束,防止模型完全遗忘基础稠密匹配能力。
四、解决的传统痛点
- 固定权重双分支梯度冲突
若全程各50%权重:前期O2O稀疏梯度噪声大,会拖累主干收敛;后期O2M一对多重复框监督,干扰无NMS一对一预测效果。 - O2O单独训练极易震荡
O2O一对一匹配每张图只有几十个正样本,梯度稀疏不稳定;ProgLoss前期靠O2M稠密梯度兜底,保证训练平稳。 - 训练与推理行为不一致
推理只使用O2O,若全程权重均衡,模型没有足够动力学习"单物体单预测框",推理容易出现大量重叠高分框,必须依赖NMS。ProgLoss后期加大O2O权重,让训练逻辑和推理逻辑完全对齐。
五、和 detach() 梯度截断的配合关系(关键联动)
- ProgLoss 控制两支损失对总loss的贡献大小(权重调度);
- detach() 控制梯度能否回传主干 :
- O2M:梯度完整回传Backbone,ProgLoss前期高权重,主导主干更新;
- O2O:梯度被截断,只能更新自身检测头,仅靠ProgLoss后期高权重精调一对一预测能力;
- 二者组合实现完美分工:
O2M负责训练主干特征 ,O2O负责训练推理输出规则,ProgLoss动态分配两者的训练优先级。
六、一句话极简总结
ProgLoss 是YOLO26双分支训练的动态权重调度器:前期加重O2M稠密监督稳定主干特征,后期加重O2O一对一监督对齐无NMS推理行为,配合detach梯度截断,兼顾训练收敛稳定性与端到端推理精度。
YOLO26 MuSGD 混合优化器完整介绍
一、定义与定位
MuSGD = Muon + SGD 分层混合优化器 ,是YOLO26专门为O2M/O2O双分支、多尺度、小目标检测设计的训练优化器,借鉴LLM大模型Muon正交更新思路,分层区分参数做差异化更新,同时保留传统SGD优秀泛化能力,解决SGD收敛慢、AdamW显存高、易过拟合、多尺度梯度震荡等痛点。
:::info
Muon(MomentUm Orthogonalized by Newton-Schulz)优化器的核心,在于它引入了一个全新的"正交更新"思路:在每次更新时,它不直接使用梯度或动量方向,而是先将其"掰正"为一个近似的正交矩阵 ,再用这个处理过的方向来更新权重。
对深度学习而言,直接对动量大矩阵进行SVD分解求极分解在计算上不可行。因此,Muon采用了牛顿-舒尔茨(Newton-Schulz,NS)迭代 来高效地近似求解这个正交矩阵。
这是一种仅包含矩阵-矩阵乘法 的迭代方法,非常适合在GPU上运行
:::
二、前代优化器核心痛点(为什么需要MuSGD)
- 传统SGD(momentum)
泛化能力强、显存占用低;但收敛速度慢,多尺度特征、稀疏O2O监督场景梯度波动大、损失震荡严重,小数据集极易陷入局部最优。 - AdamW
自适应学习率、收敛快;但需要维护一阶+二阶动量,显存占用翻倍;容易过拟合,量化部署后精度衰减明显;检测任务分类/框回归梯度尺度差异大时更新失衡。 - 双分支训练特殊矛盾
YOLO26同时存在稠密O2M、稀疏O2O两套损失,梯度尺度差异巨大,单一优化器很难同时稳定主干与一对一检测头训练。
三、MuSGD核心原理:分层差异化更新(最关键设计)
MuSGD对模型不同维度参数分开处理,一套网络同时使用两套更新逻辑:
- 二维矩阵参数(Conv/Linear权重,ndim≥2)→** Muon正交更新**
卷积层、全连接层权重是二维矩阵,采用Muon算法更新:
-
先计算动量累积梯度(同SGD动量);
-
使用牛顿-舒尔茨(Newton-Schulz)快速近似正交化动量更新矩阵,无需昂贵SVD分解,计算开销仅1%左右;
-
正交化作用:抹平梯度奇异值差异,让各个特征方向更新速度均等,避免单一梯度方向主导训练;
-
最终用正交后的矩阵执行参数更新。
-
一维向量参数(Bias、BN、O2O/O2O头偏置,ndim=1)→ 原生SGD动量更新
偏置、归一化层等一维参数不做正交化,直接使用标准带动量SGD更新,保证轻量化、稳定基础偏移学习。
- 梯度归一化稳定机制(Muon底层保障)
对梯度做范数归一:
g_{norm} = \\frac{g}{\|\|g\|\| + \\varepsilon}
统一不同层、分类/回归损失的梯度更新尺度,抑制梯度爆炸/消失,大幅降低多尺度、双分支训练的损失波动。
四、MuSGD三大核心优势(适配YOLO26架构)
- 收敛速度大幅提升
正交化梯度消除更新方向失衡,同等精度所需训练轮次减少约40%;配合ProgLoss渐进权重调度,前期O2M稠密监督快速拟合主干特征,后期O2O稀疏监督平稳收敛一对一无NMS逻辑。
- 显存开销远低于AdamW
Muon仅维护一阶动量,不需要存储二阶平方梯度;整体显存占用接近普通SGD,比AdamW节省近50%显存,多卡、大batch训练更友好。
- 兼顾收敛速度与泛化能力
- Muon正交更新解决SGD收敛慢、震荡问题;
- 底层更新基底是SGD,无AdamW自适应学习率带来的过拟合倾向;
- 训练完成后模型量化(INT8/FP16)精度损失更小,完美适配YOLO26端侧部署定位。
- 完美适配YOLO26双分支训练
- O2M稠密梯度:Muon正交化平滑海量网格梯度,稳定Backbone/Neck主干更新;
- O2O稀疏梯度(detach截断、仅更新检测头):梯度归一化避免稀疏梯度剧烈抖动,一对一匹配训练更平稳;
- 搭配STAL小目标标签分配,小目标梯度权重失衡问题显著缓解,微小物体mAP提升明显。
五、MuSGD 与 SGD / AdamW 对比表
| 对比维度 | SGD-Momentum | AdamW | MuSGD(YOLO26) |
|---|---|---|---|
| 梯度处理 | 原始动量梯度,无归一化/正交 | 一阶+二阶动量自适应缩放 | 二维权重Muon正交化,一维参数SGD,全局梯度归一 |
| 显存占用 | 低(仅一阶动量) | 高(一阶+二阶) | 低(仅一阶动量,≈SGD) |
| 收敛速度 | 慢,多尺度易震荡 | 快,易过拟合 | 极快,损失波动极小 |
| 泛化能力 | 优秀 | 较差,小数据集易过拟合 | 接近SGD,泛化鲁棒 |
| 量化后精度衰减 | 小 | 大 | 极小 |
| 适配YOLO26双分支 | 梯度波动剧烈,收敛不稳 | 显存压力大,O2O稀疏梯度失衡 | 原生适配O2M+O2O联合训练 |
六、和YOLO26其他创新的协同关系
- 搭配ProgLoss渐进损失
ProgLoss动态切换O2M/O2O损失权重,MuSGD分层梯度归一化抵消两支梯度量级差,避免权重切换时loss剧烈跳变。 - 搭配STAL一对一标签分配
O2O分支单图仅几十个正样本,梯度极度稀疏;MuSGD梯度归一化抑制稀疏梯度噪声,保证一对一匹配稳定学习,不会出现训练震荡。 - 搭配detach梯度截断机制
Backbone仅由O2M梯度更新,Muon正交化平滑海量8400网格稠密梯度;O2O梯度被截断,MuSGD稳定检测头独立训练,互不干扰。
七、一句话极简总结
MuSGD是分层混合优化器:卷积/全连接权重采用Muon矩阵正交化加速收敛,偏置等一维参数使用标准SGD,依靠梯度归一化抹平多尺度、双分支梯度差异;兼具SGD低显存、强泛化与Muon快速收敛的优势,专门适配YOLO26 O2M/O2O双分支、STAL一对一匹配的端到端无NMS训练流程。
总结
对yolo26的训练过程稍微总结一下:
- 前向传播:图片输入经过backbone + Neck,分别进入 O2M 和 O2O 的Head中。O2M输出:B, nc+4, 8400,O2O输出:B, 300, nc+4。
- 标签匹配:O2M 匹配标签可实现多对多匹配,O2O 匹配标签实现一对一匹配
- 损失计算:两者损失想加计算,使用渐进式损失平衡
- 反向传播:O2M分支的损失反向传递整个网络;O2O分支损失仅传递Head网络
推理:
- 输出经过backbone + Neck + O2M ,直接输出l t r b ,没有 DFL 分布式输出
- 不需要NMS做后处理,直接可以使用