最新YOLOv9论文理论:使用可编程梯度信息学习您想学习的内容 | Programmable Gradient Information

news2024/11/16 2:46:28

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

YOLOv9 论文地址:https://arxiv.org/pdf/2402.13616.pdf
在这里插入图片描述

摘要

当今的深度学习方法侧重于如何设计最合适的目标函数,以便模型的预测结果最接近真实情况。同时,必须设计一个适当的架构,以便于获取足够的信息进行预测。现有的方法忽略了一个事实,即当输入数据进行逐层特征提取和空间变换时,会丢失大量信息。本文将深入探讨数据通过深度网络传输时数据丢失的重要问题,即信息瓶颈和可逆功能。我们提出了可编程梯度信息(PGI)的概念,以应对深度网络实现多重目标所需的各种变化。PGI可以为目标任务提供完整的输入信息来计算目标函数,从而获得可靠的梯度信息来更新网络权重。此外,还设计了一种基于梯度路径规划的新型轻量级网络架构——广义高效层聚合网络(GELAN)。GELAN的架构证实了PGI在轻量化模型上取得了优异的成绩。我们在基于MS COCO数据集的目标检测上验证了所提出的GELAN和PGI。结果表明,与基于深度卷积的现有方法相比,GELAN仅使用传统的卷积算子即可实现更好的参数利用。PGI可用于从轻量级到大型的各种型号。它可以用来获得完整的信息,使从头开始训练的模型比使用大数据集预训练的最先进的模型获得更好的结果,比较结果如图1所示。源代码位于:https://github.com/WongKinYiu/yolov9。

在这里插入图片描述

介绍

基于深度学习的模型在计算机视觉、语言处理和语音识别等各个领域都表现出比过去的人工智能系统更好的性能。近年来,深度学习领域的研究人员主要关注如何开发更强大的系统架构和学习方法,例如 CNN[21,22,55,23,72,42,71]变形金刚[9,69,70,41,40,8,60]、感知者[26,26,81,32,81,52,56]和曼巴[17,80,38].此外,一些研究人员还试图开发更通用的目标函数,例如损失函数[78,50,5,45,77,46]、标签分配[79,12,10,67,33]和辅助监督[28,54,68,51,29,20,24,76,18].上述研究都试图精确地找到输入任务和目标任务之间的映射。然而,过去的大多数方法都忽略了输入数据在前馈过程中可能会有不可忽视的信息损失量。这种信息丢失可能导致梯度流出现偏差,随后用于更新模型。上述问题可能导致深度网络在目标和输入之间建立不正确的关联,从而导致训练的模型产生不正确的预测。

在这里插入图片描述

图2:不同网络架构的随机初始权重输出特征图的可视化结果:(a)输入图像,(b)PlainNet,(c)ResNet,(d)CSPNet和(e)建议的GELAN。从图中可以看出,在不同的架构中,提供给目标函数计算损失的信息都有不同程度的丢失,而我们的架构可以保留最完整的信息,并为计算目标函数提供最可靠的梯度信息。

在深度网络中,输入数据在前馈过程中丢失信息的现象通常称为信息瓶颈[59],其原理图如图2所示。目前,能够缓解这一现象的主要方法有以下几种:(1)采用可逆架构[16,3,19]:该方法主要使用重复输入数据,并以显式方式维护输入数据的信息;(2)使用掩码建模[27,73,6,1,9,71]:主要利用重建损失,采用隐式方式最大化提取的特征,保留输入信息;(3)引入深度监督理念[28,54,68,51]:它使用没有丢失太多重要信息的浅层特征来预先建立从特征到目标的映射,以确保重要信息可以转移到更深层。然而,上述方法在训练过程和推理过程中存在不同的缺点。例如,可逆架构需要额外的层来组合重复馈送的输入数据,这将大大增加推理成本。此外,由于输入数据层到输出层不能有太深的路径,这种限制将使得在训练过程中难以对高阶语义信息进行建模。对于掩码建模,其重建损失有时会与目标损失发生冲突。此外,大多数掩码机制还会产生与数据的错误关联。对于深度监督机制,会产生错误累积,如果浅层监督在训练过程中丢失信息,后续层将无法检索到所需的信息。上述现象在困难的任务和小模型上会更为明显。

为了解决上述问题,我们提出了一个新概念,即可编程梯度信息(PGI)。其概念是通过辅助可逆分支生成可靠的梯度,使深度特征仍能保持执行目标任务的关键特征。辅助可逆分支的设计可以避免传统深度监督过程集成多路径特征可能造成的语义损失。换句话说,我们正在对不同语义级别的梯度信息传播进行编程,从而获得最佳的训练结果。PGI的可逆架构建立在辅助分支上,因此没有额外的成本。由于PGI可以自由选择适合目标任务的损失函数,因此也克服了掩模建模遇到的问题。所提出的PGI机制可以应用于各种规模的深度神经网络,并且比深度监督机制更通用,深度监督机制仅适用于非常深度的神经网络。 在本文中,我们还设计了基于ELAN的广义ELAN(GELAN)[65],GELAN的设计同时考虑了参数数量、计算复杂度、精度和推理速度。这种设计允许用户为不同的推理设备任意选择合适的计算模块。我们将提出的PGI和GELAN结合起来,然后设计了新一代的YOLO系列目标检测系统,我们称之为YOLOv9。我们使用MS COCO数据集进行实验,实验结果验证了我们提出的YOLOv9在所有比较中都取得了最佳性能。

论文贡献

本文的贡献总结如下:

  1. 我们从可逆函数的角度对现有的深度神经网络架构进行了理论分析,通过这个过程,我们成功地解释了许多过去难以解释的现象。我们还基于该分析设计了PGI和辅助可逆分支,并取得了优异的效果。
  2. 我们设计的PGI解决了深度监督只能用于极深神经网络架构的问题,从而让新的轻量级架构真正应用到日常生活中。
  3. 我们设计的GELAN仅使用传统的卷积,比基于最先进技术的深度卷积设计实现了更高的参数使用,同时显示出轻巧、快速、准确的巨大优势。
  4. 结合所提出的PGI和GELAN,YOLOv9在MS COCO数据集上的目标检测性能在各个方面都大大超过了现有的实时目标检测器。

2 相关工作

2.1 实时目标检测器

目前主流的实时目标检测器是YOLO系列[47,48,49,2,62,13,74,31,75,14,30,25,63,7,61,15],并且这些模型中的大多数都使用 CSPNet[64]或 ELAN[65]及其变体作为主要计算单元。在功能集成方面,改进了PAN[37]或 FPN[35]经常被用作工具,然后改进了YOLOv3头[49]或FCOS头[57,58]用作预测头。最近一些实时目标检测器,如RT DETR[43],将其资金放在 DETR 上[4],也被提出。然而,由于DETR系列目标检测器在没有相应的领域预训练模型的情况下极难应用于新的领域,因此目前应用最广泛的实时目标检测器仍然是YOLO系列。本文选择 YOLOv7[63],在各种计算机视觉任务和各种场景中被证明是有效的,作为开发所提方法的基础。我们使用 GELAN 来改进架构和训练过程,并提出 PGI。上述新颖的方法使所提出的YOLOv9成为新一代的顶级实时目标检测器。

2.2 可逆架构

可逆架构的操作单元[16,3,19]必须保持可逆转换的特性,这样才能保证每层操作单元的输出特征图都能保留完整的原始信息。之前,RevCol[3]将传统的可逆单元推广到多个层次,这样可以扩展不同层单元所表达的语义层次。通过对各种神经网络架构的文献回顾,我们发现有许多高性能架构具有不同程度的可逆特性。例如,Res2Net 模块[11]以分层方式将不同的输入分区与下一个分区组合在一起,并在向后传递之前连接所有转换后的分区。第一财经网[39,34]通过复合骨干重新引入原始输入数据,获得完整的原始信息,通过各种组合方法获得不同层次的多级可逆信息。这些网络架构通常具有出色的参数利用率,但额外的复合层会导致推理速度变慢。DynamicDet[36]结合CBNet[34]以及高效实时目标检测器YOLOv7[63]在速度、参数数量和精度之间实现很好的权衡。本文介绍了 DynamicDet 架构作为设计可逆分支的基础。此外,在拟议的PGI中还进一步引入了可逆信息。所提出的新架构在推理过程中不需要额外的连接,因此可以充分保留速度、参数量和准确性的优势。

2.3 辅助监督

深度监督[28,54,68]是最常见的辅助监督方法,它通过在中间层插入额外的预测层来执行训练。特别是在基于 transformer 的方法中引入的多层解码器的应用是最常见的一种。另一种常见的辅助监督方法是利用相关的元信息来引导中间层产生的特征图,使其具有目标任务所需的属性[29,20,24,76,18].这种类型的示例包括使用分割损失或深度损失来提高目标检测器的准确性。最近,文献中有很多报道[67,53,82]使用不同的标签分配方法生成不同的辅助监督机制,以加快模型的收敛速度,同时提高鲁棒性。但是,辅助监督机制通常只适用于大型模型,因此当应用于轻量级模型时,很容易造成参数化不足现象,从而使性能变差。我们提出的PGI设计了一种重新编程多级语义信息的方法,这种设计使轻量级模型也受益于辅助监督机制。

问题陈述

通常,人们将深度神经网络收敛问题的难度归因于梯度消失或梯度饱和等因素,而这些现象在传统的深度神经网络中确实存在。然而,现代深度神经网络已经通过设计各种归一化和激活函数从根本上解决了上述问题。然而,深度神经网络仍然存在收敛缓慢或收敛结果差的问题。 在本文中,我们进一步探讨了上述问题的本质。通过对信息瓶颈的深入分析,我们推断出这个问题的根本原因是,最初来自一个非常深的网络的初始梯度在传输后不久就丢失了实现目标所需的大量信息。为了证实这一推论,我们用初始权重前馈不同架构的深度网络,然后在图 2 中对其进行可视化和说明。显然,PlainNet已经丢失了深层目标检测所需的大量重要信息。至于ResNet、CSPNet、GELAN能够保留的重要信息占比,确实与训练后能获得的准确率呈正相关。我们进一步设计了基于可逆网络的方法来解决上述问题的原因。在本节中,我们将详细分析信息瓶颈原理和可逆函数。
省略版
在这里插入图片描述

方法论

4.1可编程梯度信息

Programmable Gradient Information

为了解决上述问题,我们提出了一种新的辅助监督框架,称为可编程梯度信息(PGI),如图3(d)所示。PGI主要包括三个组成部分,即(1)主分支,(2)辅助可逆分支,(3)多级辅助信息。从图 3 (d) 中我们可以看到,PGI 的推理过程仅使用 main 分支,因此不需要任何额外的推理成本。至于其他两个组件,它们用于解决或减缓深度学习方法中的几个重要问题。其中,辅助可逆分支旨在处理神经网络深化带来的问题。网络深化会造成信息瓶颈,使损失函数无法生成可靠的梯度。对于多级辅助信息,旨在处理深度监管导致的误差累积问题,特别是针对多预测分支的架构和轻量级模型。接下来,我们将逐步介绍这两个组件。

4.1.1辅助可逆支路

在PGI中,我们提出了辅助可逆分支来生成可靠的梯度并更新网络参数。通过提供从数据映射到目标的信息,损失函数可以提供指导,并避免从与目标不太相关的不完整前馈特征中发现错误相关性的可能性。我们提出通过引入可逆架构来维护完整的信息,但是在可逆架构中添加主分支会消耗大量的推理成本。我们分析了图 3 (b) 的架构,发现当添加从深层到浅层的额外连接时,推理时间将增加 20%。当我们将输入数据反复添加到网络的高分辨率计算层(黄框)时,推理时间甚至超过两倍的时间。 由于我们的目标是使用可逆架构来获得可靠的梯度,因此“可逆”并不是推理阶段的唯一必要条件。有鉴于此,我们将可逆分支视为深度监督分支的扩展,然后设计辅助可逆分支,如图3(d)所示。至于由于信息瓶颈而丢失重要信息的主分支深层特征,它们将能够从辅助可逆分支接收可靠的梯度信息。这些梯度信息将驱动参数学习,以帮助提取正确且重要的信息,而上述操作可以使主分支获得对目标任务更有效的特征。此外,可逆架构在浅层网络上的表现比在一般网络上更差,因为复杂的任务需要在深层网络中进行转换。我们提出的方法不强迫主分支保留完整的原始信息,而是通过辅助监督机制生成有用的梯度来更新它。该设计的优点是所提出的方法也可以应用于较浅的网络。

在这里插入图片描述

图 4:GELAN的体系结构:(a) CSPNet[64], (b) 伊兰[65],以及 (c) 拟议的 GELAN。我们模仿CSPNet,并将ELAN扩展到GELAN中,可以支持任何计算模块。

最后,由于在推理阶段可以移除辅助可逆分支,因此可以保留原始网络的推理能力。我们也可以选择PGI中任何可逆架构来扮演辅助可逆分支的角色。

4.1.2多级辅助信息

在本节中,我们将讨论多级辅助信息的工作原理。包括多个预测分支的深度监督架构如图 3 (c) 所示。对于目标检测,可以使用不同的特征金字塔来执行不同的任务,例如,它们可以一起检测不同大小的对象。因此,在连接到深度监督分支后,将引导浅层特征学习小目标检测所需的特征,此时系统将以其他尺寸物体的位置为背景。然而,上述行为将导致深特征金字塔丢失预测目标对象所需的大量信息。关于这个问题,我们认为每个特征金字塔都需要接收到所有目标对象的信息,以便后续的主分支能够保留完整的信息来学习对各种目标的预测。 多级辅助信息的概念是在辅助监督的特征金字塔层次层和主分支之间插入一个集成网络,然后用它来组合来自不同预测头返回的梯度,如图3(d)所示。然后,多级辅助信息是聚合包含所有目标对象的梯度信息,并将其传递给主分支,然后更新参数。此时,主分支的特征金字塔层次结构的特征将不再受某些特定对象信息的支配。因此,该方法可以缓解深度监督中的信息破损问题。此外,任何集成网络都可以用于多级辅助信息。因此,我们可以规划所需的语义级别来指导不同规模的网络架构的学习。

4.2广义 ELAN

在本节中,我们将介绍拟议的新网络架构 – GELAN。通过结合两种神经网络架构,CSPNet[64]和 ELAN[65],采用梯度路径规划设计,我们设计了考虑轻量级、推理速度和准确性的广义高效层聚合网络 (GELAN)。其整体架构如图 4 所示。我们推广了ELAN的能力[65],最初只使用卷积层的堆叠,到可以使用任何计算块的新架构。

实验

后续就是大量的对比试验和笑容实验,具体可以直接看原论文
https://arxiv.org/pdf/2402.13616.pdf

结论

论文作者提出使用PGI来解决信息瓶颈问题和深度监督机制不适合轻量级神经网络的问题。我们设计了GELAN,一个高效、轻量级的神经网络。在目标检测方面,GELAN在不同的计算块和深度设置下都具有强大而稳定的性能。它确实可以广泛扩展为适用于各种推理设备的模型。对于以上两个问题,PGI的引入使得轻量级模型和深度模型都能在精度上实现显著的提升。结合PGI和GELAN设计的YOLOv9,展现了很强的竞争力。其出色的设计使得深度模型与YOLOv8相比,参数数量减少了49%,计算量减少了43%,但在MS COCO数据集上仍有0.6%的AP提升。

参考

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

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

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

相关文章

精美工作室引导页源码

精美工作室引导页源码 源码介绍:一款精美的工作室引导页源码 下载地址: https://www.changyouzuhao.cn/6560.html

⭐北邮复试刷题LCR 018. 验证回文串__双指针 (力扣119经典题变种挑战)

LCR 018. 验证回文串 给定一个字符串 s ,验证 s 是否是 回文串 ,只考虑字母和数字字符,可以忽略字母的大小写。 本题中,将空字符串定义为有效的 回文串 。 示例 1: 输入: s “A man, a plan, a canal: Panama” 输出: true 解释…

正交匹配追踪(Orthogonal Matching Pursuit, OMP)的MATLAB实现

压缩感知(Compressed Sensing, CS)是一种利用稀疏信号的先验知识,用远少于奈奎斯特采样定理要求的样本数目恢复整个信号的技术。正交匹配追踪(Orthogonal Matching Pursuit, OMP)是一种常见的贪婪算法(Gree…

沁恒CH32V30X学习笔记02--GPIO的使用教程及2次封装驱动

gpio 概述 刚复位后,GPIO 口运行在初始状态,这时大多数 IO 口都是运行在浮空输入状态 外部中断 所有的 GPIO 口都可以被配置外部中断输入通道,但一个外部中断输入通道最多只能映射到一个 GPIO 引脚上,且外部中断通道的序号必须和 GPIO 端口的位号一致,比如 PA1(或 PB1、…

windows下快速安装nginx 并配置开机自启动

1、下载地址:http://nginx.org/en/download.html 2、启动nginx 注意⚠️ 不要直接双击nginx.exe,这样会导致修改配置后重启、停止nginx无效,需要手动关闭任务管理器内的所有nginx进程。 在nginx.exe目录,打开命令行工具&#xf…

Linux搭建FISCO BCOS的第一个区块链网络

一、前言 FISCO BCOS是由金融区块链合作联盟(深圳)与微众银行共同发起的开源区块链项目,支持多链多账本,满足金融行业复杂业务需求。本文将介绍如何在Ubuntu操作系统上使用Linux命令搭建FISCO BCOS的第一个区块链网络。 目录 一…

Jetpack Compose -> 重组作用域和remember()

前言 上一章我们讲解了 MutableState 和 mutableStateOf() 本章我们讲解下 remember 这个关键方法; ReCompose Scope(重组作用域) 我们先来看一段代码 当我们将 var name by mutableStateOf("老A")lifecycleScope.launch{}这两行代码放到 setContent 中…

核密度分析

一.算法介绍 核密度估计(Kernel Density Estimation)是一种用于估计数据分布的非参数统计方法。它可以用于多种目的和应用,包括: 数据可视化:核密度估计可以用来绘制平滑的密度曲线或热力图,从而直观地表…

使用transformer来训练自己的大模型实现自定义AI绘图软件的详细操作步骤

使用transformer来训练自己的大模型实现自定义AI绘图软件的详细操作步骤!下面的步骤是非常细致的,如果你有一台自己的GPU算力还算可以的服务器主机,想自己训练AI大模型。可以按照如下步骤开展操作。 要使用 Transformer 框架训练属于自己的大模型来完成 AI 绘图,需要经历以…

数字之美:探索人工智能绘画的奇妙世界

目录 引言AI绘画的定义与发展历程定义与发展历程AI绘画产品有哪些? AI绘画的应用领域设计与创意产业影视与游戏制作数字艺术与展览 AI绘画的基本原理与技术深度学习与神经网络生成对抗网络(GAN)风格迁移算法 AI绘画效果展示一只带着墨镜的小猫在高楼林立…

Vivado 2015.4安装记录

一、资源 安装破解包:Vivado2015.4,提取码:4eaw 二、安装 2.0 解压缩 2.0.1 解压缩Xilinx_Vivado_SDK_Win_2015.4_1118_2.tar.gz 2.0.2 解压缩Xilinx_Vivado_SDK_Win_2015.4_1118_2.tar 2.1 安装 安装驱动前,要拔掉与电脑连接的Xilinx下载…

qt-动画圆圈等待-LED数字

qt-动画圆圈等待-LED数字 一、演示效果二、关键程序三、下载链接 一、演示效果 二、关键程序 #include "LedNumber.h" #include <QLabel>LEDNumber::LEDNumber(QWidget *parent) : QWidget(parent) {//设置默认宽高比setScale((float)0.6);//设置默认背景色se…

fastjson解析自定义get方法导致空指针问题

背景 为了在日志中把出入参打印出来&#xff0c;以便验证链路和排查问题&#xff0c;在日志中将入参用fastjson格式化成字符串输出&#xff0c;结果遇到了NPE。 问题复现 示例代码 public static void main(String[] args) {OrganizationId orgId new OrganizationId();N…

HTML+CSS+JS:花瓣登录组件

效果演示 实现了一个具有动态花朵背景和简洁登录框的登录页面效果。 Code <section><img src"./img/background.jpeg" class"background"><div class"login"><h2>Sign In</h2><div class"inputBox"…

CoordConv(NeurIPS 2018)

paper&#xff1a;An Intriguing Failing of Convolutional Neural Networks and the CoordConv Solution official implementation&#xff1a;https://github.com/uber-research/coordconv 存在的问题 本文揭示并分析了CNN在两种不同类型空间表示之间转换能力的欠缺&#…

新书推荐:《分布式商业生态战略:未来数字商业新逻辑与企业数字化转型新策略》

近两年&#xff0c;商业经济环境的不确定性越来越明显&#xff0c;市场经济受到疫情、技术、政策等多方因素影响越来越难以预测&#xff0c;黑天鹅事件时有发生。在国内外经济方面&#xff0c;国际的地缘政治对商业经济产生着重大的影响&#xff0c;例如供应链中断&#xff0c;…

这才是No.1的门禁管理技巧!赶紧抄作业

随着社会的不断发展和科技的飞速进步&#xff0c;安全管理成为各个领域不可或缺的重要环节。在这个背景下&#xff0c;门禁监控系统作为一种先进而高效的安全管理工具逐渐受到了广泛关注和应用。 客户案例 企业大厦管理 在江苏某繁忙的商业大厦中&#xff0c;管理人员常常面临…

Elastic Stack--01--简介、安装

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1. Elastic Stack 简介为什么要学习ESDB-Engines搜索引擎类数据库排名常年霸榜![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/051342a83f574c8c910cda…

尝试一下最新的联合办公利器ONLYOffice

下载下来一起试试吧 桌面安装版下载地址&#xff1a;https://www.onlyoffice.com/zh/download-desktop.aspx) 官网地址&#xff1a;https://www.onlyoffice.com 普通Office对联合办公的局限性 普通Office软件&#xff08;如Microsoft Office、Google Docs等&#xff09;在面对…

记一次 migo 报错 M7097 没有可用于物料 XXX 的库存过账

背景:公司重构SAP后&#xff0c;引入返利物料&#xff0c;此部分物料的数量统计单位是USD/CNY,不启用会计类视图&#xff0c;但是启用批次管理&#xff0c;但是正常物料不启用批次管理。这是大背景&#xff0c;物料类型为ZZZZ 但是实际需要的是 检查物料还是没有被用作其他方…