【YOLOv9】完胜V8的SOTA模型Yolov9(论文阅读笔记)

官方论文地址: 论文地址点击即可跳转

官方代码地址: GitCode - 开发者的代码家园

                          官方代码地址点击即可跳转

1 总述

当输入数据经过各层的特征提取和变换的时候,都会丢失一定的信息。针对这一问题:

  1. 论文中提出的可编程梯度信息(PGI)能够为目标检测任务提供完整的信息,进而计算目标函数,得到可靠的梯度信息来更新网络的权重参数。本文引入了DynamicDet架构作为设计可逆分支的基础。此外,可逆信息进一步引入到所提出的PGI中。所提出的新架构在推理过程中不需要额外的连接,因此可以完全保留速度、参数数量和准确性的优势。
  2. 论文中提出了基于梯度路径规划的新型轻量级网络结构-GELAN(Generalized Efficient Layer Aggregation Network, 广义高效层聚合网络)。GELAN优化了网络架构的参数利用率和计算效率,展现了轻巧、快速和准确的巨大优势。
  3. 论文使用GELAN改进架构,并使用所提出的PGI改进训练过程,然后得到了新一代YOLO系列对象检测系统-YOLOv9。使用MS COCO数据集进行实验,实验结果验证了提出的YOLOv9的性能相当优秀。

 接下来,我们先看看YOLOv9的表现,如下图:

从上图可以看出:基于GELAN和PGI的对象检测方法在对象检测性能方面超越了之前的所有从零开始训练的方法。在准确性方面,新的方法优于预训练的RT - DETR ,并且在参数利用率方面,它也优于基于深度卷积设计的YOLO MS。

2 信息丢失问题

在深度网络中,输入数据在前向传播过程中丢失信息的现象通常被称为信息瓶颈。目前,可以缓解这种现象的主要方法如下:

  1. 使用可逆架构:这种方法主要通过重复使用输入数据并以显式方式保持输入数据的信息。这种方法需要额外的层来组合重复输入的数据,这将显著增加推理成本。同时还存在输入数据层到输出层的路径不能太深这一限制
  2. 使用掩码建模:主要通过重构损失使用隐式方式最大化提取的特征并保留输入信息。掩码建模重构损失有时与目标损失冲突。除此之外,大多数掩码机制也会产生错误的数据关联的情况
  3. 引入深度监督概念:它使用尚未丢失太多重要信息的浅层特征,预先建立从特征到目标的映射,以确保重要信息可以传输到更深的层。但是,这种方法会产生错误累积,如果浅层监督在训练过程中丢失信息,后续层将无法检索所需信息

综上所述,上述方法在训练过程和推理过程中都有不同的缺点或问题,在困难任务和小型模型上会更加显著。

从上图可以看出:不同网络架构的随机初始权重输出特征图的可视化结果。

(a) 输入图像,(b) PlainNet,(c) ResNet,(d) CSPNet,和 (e) 本文的GELAN。从这些可视化结果中,提供给目标函数用以计算损失的信息在不同程度上有所丢失,而提议的GELAN架构能够保留最完整的信息,并为计算目标函数提供最可靠的梯度信息。这对于目标检测等任务至关重要,因为信息的完整性直接关系到网络最后预测的准确性。

3 PGI

可编程梯度信息(PGI)就是为了解决输入数据在前馈过程中丢失信息的问题而设计的。PGI机制使得轻量级模型能从辅助监督机制中受益可以应用于各种大小的深度神经网络,更为通用。

① 信息瓶颈

数据X在经过变换时可能会导致信息损失,公式如下:

解决上述问题的方法是增加模型的大小。这一方法允许即使在数据前馈过程中丢失了信息,仍有机会保留足够的信息以执行到目标的映射。上述现象解释了为什么在大多数现代模型中宽度比深度更重要。然而,上述结论不能从根本上解决非常深的神经网络中不可靠梯度的问题。

可逆函数

当函数r具有逆变换函数v的时候,称这个函数r为可逆函数,如下述公式(2)所示。

数据X通过可逆函数转换而不丢失信息,如下述公式(3)所示。当网络的转换函数由可逆函数组成时,可以获得更可靠的梯度来更新模型,如下述公式(4)所示。尝试找到r的逆变换v,以便转换后的特征可以使用稀疏特征保留足够的信息,公式(5)如下所示。信息瓶颈的公式如公式(6)所示。

轻量级模型本身处于欠参数化状态,因此在前馈阶段很容易丢失大量重要信息。因此,对轻量级模型的目标是如何从I(X;X)中准确筛选出I(Y;X)。至于完全保留X的信息,那是难以实现的。因此,本文提出一种新的深度神经网络训练方法,不仅能生成可靠的梯度来更新模型,而且也适用于浅层和轻量级神经网络。

③ PGI

PGI的目的是通过辅助可逆分支(上图中虚线框中的部分)来解决信息瓶颈问题,以便在不增加推理成本的情况下为深度网络提供更可靠的梯度。通过这种设计使得轻量级和浅层的神经网络也可以实现有效的信息保留和准确的梯度更新。

  1. 主分支:只用于推理的架构,因此不需要任何额外的推理成本。
  2. 辅助可逆分支:生成可靠的梯度,以供给主分支进行反向传播,以帮助提取正确和重要的信息,并使主分支能够获取更有效的目标任务特征。旨在处理由神经网络加深造成的信息瓶颈问题。辅助可逆分支可以在推理阶段移除
  3. 多级辅助信息:控制主分支学习可规划的多级语义信息。旨在处理由深度监督造成的误差累积问题,特别是对于具有多个预测分支的架构和轻量型模型。

4 GELAN

GELAN允许支持多种类型的计算块,这使得它可以更好地适应各种不同的计算需求和硬件约束。

5 实验

选择CSP-ELAN作为YOLOv9中GELAN的组成单元。

6 可视化

GELAN有更稳定的结果和更清晰的边界信息。

7 结论

PGI的引入使得轻量级模型和深度模型都能实现精度的显著提升。通过结合PGI和GELAN设计的YOLOv9展现了强大的竞争力。其出色的设计使得深度模型与YOLOv8相比,参数数量减少了49%,计算量减少了43%,但在MS COCO数据集上仍然实现了0.6%的AP提升。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/815128.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

免费的 ChatGPT 网站(六个)

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 一、insCode二、讯飞星火三、豆包四、文心一言五、通义千问六、360智脑 现在智能…

【漏洞复现】WordPress LayerSlider插件SQL注入漏洞复现

声明:亲爱的读者,我们诚挚地提醒您,Aniya网络安全的技术文章仅供个人研究学习参考。任何因传播或利用本实验室提供的信息而造成的直接或间接后果及损失,均由使用者自行承担责任。Aniya网络安全及作者对此概不负责。如有侵权&#…

C数据结构:双向链表(带头循环)

前言 链表分多种,分别为 不带头不循环单向链表、不带头循环单向链表、带头循环单向链表、带头不循环单向链表 不带头不循环双向链表、不带头循环双向链表、带头循环双向链表、带头不循环双向链表 一共八种 在前一篇博客中完成的单链表即为不带头不循环单向链表…

杰发科技AC7840——CAN通信简介(5)_可变波特率设置

0. 简介 设置可变波特率时候,遇到2个坑,在此记录下来 使用该函数即可 can_time_segment_t bitrate2 s_canBitrate[CAN_BITRATE_250K]; CAN_DRV_SetBitrate(instance, &bitrate2); 1. 波特率指针注意不要空 查看设置波特率的接口,发现…

吉他弹唱谱怎么制作 Guitar Pro 怎么写弹简谱 Guitar Pro8.02简谱

学习如何制作吉他弹唱谱是提升音乐创作和表现能力的重要一环。借助专业的软件工具如Guitar Pro,可以轻松地将音乐创意转化为可视化的乐谱,使演奏和分享变得更加便捷和高效。下面我们来看看吉他弹唱谱怎么制作,Guitar Pro 怎么写弹简谱的相关内…

Llama 3下月正式发布,继续开源!

4月10日,Techcrunch消息,Meta在本周伦敦举办的一场活动中确定,下个月将正式发布Llama 3并且继续开源。 Meta全球事务总裁Nick Clegg表示,我们希望在下个月,甚至更短的时间内,正式推出新一代基础模型Llama …

机器学习和深度学习--李宏毅(笔记与个人理解)Day9

Day9 Logistic Regression(内涵,熵和交叉熵的详解) 中间打了一天的gta5,图书馆闭馆正好npy 不舒服那天天气不好,哈哈哈哈哈总之各种理由吧,导致昨天没弄起来,今天补更! 这里重点注意…

面试官:实战中用过CountDownLatch吗?详细说一说,我:啊这...

写在开头 在很多的面经中都看到过提问 CountDownLatch 的问题,正好我们最近也在梳理学习AQS(抽象队列同步器),而CountDownLatch又是其中典型的代表,我们今天就继续来学一下这个同步工具类! CountDownLatc…

机器学习第34周周报VBAED

文章目录 week34 VBAED摘要Abstract一、文献阅读1. 题目2. abstract3. 网络架构3.1 序列问题阐述3.2 变分模态分解3.3 具有 BiLSTM 和双向输入注意力的编码器3.4 具有 BiLSTM 和双向时间注意力的解码器 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程4.3.1 数据集数据预处…

Redis为什么会变慢

链接: https://pan.baidu.com/s/1PNzhDMqkFBdKUu9_FxA5zw 提取码: euvk

以太网数据量大小字符串生成方法(可变单位)

0 前言 当我们想显示以太网数据量大小时,往往有个头疼的单位需要处理,单位取小了不一目了然,单位取大了精度太低。本例设计一个函数,将根据以太网数据量大小自动生成单位可变的字符串(KB、MB、GB、TB、PB)…

雷军 30 年前的病毒论文,结语最后一句是亮点

在 2023 雷军年度「成长」主题演讲中,他分享了自己在武汉大学设立的三个目标: 两年修完大学所有学分成为优秀的程序员在学报上发论文 对于彼时的在校生来说,在一级学报上发表论文是十分困难的事情,但雷军并没有因困难而畏惧、放…

【植物大战僵尸融合机器学习】+源码

上期回顾: 今天给大家推荐一个Gtihub开源项目:PythonPlantsVsZombies,翻译成中就是植物大战僵尸。 《植物大战僵尸》是一款极富策略性的小游戏。可怕的僵尸即将入侵,每种僵尸都有不同的特点,例如铁桶僵尸拥有极强的抗…

VRRP虚拟路由实验(华为)

思科设备参考:VRRP虚拟路由实验(思科) 一,技术简介 VRRP(Virtual Router Redundancy Protocol)是一种网络协议,用于实现路由器冗余,提高网络可靠性和容错能力。VRRP允许多台路由器…

APP开发_开发一个入门的 H5 APP

1 开发环境的搭建与准备 1.1 安装 Android Studio 下载:首先,从谷歌的安卓开发者网站(https://developer.android.google.cn/studio/releases?hlzh-cn)下载Android Studio的安装包。在下载页面中,可以根据自己的操作…

llamafactory:unified efficient fine-tuning of 100+ lanuage models

1.introduction llamafactory由三个主要模块组成,Model Loader,Data Worker,Trainer。 2.Efficient fine-tuning techniques 2.1 Efficient Optimization 冻结微调:冻结大部分参数,同时只在一小部分解码器层中微调剩…

【MATLAB源码-第36期】matlab基于BD,SVD,ZF,MMSE,MF,SLNR预编码的MIMO系统误码率分析。

操作环境: MATLAB 2022a 1、算法描述 1. MIMO (多输入多输出):这是一个无线通信系统中使用的技术,其中有多个发送和接收天线。通过同时发送和接收多个数据流,MIMO可以增加数据速率和系统容量,同时提高信号的可靠性。…

建造者模式:构造复杂对象的艺术

在面向对象的设计中,建造者模式是一种重要的创建型设计模式,专门用来构建复杂的对象。它主要目的是将对象的构造代码与其表示代码分离,使同样的构建过程可以创建不同的表示。本文将详细介绍建造者模式的定义、实现、应用场景以及优缺点&#…

数字乡村创新实践探索农业现代化与乡村振兴新路径:科技赋能农村全面振兴与农民幸福新篇章

随着信息技术的飞速发展,数字乡村成为推动农业现代化与乡村振兴的重要战略举措。科技赋能下的数字乡村创新实践,不仅提升了农业生产的智能化水平,也为乡村治理和农民生活带来了翻天覆地的变化。本文旨在探讨数字乡村创新实践在农业现代化与乡…

Mac环境 llamafile 部署大语言模型LLM

文章目录 Github官网本地部署 llamafile 是一种可在你自己的电脑上运行的可执行大型语言模型(LLM),它包含了给定的开放 LLM 的权重,以及运行该模型所需的一切。让人惊喜的是,你无需进行任何安装或配置。 Github https…