实时目标检测新SOTA-YOLOv9问世
论文标题:
YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information
论文作者:
Chien-Yao Wang, I-Hau Yeh, and Hong-Yuan Mark Liao
导读: YOLOv9有两大贡献:剔除可编程梯度信息(programmable gradient information,PGI)的概念;设计了一种新的基于梯度路径规划的轻量级网络架构GELAN,用于证明PGI在轻量级模型上的有效性。©️【深蓝AI】编译
1. 摘要
深度学习方法主要关注如何设计最优的目标函数和网络架构,以便模型预测结果尽可能接近真实值。然而,现有方法忽视了输入数据在经过多层特征提取和空间变换过程中会丢失大量信息的事实。本文探讨了这个关键问题,即信息瓶颈,并提出了可编程梯度信息(PGI)的概念来应对深度网络为实现多种目标所需的多样变化。
PGI可以为目标任务提供完整的输入信息以计算目标函数,从而获得可靠梯度信息更新网络权重。此外,论文还设计了一种新的轻量级网络架构——广义高效层聚合网络(GELAN),基于梯度路径规划。实验结果显示,在MS COCO数据集上的对象检测任务中,仅使用常规卷积操作的GELAN相较于基于深度卷积的最先进的方法实现了更好的参数利用率。同时,基于PGI的训练从零开始的模型性能优于使用大规模预训练数据集的最新模型。
通过可视化不同网络架构初始权重输出特征映射的结果,可以看出GELAN能够保留最多用于计算损失函数所需的信息,提供了最可靠的梯度信息。为了缓解信息瓶颈现象,文中探讨了几种现有方法,如可逆架构、掩码建模和深度监督等,并分析了它们各自的局限性。而提出的PGI机制克服了这些方法的问题,不仅适用于轻量级模型,也能应用于大型模型,确保在训练过程中获取完整信息并提升训练效果。
图1|在MS COCO数据集上进行实时对象检测器的比较中,基于GELAN和PGI设计的对象检测方法,在物体检测性能方面超越了以往所有从零开始训练的方法。©️【深蓝AI】编译
2. 主要贡献
本论文的主要贡献可以概括如下:
1)我们从可逆函数的角度,对现有的深度神经网络架构进行了理论分析,并通过这一过程成功解释了过去难以解释的许多现象。在此基础上,我们设计出了可编程梯度信息(PGI)和辅助可逆分支结构,并取得了优秀的实验结果。
2)所设计的PGI机制解决了深度监督只能应用于极深神经网络架构的问题,从而使得新型轻量级架构能够真正适用于日常生活中的各种场景。
3)我们所设计的广义高效层聚合网络(GELAN),仅采用常规卷积就实现了比基于最先进的深度卷积技术设计更高的参数利用率,并且表现出轻量、快速和精确等显著优点。
4)将提出的PGI与GELAN相结合,在MS COCO数据集上训练出的对象检测模型YOLOv9在所有方面都大幅超越了现有的实时对象检测器的顶级性能水平。
3. 问题描述
通常,人们将深度神经网络收敛困难的问题归因于梯度消失或梯度饱和等现象,在传统的深度神经网络中确实存在这些问题。然而,现代深度神经网络已经通过设计各种正则化技术和激活函数从根本上解决了上述问题。尽管如此,深度神经网络仍然存在收敛速度慢或者收敛结果不佳的问题。
这篇论文将进一步探究上述问题的本质。
通过对信息瓶颈的深度分析,我们推断出该问题的根本原因在于,初始梯度自一个非常深的网络传输后不久即丢失了大量的实现目标所需的信息。为了验证这一推论,我们使用初始权重前向传播了不同架构的深度网络,并在图2中对其进行了可视化和说明。显然,PlainNet在网络深层已经丢失了许多用于物体检测的重要信息。至于ResNet、CSPNet和GELAN能够保留重要信息的比例,确实与训练后可获得的准确性呈正相关关系。在此基础上,我们进一步设计了基于可逆网络的方法来解决上述问题。本节我们将详细阐述对信息瓶颈原理及可逆函数的分析。
图2|展示了不同网络架构下随机初始权重输出特征映射的可视化结果,包括:(a)输入图像、(b)PlainNet、©ResNet、(d)CSPNet 以及 (e)我们提出的GELAN。从该图中可以观察到,在各种不同的网络结构中,用于计算损失函数的信息在不同程度上有所丢失。©️【深蓝AI】编译
3.1 信息瓶颈理论
信息瓶颈理论指出,在数据经过变换过程中,原始数据X的信息会不可避免地丢失。
I ( X , X ) ≥ I ( X , f θ ( X ) ) ≥ I ( X , g Φ f θ ( X ) ) I(X,X)≥I(X,f_\theta(X))≥I(X, g_ \Phi f_\theta(X)) I(X,X)≥I(X,fθ(X))≥I(X,gΦfθ(X))
其中,符号 I I I表示互信息, f f f和 g g g分别代表变换函数,并且 θ θ θ和 φ φ φ分别是对应函数 f f f和 g g g的参数.
当数据 X X X通过一个或多个函数(例如在深度神经网络中连续两层之间的转换函数 f θ ( ⋅ ) fθ(·) fθ(⋅)和 g ϕ ( ⋅ ) gϕ(·) gϕ(⋅)时,根据信息论中的互信息公式,可预测到随着网络层数加深,原始输入数据的信息将更有可能被损失掉。由于深度神经网络参数基于网络输出及其对应的目标标签计算损失函数后产生新的梯度进行更新,若网络深层的输出无法完整保留与预测目标相关的全部信息,则可能导致训练过程中使用了不完全的信息,并由此生成不可靠的梯度,影响模型的收敛性能。
3.2 可逆函数
可逆函数是一种具有逆向变换的特殊函数,它允许数据经过转换后仍能完全保留原有的信息量,不发生任何损失。
X = v ζ ( r ψ ( X ) ) X=v_ζ(r_ψ(X)) X=vζ(rψ(X))
其中 r r r和 v v v分别为可逆函数及其逆函数,而 ψ ψ ψ和 ζ ζ ζ是它们各自的参数。 X X X通过可逆函数进行转换而不丢失信息:
I ( X , X ) ≥ I ( X , r ψ ( X ) ) ≥ I ( X , v ζ ( r ψ ( X ) ) ) I(X,X)≥I(X,r_ψ(X))≥I(X, v_ ζ (r_ψ(X))) I(X,X)≥I(X,rψ(X))≥I(X,vζ(rψ(X)))
在深度学习领域,如果将网络层的转换函数设计为由可逆函数组成,那么在网络前向传播过程中,即使经过多层处理,原始输入的信息也能得到完整的保留,从而生成更可靠、有效的梯度用于模型更新。
4. 方法
4.1 可编程梯度信息
图3|展示了PGI及相关网络架构和方法。其中,(a) 路径聚合网络(PAN),(b) 可逆列(RevCol),© 传统的深度监督,以及(d) 我们提出的可编程梯度信息(PGI)。PGI主要由三个部分组成:(1) 主干分支:用于推理的架构;(2) 辅助可逆分支:生成可靠的梯度以供给主干分支进行反向传播;(3) 多级辅助信息:控制主干分支学习可规划的多级语义信息。©️【深蓝AI】编译
· 辅助可逆分支
辅助可逆分支的核心理念是利用可逆架构,通过反复提供输入数据并以显式方式保持输入数据的信息完整性,从而确保在网络前向传播过程中不会发生显著的信息损耗。然而,将主分支直接构建为完全可逆的形式会显著增加推理阶段的时间开销,例如额外连接的引入可能导致推理时间增长20%以上,且过深的路径限制也会影响模型对高阶语义信息的学习能力。
因此,在PGI框架中,辅助可逆分支不是作为整个网络在推理时使用的部分,而是作为一种扩展的深度监督机制,在训练阶段为主分支提供补充的、完整的信息流和更准确的梯度信息。当主分支在信息瓶颈的影响下可能丧失关键特征信息时,辅助可逆分支能够生成可靠的梯度用于更新网络权重,帮助主分支提取与目标任务相关的正确且重要的特征。
· 多级辅助信息
利用那些尚未大量丧失关键信息的浅层特征,通过预先建立从特征到目标的映射关系来确保重要信息能够有效地传递至网络的更深层次。这种设计可以减轻由传统深度监督策略引起的错误累积现象,并确保即使在网络的较浅层次也能正确地引导参数更新,使得网络在面对复杂任务时能更好地捕捉和保留与目标任务相关的输入数据信息。
4.2 广义高效层聚合网络(GELEN)
通过结合两种考虑了梯度路径规划的神经网络架构CSPNet和ELAN,本文设计了一种兼顾轻量化、推理速度和准确性的通用高效层聚合网络(GELAN)。其整体架构如图4所示。我们对原本仅使用卷积层堆叠能力的ELAN进行了泛化,将其扩展为一种能够使用任何计算块的新架构。
图4|展示了GELAN的架构:(a) CSPNet,(b) ELAN,以及© 所提出的GELAN。我们借鉴了CSPNet的设计,并将ELAN扩展为能够支持任何计算块的GELAN。©️【深蓝AI】编译
5. 实验
5.1 实验配置
我们使用MS COCO数据集验证所提出的方法。所有实验设置遵循YOLOv7 AF,使用的数据集为MS COCO 2017分割版。我们提到的所有模型均采用从头训练策略,总训练次数为500个周期。在设置学习率时,我们在前三个周期使用线性热启动(warm-up),后续周期则根据模型规模设置相应的衰减方式。而在最后15个周期,我们将马赛克数据增强关闭。
5.2 实现细节
我们分别基于YOLOv7和动态YOLOv7构建了YOLOv9的通用版和扩展版。在设计网络架构时,我们将ELAN替换为使用计划性RepConv作为计算块的CSPNet块构成的GELAN。同时,我们也简化了下采样模块,并优化了无锚框预测头部分。对于PGI的辅助损失部分,我们完全遵循了YOLOv7的辅助头设置。
5.3 与当前最优方法的对比
表1|与当前最优实时对象检测器的对比©️【深蓝AI】编译
图5|展示了与当前最优实时对象检测器的对比。参与比较的方法均使用ImageNet作为预训练权重,包括RT DETR、RTMDet以及PP-YOLOE等。采用从头训练方法的YOLOv9在性能上明显超越了其他方法。©️【深蓝AI】编译
5.4 消融研究
介绍了GELAN架构中计算块选择及其深度对性能的影响,同时展示了PGI如何优化信息流动并提升训练效果,进一步证实了结合PGI与GELAN设计的新一代YOLOv9在实时对象检测方面的优越性。
表2|针对不同计算块的消融研究©️【深蓝AI】编译
表3|关于ELAN和CSP深度的消融研究©️【深蓝AI】编译
表4|关于主干和颈部PGI的消融研究©️【深蓝AI】编译
表5|关于PGI的消融研究©️【深蓝AI】编译
表6|关于GELAN和PGI的消融研究©️【深蓝AI】编译
6. 可视化
本节将深入探讨信息瓶颈问题并进行可视化展示。此外,我们还将通过可视化展示所提出的PGI如何利用可靠的梯度找到数据与目标之间的正确关联。
图6|展示了PlainNet、ResNet、CSPNet和GELAN在不同深度下,使用随机初始权重时输出的特征映射(可视化结果)。经过100层后,ResNet开始产生足以混淆物体信息的前向传播输出。而我们提出的GELAN在第150层之前仍能保持相当完整的特征信息,并且直到第200层仍然具有足够的判别性。这意味着即使在网络加深的情况下,GELAN也能有效地保留和传递重要特征,从而缓解了信息瓶颈问题并提高了模型的学习能力。©️【深蓝AI】编译
图7|展示了在经过一次偏置热身训练后,GELAN和YOLOv9(GELAN+PGI)的PAN特征映射(可视化结果)。原本GELAN存在一定的发散性,但在添加了PGI的可逆分支之后,其更能聚焦于目标对象。从图中可以看出,结合了PGI的GELAN在识别和定位目标物体方面表现出了显著提升,表明PGI有效地优化了网络对目标特征的学习和表达能力。©️【深蓝AI】编译
7. 结论
在本文中,我们提出采用PGI来解决信息瓶颈问题以及深度监督机制不适用于轻量级神经网络的问题。我们设计了高效且轻量的神经网络——GELAN。在目标检测方面,无论是在不同的计算块设置还是深度设置上,GELAN均表现出强大而稳定的性能,并且能够广泛扩展为适应各种推理设备的模型。针对上述两个问题,PGI的引入使得轻量级模型和深度模型都能在精度上实现显著提升。通过结合PGI与GELAN所设计出的YOLOv9展现出强大的竞争力。其出色的设计使深度模型相较于YOLOv8减少了49%的参数数量和43%的计算量,但在MS COCO数据集上的平均精度(AP)仍提高了0.6%。
编译|蒙牛二锅头
审核|Los
移步公众号【深蓝AI】,第一时间获取自动驾驶、人工智能与机器人行业最新最前沿论文和科技动态。
更多推荐
所有评论(0)