
前言本文介绍了可编程梯度信息PGI和通用高效层聚合网络GELAN以及SPPELAN模块在YOLOv11中的结合应用。针对深度网络数据传输中的信息丢失问题提出PGI概念以提供完整输入信息计算目标函数获得可靠梯度更新网络权重并基于梯度路径规划设计了GELAN架构。我们将SPPELAN模块集成进YOLOv11在MS COCO目标检测任务中GELAN展现出更好的参数利用率PGI使模型表现优于预训练的最新模型改进后的YOLOv11也取得了良好实验结果。文章目录 YOLOv11改进大全卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总专栏链接: YOLOv11改进专栏介绍摘要当前深度学习研究主要聚焦于优化目标函数设计旨在使模型预测结果最大程度逼近真实标注值ground truth同时需要构建合适的网络架构以确保预测过程中获取充分的信息支持。然而现有研究方法普遍忽视了一个关键现象输入数据在经历逐层特征提取与空间变换过程中会产生显著的信息丢失。本文系统性地探讨了深度网络中数据传递过程中出现的信息损失问题特别是信息瓶颈与可逆函数相关的理论机制。为此我们提出了可编程梯度信息Programmable Gradient Information, PGI的创新概念该概念能够有效应对深度网络为实现多样化目标任务所需的各种变换需求。PGI机制可为特定目标任务提供完整的输入信息用于目标函数计算从而获得可靠的梯度信息以优化网络权重更新过程。基于梯度路径规划策略我们进一步设计了一种新型轻量级网络架构——通用高效层聚合网络Generalized Efficient Layer Aggregation Network, GELAN该架构的实验结果验证了PGI在轻量级模型中取得的卓越性能。在MS COCO数据集的目标检测任务中我们对提出的GELAN与PGI进行了全面验证。实验结果表明GELAN仅采用常规卷积算子即可实现比基于深度卷积depth-wise convolution的先进方法更优的参数利用效率。PGI技术展现出良好的通用性适用于从轻量级到大规模的各种模型架构能够有效获取完整信息使得从零开始训练的模型性能超越基于大规模数据集预训练的先进模型具体性能对比详见实验结果图示。相关源代码已公开于https://github.com/WongKinYiu/yolov9。文章链接论文地址论文地址代码地址代码地址核心代码class SPPELAN(nn.Module): # spp-elan def __init__(self, c1, c2, c3): # ch_in, ch_out, number, shortcut, groups, expansion super().__init__() self.c c3 self.cv1 Conv(c1, c3, 1, 1) self.cv2 SP(5) self.cv3 SP(5) self.cv4 SP(5) self.cv5 Conv(4*c3, c2, 1, 1) def forward(self, x): y [self.cv1(x)] y.extend(m(y[-1]) for m in [self.cv2, self.cv3, self.cv4]) return self.cv5(torch.cat(y, 1))实验脚本import warnings warnings.filterwarnings(ignore) from ultralytics import YOLO if __name__ __main__: # 修改为自己的配置文件地址 model YOLO(/root/ultralytics-main/ultralytics/cfg/models/11/yolov11-SPPELAN.yaml) # 修改为自己的数据集地址 model.train(data/root/ultralytics-main/ultralytics/cfg/datasets/coco8.yaml, cacheFalse, imgsz640, epochs10, single_clsFalse, # 是否是单类别检测 batch8, close_mosaic10, workers0, optimizerSGD, ampTrue, projectruns/train, nameSPPELAN, )## 结果