赞
踩
【论文】https://arxiv.org/pdf/2402.13616.pdf
【源码】https://github.com/WongKinYiu/yolov9
当今的深度学习方法专注于设计最合适的目标函数,以使模型的预测结果与实际情况最接近。同时,必须设计一个合适的架构,以便获取足够的信息进行预测。
基于传统的深度学习方法,当输入数据经过逐层特征提取和空间变换时,大量信息会丢失(信息瓶颈)。
论文深入探讨当数据通过深度网络传输时的数据丢失重要问题,即信息瓶颈和可逆函数,提出可编程梯度信息(PGI)的概念和广义高效层聚合网络(GELAN)。PGI可以为目标任务提供完整的输入信息来计算目标函数,从而获得可靠的梯度信息以更新网络权重。此外,基于梯度路径规划设计了一种新的轻量级网络架构——广义高效层聚合网络(GELAN)。GELAN的架构证实了PGI在轻量级模型上取得了优异的结果。
信息瓶颈
在深度网络中,输入数据在前向传播过程中丢失信息的现象通常被称为信息瓶颈。目前,主要可以缓解这一现象的方法有:
(1)使用可逆架构:该方法主要使用重复的输入数据并以显式方式保留输入数据的信息;
(2)使用掩模建模:主要利用重构损失,采用隐式方式最大化提取的特征并保留输入信息;
(3)引入深度监督概念:利用未丢失太多重要信息的浅层特征,预先建立特征到目标的映射,以确保重要信息能够传递到更深层。
然而,以上方法在训练和推理过程中存在不同的缺点。例如,可逆架构需要额外的层来结合重复输入数据,这会显著增加推理成本。此外,由于输入数据层到输出层不能有太深的路径,这一限制会使训练过程中难以建模高阶语义信息。至于掩模建模,其重构损失有时会与目标损失冲突。此外,大多数掩模机制还会与数据产生不正确的关联。对于深度监督机制来说,它会产生误差累积,如果浅监督在训练过程中丢失信息,后续层将无法检索所需信息。以上现象在困难任务和小模型上会更显著。
为了解决上述问题,我们提出了一个新概念,即可编程梯度信息(PGI)。该概念通过辅助可逆分支生成可靠的梯度,使深层特征仍然保持执行目标任务的关键特性。辅助可逆分支的设计可以避免传统深度监督过程可能导致的语义丢失,这种过程集成了多路径特征。换句话说,我们正在不同语义层次上编程梯度信息传播,从而实现最佳的训练结果。PGI的可逆架构建立在辅助分支上,因此没有额外的成本。由于PGI可以自由选择适合目标任务的损失函数,它也克服了掩模建模遇到的问题。所提出的PGI机制可应用于各种规模的深度神经网络,比深度监督机制更通用,后者只适用于非常深的神经网络。
在本文中,我们还基于ELAN设计了广义ELAN(GELAN),GELAN的设计同时考虑了参数数量、计算复杂性、准确性和推理速度。这种设计允许用户随意选择适合不同推理设备的计算块。我们将提出的PGI和GELAN结合起来,然后设计了一个新一代的YOLO系列目标检测系统,我们称之为YOLOv9。我们使用了MS COCO数据集进行实验,并实验结果验证了我们提出的YOLOv9在所有对比中均取得了最佳性能。
PGI主要有以下三部分:
PGI中引入可逆架构来保持完整信息,但是将主分支添加到可逆架构中会增加大量推理成本,如上图(b)RevCol,将输入数据重复添加到网络的高分辨率计算层(黄色框内)会增加推理时间,且可逆架构在千层网络上的表现不如一般网络(因为复杂任务需要在更深网络中转换)。
如上图(d)Programmable Gradient Information(蓝色框内),将可逆分支作为深度监督分支的拓展,设计辅助分支。辅助可逆分支具有以下优点:
深度监督架构包含多个预测分支,如上图(c)Deep Supervision所示。对于目标检测,不同特征金字塔执行不同任务,比如检测不同大小的物体。因此,在连接深度监督分支后,浅层特征被引导学习用于小物体检测所需的特征,此时其他大小物体的位置被视为背景。这种做法会导致深层特征金字塔丢失目标检测对象所需的大量信息。
多层次辅助信息是在辅助监督的特征金字塔和主分支之间插入一个集成网络,然后使用其结合不同的检测头返回梯度,如上图(d)Programmable Gradient Information(粉紫色框内)。多层次辅助信息汇总了包含所有目标对象的梯度信息,将其传递给主分支,更新参数,此时主分支的特征金字塔层次的特征不会被某些特定对象的特征所主导。多层次辅助信息具有以下优点:
缓解深度监督中信息丢失问题。
任何集成网络可以用于多层次辅助信息。
GELAN是通过结合带有梯度路径规划的CSPNet和ELAN两种神经网络架构的新网络架构,如上图所示,模仿CSPNet将ELAN拓展为支持任何计算块的GELAN,从而兼顾轻量级、推理速度和准确性等。
实验设置
实验源于YOLOv7 AF(同一作者),数据集为MS COCO2017,所提及的模型都是从头开始训练,总训练500个epochs,设置学习率时,前3个epochs使用线性预热,之后的epochs根据模型规模设置相应衰减方式,最后15个epochs关闭马赛克数据增强。
实现细节
分别基于YOLOv7和Dynamic YOLOv7构建了通用版和扩展版YOLOv9,使用CSPNet块和计划的RepConv作为计算块,用GELAN代替ELAN。
与最先进水平比较
YOLOv9在各方面有显著提升。
使用ImageNet作为预训练权值比较,在参数利用方面,使用常规卷积的YOLOv9比使用深度卷积的YOLO MS更好;在大型模型的参数利用率方面,大大超过使用ImageNet预训练模型的RT-DETR。
消融实验
GELAN实验
在不同计算块比较中,CSP效果最好,参数和计算量都有减少,而且提升了0.7%。
GELAN对深度不敏感,组合任意的GELAN组件设计网络架构,就能得到性能稳定的模型。
PGI能够有效处理信息瓶颈、信息破碎等问题,全面提高不同尺寸模型的精度。
可视化
从上图我们可以看出,随着层数的增加,所有架构的原始信息在逐渐减少。
在PlainNet的 5 0 t h 50^{th} 50th层很难看清物体位置, 10 0 t h 100^{th} 100th层时可区分的特征都丢失。
ResNet的 5 0 t h 50^{th} 50th层能看清物体位置,但是边界信息已经丢失,当深度超过 10 0 t h 100^{th} 100th层后整个图像变得模糊不清。
CSPNet和GELAN的表现都很好,都能在
20
0
t
h
200^{th}
200th之前保持清晰识别物体的特征,其中,GELAN的结果更稳定,边界信息更清晰。
上图为GELAN和YOLOv9(GELAN+PGI)的PAN特征图的可视化结果,经历一个历时的偏差预热,GELAN最初存在一些偏差,但是加入PGI的可逆分支之后,能更聚焦与目标对象,这说明PGI能在训练过程中提供可靠的提取,从而使用于更新的参数能够有效捕捉输入数据。
根据论文的PGI和GELAN流程图,和源码中yolov9.yaml绘制YOLOv9流程图如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。