Yolo系列论文阅读:YOLOv9《What You Want to Learn Using Programmanble Gradient Information》

YOLOv8才出了不到一年,YOLOv9便已经横空出世,下面让我们看看YOLOV9的论文吧。
论文地址:https://arxiv.org/pdf/2402.13616.pdf
代码地址:https://github.com/WongKinYiu/yolov9

1 摘要

如今的深度学习方法关注的是如何设计最合适的目标函数,使模型的预测结果最接近地面真实。同时,必须设计一个合适的架构,以便于获取足够的信息来进行预测。现有的方法忽略了一个事实,即当输入数据经过逐层特征提取和空间变换时,会丢失大量信息。本文将深入研究数据在深度网络中传输时的数据丢失问题,即信息瓶颈和可逆函数。我们提出了可编程梯度信息(PGI)的概念,以应对深度网络实现多个目标所需的各种变化。PGI可以为目标任务计算目标函数提供完整的输入信息,从而获得可靠的梯度信息来更新网络权重。此外,设计了一种新的基于梯度路径规划的轻量级网络体系结构–广义高效层聚合网络(Gelan)。Gelan的架构证实了PGI在轻量化模型上取得了优异的结果。在基于MS Coco数据集的目标检测上,验证了Gelan和PGI算法的有效性。结果表明,与基于深度卷积的最新方法相比,Gelan只使用传统的卷积算子来获得更好的参数利用率。PGI可用于从轻型到大型的各种型号。它可以用来获得完整的信息,这样从头开始训练的模型可以获得比使用大型数据集预先训练的最先进模型更好的结果。
在这里插入图片描述

2 主要贡献

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

3 问题陈述

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

3.1 信息瓶颈原理

根据信息瓶颈原理,我们知道数据X在进行转换时可能会导致信息丢失,如公式所示。以下1条:
在这里插入图片描述
其中i表示互信息,f和g是变换函数,θ和ϕ分别是f和g的参数。在深度神经网络中,fθ(·)和gϕ(·)分别表示深度神经网络中两个连续层的运算。从方程。可以预见,随着网络层数越深,原始数据丢失的可能性越大。然而,深度神经网络的参数是基于网络的输出和给定的目标,在产生新的梯度后,通过计算损失函数来更新网络。正如人们可以想象的那样,越深的神经网络的输出越不能保持关于预测目标的完整信息。这将使在网络训练期间使用不完全信息成为可能,从而导致不可靠的梯度和较差的收敛。解决上述问题的一种方法是直接增加模型的尺寸。当我们使用大量的参数来构建模型时,它更有能力对数据进行更完整的转换。上述方法允许即使信息在数据前馈过程中丢失,仍有机会保留足够的信息来执行到目标的映射。上述现象解释了为什么在大多数现代机型中,宽度比深度更重要。然而,上述结论并不能从根本上解决极深层神经网络中梯度不可靠的问题。
下面,我们将介绍如何使用可逆函数来解决问题并进行相关分析。

3.2 可逆

3.2 可逆函数当函数r有逆变换函数v时,我们称该函数为可逆函数,如公式所示。
在这里插入图片描述
其中ψ和ζ分别是r和v的参数。数据X由可逆函数转换而不会丢失信息,如下式所示:
在这里插入图片描述
当网络的变换函数由可逆函数组成时,可以得到更可靠的梯度来更新模型。当今流行的深度学习方法几乎都是符合可逆性的体系结构,如等式4:
在这里插入图片描述
式中,L表示预分组网的L层,f是L第4层的变换函数。PreAct ResNet[22]以显式方式将原始数据X重复传递到后续层。虽然这样的设计可以让千层以上的深度神经网络很好地收敛,但它破坏了我们需要深度神经网络的一个重要原因。也就是说,对于困难的问题,我们很难直接找到简单的映射函数来将数据映射到目标。这也解释了为什么当层数较小时,PreAct ResNet的性能不如ResNet[21]。

此外,我们尝试使用掩码建模,使变压器模型实现重大突破。我们使用近似方法,例如公式。5.尝试寻找r的逆变换v,使变换后的特征能够利用稀疏特征保留足够的信息。方程的形式5,具体如下:
在这里插入图片描述
其中M是动态二进制掩码。其他常用的方法有扩散模型和变分自动编码器,它们都具有求逆函数的功能。然而,当我们将上述方法应用于轻量级模型时,会因为轻量级模型对大量原始数据的参数化不足而存在缺陷。由于上述原因,将数据X映射到目标Y的重要信息I(Y,X)也将面临同样的问题。对于这个问题,我们将使用信息瓶颈的概念来探索[59]。信息瓶颈的计算公式如下:
在这里插入图片描述
一般来说,I(Y,X)只会占据I(X,X)的一小部分。然而,这对目标任务至关重要。因此,即使前馈阶段丢失的信息量不大,只要覆盖I(Y,X),训练效果也会受到很大影响。轻量化模型本身处于欠参数状态,在前馈阶段很容易丢失很多重要信息。因此,我们的轻量级模型的目标是如何准确地从I(X,X)中过滤出I(Y,X)。至于完全保留X的信息,这是很难实现的。基于以上分析,我们希望提出一种新的深度神经网络训练方法,该方法不仅可以产生可靠的梯度来更新模型,而且适用于浅层和轻量级神经网络。

4 方法

1.提出了可编程梯度信息(PGI)的概念,以应对深度网络实现多个目标所需的各种变化。
2.基于梯度路径规划设计了新的轻量级架构–广义高效聚合网络(GELAN)

4.1 PGI

在这里插入图片描述
PGI主要包括三个组成部分,即(1)主分支、(2)辅助可逆分支、(3)多层次辅助信息。从图3(D)中我们可以看到,PGI的推理过程只使用主分支,因此不需要任何额外的推理成本。至于另外两个组成部分,它们被用来解决或减缓深度学习方法中的几个重要问题。其中,辅助可逆分支是针对神经网络深化带来的问题而设计的。网络深化会造成信息瓶颈,使损失函数无法生成可靠的梯度。对于多层辅助信息,它的设计是为了处理深度监督带来的误差累积问题,特别是对于多预测分支的体系结构和轻量级模型。接下来,我们将逐步介绍这两个组件。

4.1.1 辅助可逆分支

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

4.1.2 多级辅助信息

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

4.2 广义ELAN

在本部分中,我们将介绍建议的新网络体系结构-Gelan。通过结合CSPNet[64]和Elan[65]两种采用梯度路径规划的神经网络结构,我们设计了兼顾轻量级、推理速度和精度的广义高效层聚合网络(Gelan)。它的总体架构如图4所示。我们将最初只使用卷积层堆叠的Elan[65]的能力推广到一个可以使用任何计算块的新架构。

5 实验

表 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 也非常有竞争力。

6 结论

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

  • 19
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值