本文首发:AIWalker
欢迎关注AIWalker,近距离接触底层视觉与基础AI技术
摘要
当今的深度学习方法侧重于如何设计最合适的目标函数,以便模型的预测结果最接近真实情况;与此同时,必须设计一个适当的架构,以便于获取足够的信息进行预测。现有的方法忽略了一个事实:当输入数据进行逐层特征提取和空间变换时,会丢失大量信息。本文将深入探讨数据通过深度网络传输时数据丢失的重要问题,即信息瓶颈和可逆功能。
- 提出了可编程梯度信息(PGI)的概念,以应对深度网络实现多重目标所需的各种变化。PGI可以为目标任务提供完整的输入信息来计算目标函数,从而获得可靠的梯度信息来更新网络权重。
- 设计了一种基于梯度路径规划的新型轻量级网络架构——广义高效层聚合网络(GELAN)。GELAN的架构证实了PGI在轻量化模型上取得了优异的成绩。我们在基于MS COCO数据集的目标检测上验证了所提出的GELAN和PGI。
结果表明,与基于深度卷积的现有方法相比,GELAN仅使用传统的卷积算子即可实现更好的参数利用。PGI可用于从轻量级到大型的各种型号。它可以用来获得完整的信息,使从头开始训练的模型比使用大数据集预训练的最先进的模型获得更好的结果,比较结果如图1所示。 源代码位于:https://github.com/WongKinYiu/yolov9。
本文贡献
本文的贡献总结如下:
- 我们从可逆函数的角度对现有的深度神经网络架构进行了理论分析,通过这个过程,我们成功地解释了许多过去难以解释的现象。我们还基于该分析设计了PGI和辅助可逆分支,并取得了优异的效果。
- 我们设计的PGI解决了深度监督只能用于极深神经网络架构的问题,从而让新的轻量级架构真正应用到日常生活中。
- 我们设计的GELAN仅使用常规卷积,比基于最先进技术的深度卷积设计实现更高的参数使用,同时显示出轻巧、快速、准确的巨大优势。
- 结合所提出的PGI和GELAN,YOLOv9在MS COCO数据集上的目标检测性能在各个方面都大大超越了现有的实时目标检测器。
本文方案
为了解决上述问题,我们提出了一种新的辅助监督框架,称为可编程梯度信息(PGI),如上图(d)所示。PGI主要包括三个组成部分,(1)主分支,(2)辅助可逆分支,(3)多级辅助信息。
从中我们可以看到,PGI 的推理过程仅使用 main 分支,因此不需要任何额外的推理成本。至于其他两个组件,它们用于解决或减缓深度学习方法中的几个重要问题。
- 辅助可逆分支旨在处理神经网络深化带来的问题,即网络深化会造成信息瓶颈,使损失函数无法生成可靠的梯度。
- 多级辅助信息旨在处理深度监管导致的误差累积问题,特别是针对多预测分支的架构和轻量级模型。
Auxiliary Reversible Branch
在PGI中,我们提出了辅助可逆分支来生成可靠的梯度并更新网络参数。通过提供从数据映射到目标的信息,损失函数可以提供指导,并避免从与目标不太相关的不完整前馈特征中发现错误相关性的可能性。
我们提出通过引入可逆架构来维护完整的信息,但是在可逆架构中添加主分支会消耗大量的推理成本。我们分析了图 3 (b) 的架构,发现当添加从深层到浅层的额外连接时,推理时间将增加 20% 。当我们将输入数据反复添加到网络的高分辨率计算层(黄框)时,推理时间甚至超过两倍的时间。由于我们的目标是使用可逆架构来获得可靠的梯度,因此“可逆”并不是推理阶段的唯一必要条件。有鉴于此,我们将可逆分支视为深度监督分支的扩展,然后设计辅助可逆分支,如图3(d)所示。
至于由于信息瓶颈而丢失重要信息的主分支深层特征,它们将能够从辅助可逆分支接收可靠的梯度信息。这些梯度信息将驱动参数学习,以帮助提取正确且重要的信息,而上述操作可以使主分支获得对目标任务更有效的特征。此外,可逆架构在浅层网络上的表现比在一般网络上更差,因为复杂的任务需要在深层网络中进行转换。 我们提出的方法不强迫主分支保留完整的原始信息,而是通过辅助监督机制生成有用的梯度来更新它。该设计的优点是所提出的方法也可以应用于较浅的网络。
Multi-level Auxiliary Information
在本节中,我们将讨论多级辅助信息的工作原理。包括多个预测分支的深度监督架构如图 3 (c) 所示。对于目标检测,可以使用不同的特征金字塔来执行不同的任务,例如,它们可以一起检测不同大小的对象 。因此,在连接到深度监督分支后,将引导浅层特征学习小目标检测所需的特征,此时系统将以其他尺寸物体的位置为背景。然而,上述行为将导致深特征金字塔丢失预测目标对象所需的大量信息。
关于这个问题,我们认为每个特征金字塔都需要接收到所有目标对象的信息,以便后续的主分支能够保留完整的信息来学习对各种目标的预测 。多级辅助信息的概念是在辅助监督的特征金字塔层次层和主分支之间插入一个集成网络,然后用它来组合来自不同预测头返回的梯度,如图3(d)所示。然后,多级辅助信息是聚合包含所有目标对象的梯度信息,并将其传递给主分支,然后更新参数。此时,主分支的特征金字塔层次结构的特征将不再受某些特定对象信息的支配。因此,该方法可以缓解深度监督中的信息破损问题。此外,任何集成网络都可以用于多级辅助信息。 因此,我们可以规划所需的语义级别来指导不同规模的网络架构的学习。
Generalized ELAN
在本节中,我们将介绍拟议的新网络架构 – GELAN。通过结合采用梯度路径规划设计的两种神经网络架构 CSPNet [ 64] 和 ELAN [ 65),我们设计了兼顾轻量级、推理速度和准确性的广义高效层聚合网络 (GELAN)。其整体架构如图 4 所示。我们将最初仅使用卷积层堆叠的 ELAN [ 65] 的功能推广到可以使用任何计算块的新架构中。
本文实验
表 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%,计算次数减少了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 也非常有竞争力。
推荐阅读
- U版YOLO-World来了,YOLOv8再度升级,三行代码上手YOLO-World!
- YOLO-World | 赋能YOLOv8开集检测能力,构建新一代YOLO新标杆
- YOLOv8重磅升级,新增旋转目标检测,又该学习了~
- YOLO-NAS | YOLO新高度,引入NAS,出于YOLOv8而优于YOLOv8
- YOLOv6 v3.0 | 重磅升级!性能超越V8!
- DAMO-YOLO | 超越所有YOLO,魔搭社区开源至强YOLO,5行代码即可体验!
- 南开大学提出YOLO-MS | 超越YOLOv8与RTMDet,即插即用打破性能瓶颈