前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布

YOLOv9

作者头像
计算机视觉研究院
发布2024-03-13 16:02:23
1420
发布2024-03-13 16:02:23
举报

计算机视觉研究院专栏

Column of Computer Vision Institute

现在的深度学习方法侧重于如何设计最合适的目标函数,使模型的预测结果最接近实际情况。同时,必须设计一种适当的架构,该架构可以促进获取足够的信息用于预测。

PART/1

前言

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

PART/2

前言

在深度网络中,输入数据在前馈过程中丢失信息的现象通常被称为信息瓶颈,其原理图如下图所示。

目前,可以缓解这一现象的主要方法有:(1)可逆架构的使用:这种方法主要使用重复的输入数据,并以显式的方式维护输入数据的信息;(2) 掩模建模的使用:主要利用重建损失,采用隐式方法最大化提取的特征,保留输入信息;以及(3)引入深度监督概念:它使用没有丢失太多重要信息的浅层特征来预先建立从特征到目标的映射,以确保重要信息可以转移到更深的层次。然而,上述方法在训练过程和推理过程中都有不同的缺点。例如,可逆架构需要额外的层来组合重复馈送的输入数据,这将显著增加推理成本。此外,由于输入数据层到输出层不能有太深的路径,这种限制将使训练过程中难以对高阶语义信息进行建模。对于掩模建模,其重建损失有时与目标损失相冲突。此外,大多数掩码机制也会产生与数据的不正确关联。对于深度监督机制来说,它会产生错误积累,如果浅层监督在训练过程中丢失信息,后续层将无法检索到所需的信息。上述现象在困难任务和小型模型中更为显著。

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

PART/3

相关工作

Reversible Architectures

可逆架构的运算单元必须保持可逆转换的特性,因此可以确保每层运算单元的输出特征图都能保留完整的原始信息。以前,RevCol将传统的可逆单元概括为多个层次,这样可以扩展不同层单元表达的语义层次。通过对各种神经网络架构的文献综述,我们发现有许多高性能架构具有不同程度的可逆性质。例如,Res2Net模块以分层方式将不同的输入分区与下一个分区组合,并在将所有转换的分区向后传递之前将其连接起来。CBNet通过复合主干重新引入原始输入数据,获得完整的原始信息,并通过各种合成方法获得不同层次的多级可逆信息。这些网络架构通常具有极好的参数利用率,但额外的复合层导致推理速度慢。DynamicDet结合了CBNet和高效实时目标检测器YOLOv7,在速度、参数数量和精度之间实现了很好的折衷。本文介绍了DynamicDet体系结构作为设计可逆分支的基础。此外,可逆信息被进一步引入到所提出的PGI中。所提出的新架构在推理过程中不需要额外的连接,因此可以充分保留速度、参数量和准确性的优势。

辅助监督

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

PART/4

问题陈述

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

PART/5

方法论

可编程梯度信息

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

辅助可逆支路

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

Generalized ELAN

我们将介绍拟议的新网络架构——GELAN。通过结合CSPNet和ELAN这两种采用梯度路径规划设计的神经网络架构,我们设计了考虑重量、推理速度和精度的广义有效层聚合网络(GELAN)。其总体架构如下图所示。我们将最初仅使用卷积层堆叠的ELAN的能力推广到可以使用任何计算块的新架构。

PART/6

实验及可视化

上表列出了我们提出的YOLOv9与其他从头开始的实时物体探测器的比较。总体而言,现有方法中性能最好的方法是用于轻型模型的YOLO MS-S,用于中型模型的YOLO-MS、用于通用模型的YOLONV7-AF和用于大型模型的YOlonv8-X。与轻型和中型型号YOLO MS相比,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在各个方面都有了显著的改进。

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-03-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 计算机视觉战队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Reversible Architectures
  • Generalized ELAN
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档