YoloV9 论文翻译:Learning What You Want to LearnUsing Programmable Gradient Information

摘要

当前的深度学习方法侧重于如何设计最合适的目标函数,以使模型的预测结果尽可能接近真实值。同时,必须设计一个合适的架构,以便为预测获取足够的信息。现有方法忽略了一个事实,即当输入数据经历逐层特征提取和空间变换时,会丢失大量信息。本文将深入探讨数据通过深度网络传输时的重要问题,即信息瓶颈和可逆函数。我们提出了可编程梯度信息(PGI)的概念,以应对深度网络为实现多个目标所需的各种变化。PGI可以为目标任务提供完整的输入信息来计算目标函数,从而获得可靠的梯度信息来更新网络权重。此外,我们还设计了一种基于梯度路径规划的新型轻量级网络架构——广义高效层聚合网络(GELAN)。GELAN的架构证实,PGI在轻量级模型上取得了卓越成果。我们在基于MS COCO数据集的目标检测上验证了所提出的GELAN和PGI。结果表明,GELAN仅使用常规卷积算子,就实现了比基于深度卷积开发的最新方法更好的参数利用率。PGI可用于从轻量级到大型的各种模型。它可以用来获取完整信息,从而使从头开始训练的模型能够取得比使用大型数据集预训练的最新模型更好的结果,比较结果如图1所示。源代码位于:https://github.com/WongKinYiu/yolov9。 

1.引言

基于深度学习的模型在各种领域,如计算机视觉、语言处理和语音识别中,都展现出了远胜于以往人工智能系统的性能。近年来,深度学习领域的研究者主要集中在如何开发更强大的系统架构和学习方法上,例如卷积神经网络(CNNs)[21–23, 42, 55, 71, 72]、Transformer[8, 9, 40, 41, 60, 69, 70]、Perceivers[26, 26, 32, 52, 56, 81, 81]和Mambas[17, 38, 80]。此外,一些研究者还试图开发更通用的目标函数,如损失函数[5, 45, 46, 50, 77, 78]、标签分配[10, 12, 33, 67, 79]和辅助监督[18, 20, 24, 28, 29, 51, 54, 68, 76]。上述研究都试图精确找到输入与目标任务之间的映射关系。然而,大多数过去的方法都忽略了输入数据在前馈过程中可能存在不可忽视的信息损失。这种信息损失会导致梯度流的偏差,进而用于更新模型。上述问题会导致深度网络在目标和输入之间建立错误的关联,导致训练出的模型产生错误的预测。

 

在深度网络中,输入数据在前馈过程中丢失信息的现象通常被称为信息瓶颈[59],其示意图如图2所示。目前,缓解这一现象的主要方法有以下几种:(1)使用可逆架构[3, 16, 19]:该方法主要通过重复输入数据并以显式方式保持输入数据的信息;(2)使用掩码建模[1, 6, 9, 27, 71, 73]:主要通过重建损失并采用隐式方式来最大化提取的特征并保留输入信息;(3)引入深度监督概念[28, 51, 54, 68]:使用尚未丢失过多重要信息的浅层特征来预先建立从特征到目标的映射,以确保重要信息能够传递到更深层。然而,上述方法在训练和推理过程中存在不同的缺点。例如,可逆架构需要额外的层来组合重复输入的数据,这将显著增加推理成本。此外,由于输入层到输出层不能有太深的路径,这一限制使得在训练过程中难以对高阶语义信息进行建模。对于掩码建模,其重建损失有时与目标损失相冲突。此外,大多数掩码机制也会产生与数据的错误关联。对于深度监督机制,它会产生误差累积,如果浅层监督在训练过程中丢失了信息,后续层将无法检索到所需的信息。上述现象在困难任务和小模型上会更加明显。

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

在本文中,我们还基于ELAN[65]设计了广义ELAN(GELAN),GELAN的设计同时考虑了参数数量、计算复杂度、准确性和推理速度。这种设计允许用户为不同的推理设备任意选择合适的计算块。我们将提出的PGI和GELAN相结合,然后设计了一代新的YOLO系列目标检测系统,我们称之为YOLOv9。我们使用MS COCO数据集进行了实验,实验结果表明,我们提出的YOLOv9在所有比较中均达到了顶尖性能。

本文的贡献总结如下:

  1. 我们从可逆函数的角度对现有深度神经网络架构进行了理论分析,并通过这一过程成功地解释了以往难以解释的现象。我们还基于这一分析设计了PGI和辅助可逆分支,并取得了优异的结果。

  2. 我们设计的PGI解决了深度监督只能用于极深的神经网络架构的问题,从而使新的轻量级架构能够真正应用于日常生活。

  3. 我们设计的GELAN仅使用常规卷

### YOLOv9最新研究概述 YOLOv9代表了YOLO系列目标检测系统的最新进展,在此版本中引入了一系列创新性的改进措施。这些改进不仅增强了模型的准确性,还提高了其效率和灵活性。 #### 新一代YOLO的目标检测系统设计 在YOLOv9的设计过程中,采用了Generalized ELAN(GELAN)结构来替代传统的ELAN结构[^1]。这一改动旨在优化参数数量、计算复杂度、准确性和推理速度之间的平衡。GELAN允许用户根据不同硬件平台的需求灵活选择适合的计算组件,从而实现更高效的部署方案。 此外,为了进一步提升训练效果并解决传统残差连接可能导致的信息丢失问题,提出了Programmable Gradient Information (PGI)[^4]机制。该技术通过引入可逆函数以及多级辅助信息分支的方式,有效促进了深层网络中的梯度流动,进而改善了整体收敛性能与泛化能力。 #### 实验验证与表现评估 通过对MS COCO数据集上的大量实验证明,融合了上述技术创新后的YOLOv9确实在多个维度上超越了现有同类算法的表现水平。具体而言: - **更高的精度**:相比其他竞争者,YOLOv9能够在保持快速处理的同时提供更加精确的结果; - **更快的速度**:得益于精心调整过的架构特性,即使是在资源受限环境下也能维持较高的帧率输出; - **更好的适应性**:凭借对多种基础框架的良好兼容性,使得跨平台移植变得更加容易; 综上所述,YOLOv9代表着实时物体识别领域内的一个重要里程碑,它成功地解决了之前版本中存在的诸多局限,并为未来的研究方向提供了宝贵的经验借鉴。 ```python # 示例代码展示如何加载预训练好的YOLOv9模型进行推断 import torch from yolov9 import YOLOv9 model = YOLOv9(pretrained=True) image_path = 'example.jpg' detections = model.detect(image=image_path) for detection in detections: print(f'Class: {detection["class"]}, Confidence: {detection["confidence"]:.2f}') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值