【完整版!YOLOv9论文翻译】

在这里插入图片描述

目录

  • 摘要
  • 1 引言
  • 2 相关工作
    • 2.1 实时目标检测
    • 2.2 可逆架构
    • 2.3 辅助监督
  • 3 问题陈述
    • 3.1 信息瓶颈原理
    • 3.2 可逆函数
  • 4 方法
    • 4.1 可编程梯度信息(PGI)
      • 4.1.1 辅助可逆分支
      • 4.1.2 多层次辅助信息
    • 4.2 通用高效层聚合网络 Generalized ELAN
  • 5 实验
    • 5.1 实验设置
    • 5.2 实现细节
    • 5.3 性能对比
    • 5.4 消融研究
      • 5.4.1 GELAN
      • 5.4.2 PGI
    • 5.5 可视化
  • 6 结论

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

代码: https://github.com/WongKinYiu/yolov9

摘要

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

在这里插入图片描述

1 引言

在计算机视觉、语言处理和语音识别等各个领域,基于深度学习的模型已经显示出比过去的人工智能系统更好的性能。近年来,深度学习领域的研究人员主要关注如何开发更强大的系统架构和学习方法,如CNN,Transformer,Perceivers和Mambas。此外,一些研究人员试图开发更通用的目标函数,如损失函数、标签分配和辅助监督。上述研究都试图准确地找到输入任务和目标任务之间的映射。然而,大多数过去的方法都忽略了输入数据在前馈过程中可能具有不可忽略的信息损失量。这种信息丢失可能导致有偏差的梯度流,而梯度流随后会被用于更新模型。上述问题可能导致深度网络在目标和输入之间建立不正确的关联,导致训练后的模型产生不正确的预测。

在这里插入图片描述

在深度网络中,输入数据在前馈过程中丢失信息的现象通常被称为信息瓶颈,其原理图如图2所示。目前,可以缓解这一现象的主要方法如下:

(1)使用可逆架构:这种方法主要使用重复的输入数据,并以显式的方式维护输入数据的信息;

(2) Mask建模:主要利用重建损失,采用隐式方法最大化提取的特征,保留输入信息;

(3)引入深度监督概念:它使用没有丢失太多重要信息的浅层特征来预先建立从特征到目标的映射,以确保重要信息可以转移到更深的层。

然而,上述方法在训练过程和推理过程中都有不同的缺点。例如,可逆架构需要额外的层来组合重复馈送的输入数据,这将显著增加推理成本。此外,由于输入数据层到输出层不能有太深的路径,这种限制将使训练过程中难以对高阶语义信息进行建模。对于掩模建模,其重建损失有时与目标损失相冲突。此外,大多数掩码机制也会产生与数据的不正确关联。对于深度监督机制来说,它会产生错误积累,如果浅层监督在训练过程中丢失信息,后续层将无法检索到所需的信息。上述现象在困难任务和小型模型中更为显著。

为了解决上述问题,提出了一个新的概念,即可编程梯度信息(PGI)。其概念是通过辅助可逆分支生成可靠的梯度,使深层特征仍能保持执行目标任务的关键特征。辅助可逆分支的设计可以避免传统的集成多路径特征的深度监督过程可能导致的语义损失。换句话说,通过对不同语义级别的梯度信息传播进行编程,从而获得最佳的训练结果。PGI的可逆架构建立在辅助分支上,因此不需要额外的成本。由于PGI可以自由选择适合目标任务的损失函数,它也克服了掩模建模所遇到的问题。所提出的PGI机制可以应用于各种规模的深度神经网络,并且比仅适用于非常深度神经网络的深度监督机制更通用。

在本文中,还在ELAN的基础上设计了generalized ELAN(GELAN),GELAN的设计同时考虑了参数的数量、计算复杂度、准确性和推理速度。这种设计允许用户为不同的推理设备任意选择合适的计算块。将所提出的PGI和GELAN相结合,然后设计了新一代YOLO系列目标检测系统,称之为YOLOv9。使用MS COCO数据集进行了实验,实验结果验证了提出的YOLOv9在所有比较中都取得了最佳性能。

将本文的贡献总结如下:

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

2 相关工作

2.1 实时目标检测

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

2.2 可逆架构

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

2.3 辅助监督

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

3 问题陈述

通常,人们将深度神经网络收敛困难问题归因于梯度消失(gradient vanish)或梯度饱和(gradient saturation)等因素,这些现象在传统深度神经网络中确实存在。然而,现代深度神经网络通过设计各种归一化和激活函数,已经从根本上解决了上述问题。然而,深度神经网络仍然存在收敛速度慢或收敛效果差的问题。

本文将进一步探讨上述问题的本质。通过对信息瓶颈的深入分析,推断出造成这一问题的根本原因是,原本来自非常深的网络的初始梯度在传输后不久就丢失了大量实现目标所需的信息。为了证实这一推论,对不同架构的深度网络进行了初始权重的前馈,然后在图 2 中对它们进行了可视化说明。很明显,PlainNet 在深层中丢失了很多物体检测所需的重要信息。至于 ResNet、CSPNet 和 GELAN 所能保留的重要信息比例,确实与训练后所能获得的准确率成正相关。进一步设计了基于可逆网络的方法来解决上述问题的成因。本节将详细阐述对信息瓶颈原理和可逆函数的分析。

3.1 信息瓶颈原理

根据信息瓶颈原理,我们知道数据 X 在经过转换时可能会造成信息损失,如下式 1 所示:
I ( X , X ) ≥ I ( X , f θ ( X ) ) ≥ I ( X , g ϕ ( f θ ( X ) ) ) , I(X,X)\geq I(X,f_\theta(X))\geq I(X,g_\phi(f_\theta(X))), I(X,X)I(X,fθ(X))I(X,gϕ(fθ(X))),
其中,I 表示交互信息,f 和 g 是变换函数,θ 和 ϕ \phi ϕ 分别是 f 和 g 的参数。

在深度神经网络中, f θ ( ﹒ ) f_\theta(﹒) fθ() g ϕ ( ﹒ ) g_\phi(﹒) gϕ() 分别代表深度神经网络中连续两层的运算。从公式 1 中可以预测,随着网络层数的增加,原始数据丢失的可能性会增大。然而,深度神经网络的参数是基于网络的输出以及给定的目标,然后通过计算损失函数产生新的梯度后更新网络。可以想象,深度神经网络的输出较难保留预测目标的完整信息。这就有可能在网络训练过程中使用不完整的信息,导致梯度不可靠和收敛性差。

解决上述问题的方法之一是直接增加模型的规模。当使用大量参数来构建模型时,它更能对数据进行更完整的转换。通过上述方法,即使在数据前馈过程中丢失了信息,仍有机会保留足够的信息来完成对目标的映射。上述现象解释了为什么在大多数现代模型中,宽度比深度更重要。然而,上述结论并不能从根本上解决超深度神经网络中梯度不可靠的问题。下面,将介绍如何使用可逆函数来解决问题并进行相对分析。

3.2 可逆函数

当函数 r 具有反变换函数 v 时,称该函数为可逆函数,如公式 2 所示。
X = v ζ ( r ψ ( X ) ) , X=v_\zeta(r_\psi(X)), X=vζ(rψ(X)),
其中,ψ 和 ζ 分别是 r 和 v 的参数。数据 X 在不丢失信息的情况下通过可逆函数进行转换,如公式 3 所示。
I ( X , X ) = I ( X , r ψ ( X ) ) = I ( X , v ζ ( r ψ ( X ) ) ) . I(X,X)=I(X,r_\psi(X))=I(X,v_\zeta(r_\psi(X))). I(X,X)=I(X,rψ(X))=I(X,vζ(rψ(X))).
当网络的变换函数由可逆函数组成时,就能获得更可靠的梯度来更新模型。当今流行的深度学习方法几乎都是符合可逆特性的架构,如公式 4。
X l + 1 = X l + f θ l + 1 ( X l ) , X^{l+1}=X^l+f_\theta^{l+1}(X^l), Xl+1=Xl+fθl+1(Xl),
其中, l l l 表示 PreAct ResNet 的第 l l l 层, f f f 是第 l l l 层的变换函数。PreAct ResNet [22] 以显式方式将原始数据 X 重复传递给后续层。虽然这样的设计可以让一个拥有一千多层的深度神经网络很好地收敛,但它破坏了需要深度神经网络的一个重要原因。也就是说,对于困难的问题,很难直接找到简单的映射函数来将数据映射到目标。这也解释了为什么当层数较少时,PreAct ResNet 的表现不如 ResNet [21]。

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

4 方法

在这里插入图片描述

4.1 可编程梯度信息(PGI)

为了解决上述问题,提出了一种新的辅助监督框架,称为可编程梯度信息(Programmable Gradient Information,PGI),如图3(d)PGI 及相关网络架构和方法所示。PGI 主要由三个部分组成:(1) 主分支:用于推理的架构;(2) 辅助可逆分支:生成可靠梯度,为主分支提供后向传输;(3) 多层次辅助信息:控制主分支学习可规划的多层次语义信息。从图3(d)中,可以看到PGI的推理过程只使用主分支,因此不需要任何额外的推理成本。至于其他两个组成部分,它们用于解决或减缓深度学习方法中的几个重要问题。其中,设计了辅助可逆分支来处理神经网络深化所带来的问题。网络深化会造成信息瓶颈,使损失函数无法生成可靠的梯度。对于多级辅助信息,它是为了处理深度监督引起的误差积累问题而设计的,特别是对于多预测分支的架构和轻量级模型。接下来,将逐步介绍这两个组件。

4.1.1 辅助可逆分支

在PGI中,提出了辅助可逆分支(Auxiliary Reversible Branch)来生成可靠的梯度并更新网络参数。通过提供从数据映射到目标的信息,损失函数可以提供指导,并避免从与目标不太相关的不完整前馈特征中发现虚假相关性的可能性。提出通过引入可逆结构来维护完整信息,但在可逆结构中添加主分支将消耗大量的推理成本。分析了图3(b)的架构,发现当添加从深层到浅层的额外连接时,推理时间将增加20%。当反复将输入数据添加到网络的高分辨率计算层(黄色框)时,推理时间甚至超过了时间的两倍。

由于目标是使用可逆结构来获得可靠的梯度,因此“可逆”并不是推理阶段的唯一必要条件。有鉴于此,将可逆分支视为深度监管分支的扩展,然后设计辅助可逆分支,如图3(d)所示。至于由于信息瓶颈而丢失重要信息的主要分支深层特征,它们将能够从辅助可逆分支接收可靠的梯度信息。这些梯度信息将驱动参数学习,以帮助提取正确和重要的信息,并且上述动作可以使主分支获得对目标任务更有效的特征。此外,可逆架构在浅层网络上的性能比在一般网络上差,因为复杂的任务需要在更深的网络中进行转换。提出的方法并不强迫主分支保留完整的原始信息,而是通过辅助监督机制生成有用的梯度来更新它。这种设计的优点是,所提出的方法也可以应用于较浅的网络。

最后,由于在推理阶段可以去除辅助可逆分支,因此可以保留原始网络的推理能力。也可以选择PGI中的任何可逆结构来发挥辅助可逆分支的作用。

4.1.2 多层次辅助信息

在本节中,将讨论多级辅助信息(Multi-level Auxiliary Information)是如何工作的。包括多个预测分支的深度监管架构如图3(c)所示。对于对象检测,不同的特征金字塔可以用于执行不同的任务,例如,它们可以一起检测不同大小的对象。因此,在连接到深度监督分支后,浅层特征将被引导学习小物体检测所需的特征,此时系统将把其他大小物体的位置作为背景。然而,上述行为将导致深度特征金字塔丢失预测目标对象所需的大量信息。关于这个问题,作者认为每个特征金字塔都需要接收关于所有目标对象的信息,以便后续的主分支能够保留完整的信息来学习对各种目标的预测。

多级辅助信息的概念是在辅助监督的特征金字塔层次层和主分支之间插入一个集成网络,然后使用它来组合来自不同预测头的返回梯度,如图3(d)所示。多级辅助信息是对包含所有目标对象的梯度信息进行聚合,并将其传递给主分支,然后更新参数。此时,主分支的特征金字塔层次结构的特征将不会被某些特定对象的信息所支配。因此,提出的方法可以缓解深度监管中的信息泄露问题。此外,任何集成网络都可以用于多级辅助信息。因此,可以规划所需的语义级别,以指导不同规模的网络架构的学习。

4.2 通用高效层聚合网络 Generalized ELAN

在本节中,将介绍提出的新网络架构——GELAN。通过结合两种采用梯度路径规划设计的神经网络架构CSPNet和ELAN,设计了考虑重量、推理速度和准确性的通用高效层聚合网络(generalized efficient layer aggregation network,GELAN)。其总体架构如图4所示。模仿 CSPNet,将最初仅使用卷积层堆叠的ELAN[65]的能力推广到可以使用任何计算块的新架构。

在这里插入图片描述

5 实验

5.1 实验设置

在MS COCO数据集上验证了提出的方法,并采用了YOLOv7 AF模型。实验中,所有模型均从头开始进行了训练,总共进行了500个epoch的训练。学习率的设置上,前三个epoch采用线性Warm up策略,后续epoch根据模型规模采用相应的衰减方式。最后的15个epoch中,马赛克数据增强被关闭。

5.2 实现细节

基于YOLOv7和Dynamic YOLOv7构建了YOLOv9的通用版和扩展版本。在网络架构设计中,用 GELAN 取代了 ELAN [65],使用 CSPNet 块 [64] 和计划的 RepConv [63] 作为计算块。还简化了下采样模块,优化了无锚预测头。至于 PGI 的辅助损失部分,完全沿用了 YOLOv7 的辅助头设置。

5.3 性能对比

表 1 列出了提出的 YOLOv9 与其他从零开始训练的实时物体检测器的比较。总体而言,现有方法中表现最好的是轻量级模型 YOLO MS-S [7]、中型模型 YOLO MS [7]、一般模型 YOLOv7 AF [63]和大型模型 YOLOv8-X [15]。与轻量级和中型模型 YOLO MS [7]相比,YOLOv9 的参数减少了约 10%,计算量减少了 5∼15%,但 AP 仍提高了 0.4∼0.6%。与 YOLOv7 AF 相比,YOLOv9-C 减少了 42% 的参数和 22% 的计算量,但实现了相同的 AP(53%)。与 YOLOv8-X 相比,YOLOv9-E 的参数减少了 16%,计算量减少了 27%,但 AP 显著提高了 1.7%。上述比较结果表明,与现有方法相比,提出的 YOLOv9 在各方面都有显著改进。

在这里插入图片描述

另一方面,还将 ImageNet 预训练模型纳入比较范围,结果如图 5 所示。分别根据参数和计算量对它们进行了比较。就参数数量而言,性能最好的大型模型是 RT DETR [43]。从图 5 可以看出,使用传统卷积的 YOLOv9 在参数利用率方面甚至优于使用深度卷积的 YOLO MS。至于大型模型的参数利用率,它也大大超过了使用 ImageNet 预训练模型的 RT DETR。更妙的是,在深度模型中,YOLOv9 显示了使用 PGI 的巨大优势。通过准确保留和提取将数据映射到目标所需的信息,提出的方法只需要 66% 的参数,同时保持了 RT DETR-X 的准确性。

在这里插入图片描述

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

5.4 消融研究

5.4.1 GELAN

对于 GELAN,首先对计算块进行消融研究。分别使用 Res 块[21]、Dark 块[49]和 CSP 块[64]进行了实验。表 2 显示,用不同的计算块替换 ELAN 中的卷积层后,系统仍能保持良好的性能。用户确实可以自由替换计算块,并在各自的推理设备上使用。在不同的计算模块替换中,CSP 模块的表现尤为出色。它们不仅减少了参数和计算量,还将 AP 提高了 0.7%。因此,选择 CSPELAN 作为 YOLOv9 中 GELAN 的组成单元。

在这里插入图片描述

接下来,对不同大小的 GELAN 进行 ELAN 块深度和 CSP 块深度实验,结果如表 3 所示。可以看到,当 ELAN 的深度从 1 增加到 2 时,准确率有了显著提高。但当深度大于或等于 2 时,不管是提高 ELAN 深度还是提高 CSP 深度,参数数、计算量和准确度总是呈线性关系。这说明 GELAN 对深度并不敏感。换句话说,用户可以任意组合 GELAN 中的组件来设计网络结构,无需特殊设计即可获得性能稳定的模型。在表 3 中,对于 YOLOv9-{S,M,C},将 ELAN 深度和 CSP 深度的配对设置为{{2, 3},{2, 1},{2, 1}}。

在这里插入图片描述

5.4.2 PGI

在 PGI 方面,分别对骨干和颈部的辅助可逆分支和多级辅助信息进行了消融研究。设计了辅助可逆分支 ICN,利用 DHLC [34] 链接获得多级可逆信息。至于多级辅助信息,使用 FPN 和 PAN 进行消融研究,PFH 的作用相当于传统的深度监督。表 4 列出了所有实验的结果。从表 4 可以看出,PFH 只在深度模型中有效,而提出的 PGI 在不同组合下都能提高准确率。特别是在使用 ICN 时,得到了稳定且更好的结果。还尝试将 YOLOv7 [63] 中提出的导头引导分配应用到 PGI 的辅助监督中,取得了更好的效果。

在这里插入图片描述

进一步在不同大小的模型上实现了 PGI 和深度监督的概念,并对结果进行了比较,结果如表 5 所示。正如开头所分析的,对于浅层模型,引入深度监督会导致精度下降。对于一般模型,引入深度监督会导致性能不稳定,而深度监督的设计理念只能在极深模型中带来收益。所提出的 PGI 可以有效处理信息瓶颈和信息破碎等问题,并能全面提高不同规模模型的精度。PGI 的概念带来了两个有价值的贡献。一是使辅助监督方法适用于浅层模型,二是使深度模型训练过程获得更可靠的梯度。这些梯度使深度模型能够利用更准确的信息建立数据与目标之间的正确关联。

在这里插入图片描述

5.5 可视化

本节将探讨信息瓶颈问题,并将其可视化。此外,还将直观展示所提出的 PGI 如何利用可靠的梯度来找到数据与目标之间的正确相关性。在图 6 中,展示了在不同架构下使用随机初始权重作为前馈所得到的特征图的可视化结果。可以看到,随着层数的增加,所有架构的原始信息都在逐渐减少。例如,在 PlainNet 的第 50 层,很难看到物体的位置,而在第 100 层,所有可区分的特征都将丢失。至于 ResNet,虽然在第 50 层仍能看到物体的位置,但边界信息已经丢失。当深度达到第 100 层时,整个图像变得模糊不清。CSPNet 和提议的 GELAN 的表现都很好,它们都能在第 200 层之前保持支持清晰识别物体的特征。其中,GELAN 的结果更稳定,边界信息更清晰。

在这里插入图片描述

图 7 用于说明 PGI 能否在训练过程中提供更可靠的梯度,从而使用于更新的参数能够有效捕捉输入数据与目标之间的关系。图 7 显示了 PAN 偏差预热中 GELAN 和 YOLOv9(GELAN + PGI)的特征图可视化结果。从图 7(b)和©的对比中,可以清楚地看到 PGI 准确而简洁地捕捉到了包含目标的区域。至于没有使用 PGI 的 GELAN,发现它在检测物体边界时出现了偏差,而且在一些背景区域也产生了意外的反应。这一实验证实,PGI 的确可以提供更好的梯度来更新参数,并使主分支的前馈阶段保留更多重要特征。

在这里插入图片描述

6 结论

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

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

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

相关文章

【MySQL】简述SQLの通用语法及4种基本语句介绍(DDL/DML/DQL/DCL)

前言 大家好吖,欢迎来到 YY 滴MySQL系列 ,热烈欢迎! 本章主要内容面向接触过C Linux的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的…

定义 Item 字段的属性选项

Item 在 IRIS 中的作用和我们关系数据库中有关字段的作用的相同的,可以通过定义 Item 的属性,我们可以知道我们的可以存储什么的数据,以及数据之间有什么关系。 Item number 每一个 Item 都会有一个 ID,这个 ID 是为唯一在数据库…

动态规划标题

题目:猫粮规划 每种食物都有两种状态,记忆化dfs当然可以,但是你是否觉得这个题很想之前讲过的“小A点菜 ”?那道题问的是对于那些菜要花光她的钱,一共有多少方案?这道题问的是一个区间罢了,那么…

二、Web3 学习(区块链)

区块链基础知识 一、基础知识1. 区块链可以做什么?2. 区块链的三个特点 二、区块链的类型概括1. PoW2. PoS3. 私有链和联盟链 三、智能合约1. 什么是智能合约2. 如何使用智能合约 四、困境1. 三难选择的基本要素2. 这真的是一个三难选择吗? 五、比特币1. 什么是比特…

PTA L2-037 包装机

一种自动包装机的结构如图 1 所示。首先机器中有 N 条轨道,放置了一些物品。轨道下面有一个筐。当某条轨道的按钮被按下时,活塞向左推动,将轨道尽头的一件物品推落筐中。当 0 号按钮被按下时,机械手将抓取筐顶部的一件物品&#x…

Spring学习——什么是循环依赖及其解决方式

文章目录 前言一、什么是循环依赖二、解决思路1、循环依赖分类2、对象初始化步骤及对象分类3、spring是如何解决的4、图解5、三级缓存1、区别2、ObjectFactory是什么 三、源码debug1、spring创建对象过程1、dubug第一步——找到getBean2、dubug第二步——getBean与doGetBean3、…

MySQL高阶SQL语句

文章目录 MySQL高阶SQL语句MySQL常用查询1、按关键字排序1.1 语法1.2 ASC和DESC1.3 对数据表中信息进行排序1.3.1 普通排序1.3.2 结合where进行条件过滤1.3.3 对多个字段进行排序 2、区间判断及查询不重复记录2.1 and/or —— 且/或2.1.1 普通查询2.1.2 嵌套/多条件查询 2.2 di…

Linux基础IO(操作系统层面理解文件)

目录 一、认识 open 函数 1.1 理解文件 1.2 open 函数 1.3 函数选项和宏 二、 open 函数的返回值 三、 fd 的本质 3.1 各部分内容及关系 3.2 如何确定进程对应文件 四、Linux 一切皆文件? 一、认识 open 函数 在C语言中学习文件操作时,我们学…

【ORB-SLAM3】在 Ubuntu20.04 上编译 ORM-SLAM3 并使用 D435i、EuRoC 和 TUM-VI 运行测试

【ORB-SLAM3】在 Ubuntu20.04 上编译 ORM-SLAM3 并使用 D435i、EuRoC 和 TUM-VI 运行测试 1 Prerequisites1.1 C11 or C0x Compiler1.2 Pangolin1.3 OpenCV1.4 Eigen3 2 安装 Intel RealSense™ SDK 2.02.1 测试设备2.2 编译源码安装 (Recommend)2.3 预编译包安装 3 编译 ORB-S…

【C语言】C语言基础习题详解(牛客网)二分查找逻辑

主页:醋溜马桶圈-CSDN博客 专栏:C语言_醋溜马桶圈的博客-CSDN博客 gitee:mnxcc (mnxcc) - Gitee.com 目录 1.三目运算符的使用 三目运算符,即a>b?a:b类型的,很多时候适当的使用三目运算符可以使得代码更简洁有序&…

4个AI智能写作平台,为你解决文章写作问题

在信息时代,写作是一项重要的技能,无论是在学术领域还是商务环境中。然而,对于许多人来说,写作并不是一件轻松的事情。但是,随着人工智能的发展,有许多AI智能写作平台可以帮助我们解决文章写作问题。在本文…

开放大学2024年春《数控技术 060253》综合大作业参考答案

答案:更多答案,请关注【电大搜题】微信公众号 答案:更多答案,请关注【电大搜题】微信公众号 答案:更多答案,请关注【电大搜题】微信公众号 单选题 1数控系统的核心是( ) …