赞
踩
今天的深度学习方法侧重于如何设计最合适的目标函数,使模型的预测结果最接近实际情况。同时,必须设计一种适当的架构,该架构可以促进获取足够的信息用于预测。现有的方法忽略了一个事实,即当输入数据经过逐层特征提取和空间变换时,会丢失大量信息。本文将深入研究数据通过深度网络传输时数据丢失的重要问题,即信息瓶颈和可逆函数。我们提出了可编程梯度信息(PGI)的概念,以应对深度网络实现多个目标所需的各种变化。PGI可以为目标任务提供完整的输入信息来计算目标函数,从而获得可靠的梯度信息来更新网络权重。此外,还设计了一种新的基于梯度路径规划的轻量级网络架构——广义高效层聚合网络(GELAN)。GELAN的架构证实了PGI在轻量级模型上取得了卓越的成果。我们在基于MS COCO数据集的目标检测上验证了所提出的GELAN和PGI。结果表明,与基于深度卷积开发的最先进方法相比,GELAN仅使用传统的卷积算子来实现更好的参数利用率。PGI可以用于从轻量级到大型的各种模型。它可以用于获得完整的信息,因此从头开始训练的模型可以获得比使用大型数据集预先训练的现有模型更好的结果,比较结果如下图所示。源代码位于:WongKinYiu/yolov9: Implementation of paper - YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information (github.com)
MS COCO数据集上实时对象检测结果的比较。基于GELAN和PGI的物体检测方法在物体检测性能方面超过了以前的所有从头开始的方法。就准确性而言,新方法优于用大数据集预训练的RT-DETR,并且在参数利用率方面也优于基于深度卷积的设计YOLO MS。
不同网络架构的随机初始权重输出特征图的可视化结果:(a)输入图像,(b)PlainNet,(c)ResNet,(d)CSPNet和(e)提出的GELAN。从图中我们可以看出,在不同的架构中,提供给目标函数计算损失的信息都有不同程度的丢失,我们的架构可以保留最完整的信息,并为计算目标函数提供最可靠的梯度信息。
根据信息瓶颈原理,我们知道数据 X 在进行转换时可能会导致信息丢失,如下面的等式所示:
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_θ(·) fθ(⋅) 和 g ϕ ( ⋅ ) g_\phi(·) gϕ(⋅) 分别表示深度神经网络的两个连续层的操作。从上等式中,我们可以预测,随着网络层的数量越来越深,原始数据将更容易丢失。然而,深度神经网络的参数基于网络的输出以及给定的目标,然后在通过计算损失函数生成新的梯度后更新网络。可以想象,更深层次的神经网络的输出不太能够保留关于预测目标的完整信息。这将使得在网络训练过程中使用不完整的信息成为可能,从而导致梯度不可靠和收敛性差。
解决上述问题的一种方法是直接增加模型的大小。当我们使用大量参数来构建模型时,它更有能力对数据进行更完整的转换。上述方法允许即使在数据前馈过程中信息丢失,仍然有机会保留足够的信息来执行到目标的映射。上述现象解释了为什么在大多数现代模型中宽度比深度更重要。然而,上述结论并不能从根本上解决极深神经网络中梯度不可靠的问题。下面,我们将介绍如何使用可逆函数来解决问题,并进行相关分析。
当函数 r 具有逆变换函数 v 时,我们称该函数为可逆函数,如等式所示。
X = v ζ ( r ψ ( X ) ) X=v_ζ(r_ψ(X)) X=vζ(rψ(X))
其中 ψ 和 ζ 分别是 r 和 v 的参数。数据 X 通过可逆函数进行转换而不丢失信息,如等式所示。
I ( X , X ) = I ( X , f ψ ( X ) ) = I ( X , g ζ ( f ψ ( X ) ) ) I(X,X)= I(X,f_ψ(X))= I(X,g_ζ (f_ψ(X))) I(X,X)=I(X,fψ(X))=I(X,gζ(fψ(X)))
当网络的变换函数由可逆函数组成时,可以获得更可靠的梯度来更新模型。今天几乎所有流行的深度学习方法都是符合可逆性质的架构,如等式。
X l + 1 = X l + f θ l + 1 ( X l ) X^{l+1}=X^l+f^{l+1}_\theta(X^l) Xl+1=Xl+fθl+1(Xl)
其中 l 表示PreAct-ResNet的第 l 层,f 是第 l 层的变换函数。PreAct-ResNet以明确的方式将原始数据 X 重复传递到后续层。尽管这样的设计可以使一千层以上的深度神经网络非常好地收敛,但它破坏了我们需要深度神经网络的一个重要原因。也就是说,对于难题,我们很难直接找到简单的映射函数来将数据映射到目标。这也解释了为什么当层数较少时,PreAct ResNet的性能比ResNet差。
此外,我们尝试使用掩蔽建模,使 Transformer 模型实现重大突破。我们使用近似方法,如下等式。试图找到 r 的逆变换 v,以便变换后的特征可以使用稀疏特征保留足够的信息。方程的形式如下:
X = v ζ ( r ψ ( X ) ⋅ M ) X=v_ζ(r_ψ(X)·M) X=vζ(rψ(X)⋅M)
其中M是动态二进制掩码。通常用于执行上述任务的其他方法是扩散模型和变分自动编码器,它们都具有求逆函数的功能。然而,当我们将上述方法应用于轻量级模型时,会存在缺陷,因为轻量级模型将对大量原始数据参数化不足。由于上述原因,将数据X映射到目标Y的重要信息I(Y,X)也将面临同样的问题。对于这个问题,我们将使用信息瓶颈的概念来探讨[Deep learning and the information bottleneck principle]。信息瓶颈的公式如下:
I ( X , X ) ≥ I ( Y , X ) ≥ I ( Y , f θ ( X ) ) ≥ . . . ≥ I ( Y , ˆ Y ) . I(X, X) ≥ I(Y, X) ≥ I(Y, f_θ(X)) ≥ ... ≥ I(Y, ˆ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(Y,X) I(Y,X),训练效果也会受到很大影响。轻量级模型本身处于参数化不足的状态,因此在前馈阶段很容易丢失许多重要信息。因此,我们对轻量级模型的目标是如何从 I ( X , X ) I(X,X) I(X,X) 中准确地过滤 I ( Y , X ) I(Y,X) I(Y,X)。至于完全保留 X 的信息,这是很难实现的。基于上述分析,我们希望提出一种新的深度神经网络训练方法,该方法不仅可以生成可靠的梯度来更新模型,而且适用于浅层和轻量级的神经网络。
PGI以及相关的网络架构和方法。(a) 路径聚合网络(PAN)),(b)可逆列(RevCol),(c)传统深度监督,以及(d)我们提出的可编程梯度信息(PGI)。PGI主要由三个部分组成:(1)主分支:用于推理的架构;(2)辅助可逆分支:生成可靠的梯度,为主分支提供反向传输;(3)多级辅助信息:控制主分支学习可规划的多级语义信息。
GELAN的架构:(a)CSPNet,(b)ELAN和(c)提出的GELAN。我们模仿CSPNet,将ELAN扩展到可以支持任何计算块的GELAN中。
下表列出了我们提出的 YOLOv9 与其他从头开始的实时物体探测器的比较。总体而言,现有方法中性能最好的方法是用于轻型模型的YOLO MS-S,用于中型模型的YOLO-MS、用于通用模型的YOLOv7-AF和用于大型模型的YOlonv8-X。与轻型和中型型号YOLO MS相比,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在各个方面都有了显著的改进。
Comparison of state-of-the-art real-time object detectors.
另一方面,我们还将 ImageNet 预训练模型纳入比较,结果如下图所示。我们分别根据参数和计算量对它们进行比较。就参数数量而言,性能最好的大型模型是RT DETR。从图中,我们可以看到,在参数利用方面,使用传统卷积的YOLOv9甚至比使用深度卷积的YOLO MS更好。在大模型的参数利用方面,它也大大超过了使用ImageNet预训练模型的RT-DETR。更好的是,在深度模型中,YOLOv9 展示了使用 PGI 的巨大优势。通过准确地保留和提取将数据映射到目标所需的信息,我们的方法只需要66%的参数,同时保持RT DETR-X的准确性。
最先进的实时物体探测器的比较。参与比较的方法都使用ImageNet作为预训练权重,包括RT DETR、RTMDet和PP-YOLOE等。使用从头开始训练方法的YOLOv9明显优于其他方法的性能。
至于计算量,从最小到最大的最佳现有模型是YOLO-MS、PP-YOLOE和RT-DETR。从上图中,我们可以看到 YOLOv9 在计算复杂度方面远远优于从头开始训练的方法。此外,如果与基于深度卷积和基于ImageNet的预训练模型的模型相比,YOLOv9也非常有竞争力。
对于GELAN,我们首先对计算块进行消融研究。我们分别使用Res块、Dark块和CSP块进行实验。下表显示,用不同的计算块替换ELAN中的卷积层后,系统可以保持良好的性能。用户确实可以自由地替换计算块,并在各自的推理设备上使用它们。在不同的计算块替换中,CSP块表现得特别好。它们不仅减少了参数和计算量,而且将AP提高了0.7%。因此,我们选择CSPELAN作为YOLOv9中GELAN的组成单元。
对各种计算块的消融研究。CB类型注释为计算块类型;-S 小型模型。
接下来,我们在不同尺寸的GELAN上进行ELAN块深度和CSP块深度实验,结果如下表所示。我们可以看到,当ELAN的深度从1增加到2时,精度显著提高。但是,当深度大于或等于2时,无论是提高ELAN深度还是CSP深度,参数的数量、计算量和精度都将始终呈现线性关系。这意味着GELAN对深度不敏感。换言之,用户可以任意组合GELAN中的组件来设计网络架构,并且无需特殊设计即可获得性能稳定的模型。在表中,对于YOLOv9-{S,M,C},我们将ELAN深度和CSP深度的配对设置为{{2,3},{2,1},{2,1}}。
ELAN和CSP深度的消融研究。DELAN和DCP分别表示ELAN和CSP的深度。-{S、M、C}表示小型、中型和紧凑型。
在PGI方面,我们分别对 backbone and neck 的辅助可逆分支和多级辅助信息进行了消融研究。我们设计了辅助可逆分支ICN,使用DHLC连接来获得多级可逆信息。对于多层次的辅助信息,我们使用FPN和PAN进行消融研究,PFH的作用相当于传统的深度监督。所有实验的结果列于下表中。从表中可以看出,PFH仅在深度模型中有效,而我们提出的PGI可以在不同组合下提高精度。特别是在使用ICN时,我们得到了稳定和更好的结果。我们还尝试将YOLOv7中提出的领导引导分配应用于PGI的辅助监督,并取得了更好的性能。
Ablation study on PGI of backbone and neck.DELAN和DCP分别表示ELAN和CSP的深度。LHG表示YOLOv7提出的头部引导训练。
我们在各种规模的模型上进一步实现了PGI和深度监督的概念,并对结果进行了比较,这些结果如下表所示。正如一开始所分析的,引入深度监督将导致浅层模型的准确性损失。对于一般模型,引入深度监管会导致性能不稳定,而深度监管的设计理念只能在极深的模型中带来收益。所提出的PGI可以有效地处理信息瓶颈和信息断裂等问题,并可以全面提高不同规模模型的准确性。PGI的概念带来了两个宝贵的贡献。第一个是使辅助监督方法适用于浅层模型,而第二个是使深层模型训练过程获得更可靠的梯度。这些梯度使深度模型能够使用更准确的信息来建立数据和目标之间的正确相关性。
Ablation study on PGI.DS表示深度监督。-{S,M,C,E}表示小型、中型、紧凑型和扩展型。
最后,我们在表中显示了从基线YOLOv7到YOLOv9E逐渐增加成分的结果。我们提出的GELAN和PGI对模型进行了全面的改进。
Ablation study on GELAN and PGI.
本节将探讨信息瓶颈问题并将其可视化。此外,我们还将可视化所提出的 PGI 如何使用可靠的梯度来找到数据和目标之间的正确相关性。在下图中,我们展示了在不同架构下使用随机初始权重作为前馈获得的特征图的可视化结果。我们可以看到,随着层数的增加,所有架构的原始信息逐渐减少。例如,在PlainNet的第50层,很难看到对象的位置,所有可区分的特征都将在第100层丢失。对于ResNet,虽然在第50层仍然可以看到对象的位置,但边界信息已经丢失。当深度达到第100层时,整个图像变得模糊。CSPNet和所提出的GELAN都表现得很好,它们都可以保持支持清晰识别物体的特征,直到第200层。在比较中,GELAN的结果更稳定,边界信息更清晰。
由PlainNet、ResNet、CSPNet和GELAN在不同深度的随机初始权重输出的特征图(可视化结果)。在100层之后,ResNet开始产生足以混淆对象信息的前馈输出。我们提出的GELAN在第150层之前仍然可以保留相当完整的信息,并且在第200层之前仍然具有足够的鉴别力。
下图用于显示PGI是否可以在训练过程中提供更可靠的梯度,以便用于更新的参数能够有效地捕捉输入数据与目标之间的关系。显示了PAN偏置预热中GELAN和YOLOv9(GELAN+PGI)的特征图的可视化结果。从图(b)和(c)的比较中,我们可以清楚地看到PGI准确简洁地捕捉到包含对象的区域。对于不使用PGI的GELAN,我们发现它在检测物体边界时存在发散性,并且在一些背景区域也产生了意想不到的响应。该实验证实,PGI确实可以提供更好的梯度来更新参数,并使主分支的前馈级能够保留更重要的特征。
在一个epoch的偏置预热后,GELAN和YOLOv9(GELAN+PGI)的PAN特征图(可视化结果)。GELAN最初有一些发散性,但在添加PGI的可逆分支后,它更有能力聚焦在目标物体上。
YOLOv9的训练参数如表所示。我们完全遵循YOLOv7 AF的设置,即使用SGD优化器来训练500个epoch。我们首先进行了3个epoch的热身,只在热身阶段更新了偏差。接下来,我们以线性衰减的方式将初始学习率从0.01降低到0.0001,表底部列出了数据增强设置。我们关闭了过去15个epoch的马赛克数据增强操作。
YOLOv9的超参数设置。
YOLOv9的网络拓扑结构完全遵循YOLOv7 AF,也就是说,我们用所提出的CSP-ELAN块代替ELAN。如下表所示,CSP-ELAN的深度参数分别表示为ELAN深度和CSP深度。关于CSPELAN滤波器的参数,它们表示为ELAN输出滤波器、CSP输出滤波器和CSP内部滤波器。在下采样模块部分,我们将CSP-DOWN模块简化为DOWN模块。DOWN模块由大小为2和步长为1的池化层以及大小为3和步长为2的Conv层组成。最后,我们优化了预测层,并将回归分支中的顶部、左侧、底部和右侧替换为解耦分支。
YOLOv9的网络配置
我们将YOLOv9与用不同方法训练的最先进的实时物体探测器进行了比较。主要包括四种不同的训练方法:
我们将结果显示在下表中。从这个表中,我们可以看到我们提出的YOLOv9比所有其他方法都表现得更好。与使用ImageNet和Objects365训练的PPYOLOE±X相比,我们的方法仍然减少了55%的参数数量和11%的计算量,并提高了0.4%的AP。
最先进的物体探测器与不同训练设置的比较。
下表显示了按参数大小排序的所有模型的性能。我们提出的YOLOv9在不同大小的所有模型中都是帕累托最优的。其中,我们没有发现在参数超过20M的模型中进行Pareto最优的其他方法。上述实验数据表明,我们的YOLOv9具有优异的参数使用效率。
最先进的物体探测器与不同训练设置的比较(按参数数量排序)
下表所示为所有参与模型的性能,按计算量排序。我们提出的YOLOv9在所有具有不同尺度的模型中都是帕累托最优的。在具有60多个GFLOP的模型中,只有基于ELAN的DAMO-YOLO和基于DETR的RT-DETR可以与所提出的YOLOv9相媲美。上述比较结果表明,YOLOv9在计算复杂度和准确性之间的权衡中具有最突出的性能。
最先进的物体探测器与不同训练设置的比较(按计算量排序)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。