YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information

论文地址:https://arxiv.org/pdf/2402.13616.pdf

代码地址:GitHub - WongKinYiu/yolov9: Implementation of paper - YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information

yolov7的作者更新了yolov9


摘要 当今的深度学习方法侧重于如何设计最合适的目标函数,以便模型的预测结果最接近真实情况;与此同时,必须设计一个适当的架构,以便于获取足够的信息进行预测。现有的方法忽略了一个事实:当输入数据进行逐层特征提取和空间变换时,会丢失大量信息。本文将深入探讨数据通过深度网络传输时数据丢失的重要问题,即信息瓶颈和可逆功能。

  • 提出了可编程梯度信息(PGI)的概念,以应对深度网络实现多重目标所需的各种变化。PGI可以为目标任务提供完整的输入信息来计算目标函数,从而获得可靠的梯度信息来更新网络权重。

  • 设计了一种基于梯度路径规划的新型轻量级网络架构——广义高效层聚合网络(GELAN)。GELAN的架构证实了PGI在轻量化模型上取得了优异的成绩。我们在基于MS COCO数据集的目标检测上验证了所提出的GELAN和PGI。

结果表明,与基于深度卷积的现有方法相比,GELAN仅使用传统的卷积算子即可实现更好的参数利用。PGI可用于从轻量级到大型的各种型号。它可以用来获得完整的信息,使从头开始训练的模型比使用大数据集预训练的最先进的模型获得更好的结果,比较结果如图1所示。


本文的贡献总结如下:

  • 作者从可逆函数的角度对现有的深度神经网络架构进行了理论分析,通过这个过程,我们成功地解释了许多过去难以解释的现象。我们还基于该分析设计了PGI和辅助可逆分支,并取得了优异的效果。

  • 作者设计的PGI解决了深度监督只能用于极深神经网络架构的问题,从而让新的轻量级架构真正应用到日常生活中。

  • 作者设计的GELAN仅使用常规卷积,比基于最先进技术的深度卷积设计实现更高的参数使用,同时显示出轻巧、快速、准确的巨大优势

  • 结合所提出的PGI和GELAN,YOLOv9在MS COCO数据集上的目标检测性能在各个方面都大大超越了现有的实时目标检测器


方法

Gradient Information

为了解决上述问题,作者提出了一种新的辅助监督框架,称为可编程梯度信息(PGI),如图3(d)所示。

PGI主要包括三个组成部分,即:

  1. 主分支

  2. 辅助可逆分支

  3. 多级辅助信息

从图3(d)的展示中,可以观察到可编程梯度信息(PGI)的推理流程仅涉及主分支,避免了额外推理成本的产生。这一设计精巧地应对了深度学习中的关键挑战,通过两个关键组件提升模型性能:

  • 辅助可逆分支:引入此组件是为了解决随着网络深度增加而引发的信息瓶颈问题。这种信息瓶颈会干扰损失函数生成有效梯度的能力,辅助可逆分支通过保持信息流动的完整性来克服这一障碍。

  • 多级辅助信息:此部分旨在解决深度监督可能导致的误差累积问题,尤其是在拥有多个预测分支的结构和轻量级模型中。通过引入多级辅助信息,模型能够更有效地学习并减少误差传播。

作者随后详细阐述了这两个组件的实现和作用,指出它们如何共同作用于提高模型的整体性能,特别是在处理复杂任务和轻量级模型的应用中。

Auxiliary Reversible Branch

本节重点讨论了多级辅助信息机制的实现和作用。在深度监督架构中,特别是在目标检测任务中,通常会利用不同层次的特征金字塔来处理不同规模的目标,如图3(c)所展示。这种方法允许模型在特定的深度监督分支下,根据浅层特征识别小型目标,同时将其他规模的目标视为背景。这一做法虽然针对性强,但可能导致深层特征金字塔在预测各种大小目标时丢失关键信息。

作者提出,为了有效地保持目标信息的完整性,每一级的特征金字塔都应该接受到有关所有目标大小的信息。为此,作者引入了一种多级辅助信息框架,通过在辅助监督特征金字塔层和主分支之间加入集成网络,如图3(d)所示。这个集成网络的角色是整合来自不同预测分支的梯度信息,并将这一聚合的信息传递给主分支,以促进参数的更新。

通过这种方法,主分支的特征金字塔不再仅仅被某一特定规模目标的信息所支配,而是能够综合考虑各种规模的目标信息,从而解决了深度监督可能引起的信息断裂问题。此外,多级辅助信息机制的灵活性体现在任何类型的集成网络都可以被用作信息聚合的工具,使得研究者能够根据不同大小的网络架构需求,定制化地规划所需的语义层级,从而指导模型学习。

Generalized ELAN

在这一部分,研究者详细描述了他们开发的新型网络结构——广义高效层聚合网络(GELAN)。GELAN是通过融合两个先进的网络设计理念——具有梯度路径规划能力的CSPNet和ELAN——而诞生的。这种设计致力于实现一个既轻量又快速且精确的网络架构,全面优化了网络性能和效率。其详细架构展示在图4中。在此基础上,研究者对ELAN的应用范围进行了扩展,使其不再局限于传统的卷积层堆叠方式,而是能够灵活地适配各种计算单元,显著提升了网络的通用性和适应性。


实验

表 1 列出了作者提出的 YOLOv9 与其他从头开始训练的实时目标检测器的比较。总体而言,现有方法中性能最好的方法是轻量级模型的 YOLO MS-S  、中型模型的 YOLO MS  、通用模型的 YOLOv7 AF 和大型模型的 YOLOv8-X

  • 与轻量级和中型型号YOLO MS[7]相比,YOLOv9的参数减少了约10%,计算量减少了5∼15%,但AP仍提高了0.4%∼%0.6%;

  • 与YOLOv7 AF相比,YOLOv9-C的参数减少了42%,计算次数减少了21%,但AP相同(53%);

  • 与YOLOv8-X相比,YOLOv9-X的参数减少了15%,计算次数减少了25%,AP显著提高了1.7%。

以上对比结果表明,与现有方法相比,作者提出的YOLOv9在各个方面都有了显著的改进

另一方面,作者还在比较中加入了 ImageNet 预训练模型,结果如图 5 所示。作者分别根据参数和计算量对它们进行比较。

  • 就参数数量而言,性能最好的大型模型是RT DETR。从图 5 中可以看出,在参数利用方面,使用传统卷积的 YOLOv9 甚至比使用深度卷积的 YOLOv9 更好。至于大模型的参数利用率,也大大超过了使用ImageNet预训练模型的RT DETR。更好的是,在深度模型中,YOLOv9 展示了使用 PGI 的巨大优势。通过准确保留和提取将数据映射到目标所需的信息,作者的方法只需要 64% 的参数,同时保持 RT DETR-X 的精度

  • 至于计算量,现有最好的模型从小到大是 YOLO MS、 PP-YOLOE和 RT-DETR。从图 5 中可以看出,YOLOv9 在计算复杂度方面远远优于从头开始训练的方法。此外,如果与基于深度卷积和基于 ImageNet 的预训练模型相比,YOLOv9 也非常有竞争力。

 Generalized ELAN的消融实验

在探索GELAN架构的有效性方面,研究者进行了一系列消融实验,以评估不同计算块(如Res块、Dark块和CSP块)替换ELAN架构中卷积层后的性能表现。实验结果汇总于表2,显示了使用这些多样化的计算块后,系统性能依然保持在一个较高水平,验证了用户可以根据需求和推理设备的特性自由选择不同的计算块。

在众多测试中,CSP块特别引人注目,因其不仅成功减少了模型的参数数量和计算需求,而且还实现了0.7%的平均精度(AP)提升。基于这些发现,研究者决定在YOLOv9模型中采用CSP-ELAN作为GELAN的核心组件,进一步强化了模型的性能和效率。

在深入探究GELAN架构的优化过程中,作者对ELAN和CSP块的不同深度配置进行了实验,旨在评估深度变化对模型性能的影响。实验结果,如表3所展示,揭示了在增加ELAN块的深度从1到2时,模型的准确度得到了显著的提升。然而,当ELAN或CSP块的深度超过2之后,进一步增加深度对于参数数量、计算量和准确度的影响呈现出线性关系,表明模型对于深度的增加不再敏感。

这一发现指出,虽然适度增加GELAN中的ELAN块深度可以有效提高模型性能,但超过一定深度后,模型性能的提升将趋于平稳。因此,GELAN展现了对深度变化的鲁棒性,为模型设计提供了灵活性,允许研究者根据具体需求和资源限制调整深度,而无需担心性能急剧下降。

Programmable Gradient Information消融实验

在关于PGI方面,作者对辅助可逆分支以及主干和 Neck 分别上的多级辅助信息进行了消融研究。作者设计了 辅助可逆分支ICN,使用DHLC连接方式来获取多级可逆信息。至于多级辅助信息,作者使用FPN和PAN进行 消融研究, PFH(文中未明确解释)的作用相当于传统的深度监督。所有实验的结果列于表4中。

根据表4的数据分析,PFH仅在深层模型中显示出有效性。相比之下,作者提出的可编程梯度信息(PGI)技术能够在各种配置组合中提升模型的准确性,特别是当结合ICN使用时,结果表现出稳定性和优越性。此外,作者尝试将YOLOv7中引入的领航头引导分配技术应用于PGI的辅助监督环节,成功地实现了性能的进一步提升。

在对多个不同规模的模型应用PGI概念及深度监督后,作者比较了实验结果,具体数据展示在表5中。这些实验结果确认了作者的初步分析,即深度监督的引入在某些情况下可能会对较浅层模型的准确度造成负面影响。这表明,虽然深度监督可以为深层模型带来明显的好处,但在应用于较浅的模型时,需要谨慎考虑其可能带来的准确度损失。

在常规模型中,深度监督可能导致性能的不稳定性,这种策略主要在极深的模型中才展现出其优势。相对而言,作者提出的可编程梯度信息(PGI)技术有效地解决了信息瓶颈和信息断裂问题,能够在不同规模的模型中实现准确度的全面提升。

PGI技术贡献了两个重要的创新点:首先,它使辅助监督方法可以被应用于浅层模型,扩大了深度监督技术的应用范围;其次,它为深层模型的训练过程提供了更可靠的梯度,这些梯度有助于模型更精确地建立数据与目标之间的正确关系。

通过逐步从基线的YOLOv7增加到YOLOv9-E的各个组件,作者在表中展示了这一系列改进如何带来模型性能的全面提升。这一过程不仅证明了GELAN和PGI技术的有效性,也展现了这些技术如何协同工作,为深度学习模型带来了显著的性能改进。

Visualization

本节将探讨信息瓶颈问题并将其可视化。此外,作者还将展示提出的PGI如何使用可靠的梯度来寻找数据与 目标之间的正确相关性。在图6中,作者展示了使用随机初始权重作为不同架构下的前馈得到的特征图的可 视化结果。作者可以看到,随着层数的增加,所有架构的原始信息逐渐减少。

例如,在PlainNet的第50层,很难看到物体的位置,到了第100层,所有可辨别的特征都会丢失。至于ResNet,尽管在第50层仍然可以看到物体的位置,但边界信息已经丢失。当深度达到第100层时,整个图像 变得模糊。CSPNet和提出的GELAN表现都非常好,它们都能够维持到第200层时支持清晰识别物体的特征。在对比中, GELAN的结果更稳定,边界信息也更清晰。

图7展示了PGI技术在训练过程中如何提供更准确的梯度信息,这些信息对于更新模型参数至关重要,以确保模型能够有效地识别输入数据与目标之间的关系。通过比较图7(b)和图7(c)中GELAN与YOLOv9(结合了GELAN和PGI)的特征图可视化结果,可以明显观察到PGI技术使模型更加精确地定位到了含有物体的区域。

相比之下,未集成PGI技术的GELAN在检测物体边界时显示出一定程度的发散现象,并且在非目标的背景区域误激活了一些响应。这一对比强有力地证明了PGI技术在提供有助于参数优化的梯度方面的有效性,进而使模型在前馈过程中能够保留更多关键特征,从而提高了检测的准确性和可靠性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/703260.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TypeScript基础知识点

TypeScript 简介和发展 TypeScript 是一种由微软开发的开源编程语言,其设计目标是为了解决 JavaScript 在大规模应用开发时所面临的类型安全和可维护性问题。TypeScript 的诞生背景可以追溯到2012年,当时随着Web应用程序复杂度的日益增长,J…

PCIe 5.0 Layout Guide笔记

一、松耦合和紧耦合 松耦合优点是相同走线宽度下电介质更薄,同时对线间距的变化不敏感,提供了更好的阻抗控制;松耦合缺点是需要更大的区域进行绕线;紧耦合优点是更高的布线密度,相同阻抗下走线可以更细,同时具有更好的共模噪声抑制;紧耦合缺点是阻抗随线间距的变化大;【…

一个模板项目复制多个时候报错

复制的项目虽然用新idea打开,但是用的parent版本号,或者名字还是一个,这块要改,改版本号就行,子项目也改 循环依赖解决 pom中引入了循环依赖,pom已经最新,但是启动还是报错,idea缓…

基于Java的艺培管理解决方案

✍✍计算机毕业编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java、…

cmake构建在Visual stdio 2019 和Xcode的Qt的程序

概述:用CMake可以方便地构建Qt的应用程序,前提是你已经配置好用Visual Stdio 开发的Qt的环境或者Xcode的Qt开发环境。 1、编写CMakeLists.txt cmake_minimum_required(VERSION 3.6)set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STR…

介绍 Gradio 与 Hugging Face

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 我们可以使用 Gradio 库为我们的模型构建演示。Gradio 允许您完全使用 Python 为任何机器学习模型构建、自定义和共享基于 Web 的演示。使机器学习模型变得可交互和易于使用。 为什么首先要为您的机器…

Parade Series - NVR Stat

获取文件夹占用空间信息 DIR %NVRHOME% /W /SDIR %NVRHOME% /s | tail -n2 | sed s/,//g | awk {if(NR1){key"Used";}else{key"Free";};sum$3/(1024*1024);unit"MB";if(sum^>1024){sumsum/1024;unit"GB";}printf("{\"Ty…

Ansible group模块 该模块主要用于添加或删除组。

目录 创建组验证删除组验证删除一个不存在的组 常用的选项如下: gid  #设置组的GID号 name  #指定组的名称 state  #指定组的状态,默认为创建,设置值为absent为删除 system  #设置值为yes,表示创建为系统组 创建组 ansib…

【Leetcode】938. 二叉搜索树的范围和

文章目录 题目思路代码结论 题目 题目链接 给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和。 示例 1: 输入:root [10,5,15,3,7,null,18], low 7, high 15 输出:32 示例 2: 输入…

linux+fortify

系统版本:Ubuntu22.04桌面版 一:登录root用户关闭防火墙 sudo passwd root systemctl stop ufw.service systemctl disable ufw.service 二:开启ssh服务 sudo apt update sudo apt install openssh-server sudo systemctl start ssh sudo systemctl status ssh连接上WinS…

笔记本如何录屏?很简单,我来告诉你

“最近遇到了一些工作上的问题,需要录制一些会议和讨论的内容,以便于后续的整理和回顾。但是,我没有使用过笔记本进行录屏,不知道该如何操作。大家有没有简单易懂的笔记本录屏指南,教教我!” 在当今数字化…

vue3(vite)+electron打包踩坑记录(1)

vue3(vite)electron打包踩坑记录 - 打包vue 第一步 编译vue 使用vite构建vue,package.json如下 {"name": "central-manager","private": true,"version": "0.0.0","type": "commonjs",&q…

2D目标检测正负样本分配集合

一:CenterNet Center point based正负样本分配方式:中心像素分配为当前目标。 如果同类的两个高斯核具有交叠的情况,我们逐元素【像素】的选取最大值。Center point based 正样本分配方式的缺点:如果两个不同的物体完美匹配&…

CFS的覆灭,Linux新调度器EEVDF详解

本文主要总结了EEVDF论文和Linux内核实现中关键逻辑的推导,着重强调代码逻辑和论文公式之间的关系,它又长又全,像今天的汤圆又大又圆:D Warn:多行的公式编号渲染有点问题,当存在多行公式时,仅对最后一条式…

什么是媒体发稿?发稿媒体分类及发稿流程

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体发稿是一种企业推广和宣传的手段,通过媒体渠道传递企业信息和形象。 媒体发稿的含义在于,当企业有新闻、事件或其他消息需要对外公布时,可以选择…

第三节:Vben Admin登录对接后端login接口

系列文章目录 第一节:Vben Admin介绍和初次运行 第二节:Vben Admin 登录逻辑梳理和对接后端准备 文章目录 系列文章目录前言一、Flask项目介绍二、使用步骤1.User模型创建2.迁移模型3. Token创建4. 编写蓝图5. 注册蓝图 三. 测试登录总结 前言 上一节&…

【基于Ubuntu20.04的Autoware.universe安装过程】方案一:虚拟机 | 详细记录 | Vmware | 全过程图文 by.Akaxi

目录 一、Autoware.universe背景 二、虚拟机配置 三、Ubuntu20.04安装 四、GPU显卡安装 五、ROS2-Galactic安装 六、ROS2-dev-tools安装 七、rmw-implementation安装 八、pacmod安装 九、autoware-core安装 十、autoware universe dependencies安装 十一、安装pre-c…

[ai笔记12] chatGPT技术体系梳理+本质探寻

欢迎来到文思源想的ai空间,这是技术老兵重学ai以及成长思考的第12篇分享! 这周时间看了两本书,一本是大神斯蒂芬沃尔弗拉姆学的《这就是ChatGPT》,另外一本则是腾讯云生态解决方案高级架构师宋立恒所写的《AI制胜机器学习极简入门》&#xf…

2024最新水果软件FL Studio21版本介绍与功能对比

FL Studio21前身为Fruity Loops,是一款由Image-Line公司开发的数字音频工作站(DAW)。它广泛用于音乐制作、编曲、混音和录音等领域。随着软件的不断更新迭代,FL Studio推出了多个版本,以满足不同用户的需求。 FL Studi…

数字化转型导师坚鹏:县区级政府数字化转型案例研究

县区级政府数字化转型案例研究 课程背景: 很多县区级政府存在以下问题: 不清楚县区级政府数字化转型的政务服务类成功案例 不清楚县区级政府数字化转型的社会管理类成功案例 不清楚县区级政府数字化转型的智慧城市类成功案例 课程特色&#xff…