YOLOv9
- 1.YOLOv9:物体检测技术的飞跃发展
-
- [1.1 YOLOv9 简介](#1.1 YOLOv9 简介)
- [1.2YOLOv9 的核心创新](#1.2YOLOv9 的核心创新)
-
- 1.2.1信息瓶颈:神经网络在抽取相关性时的理论边界
- 1.2.2可逆函数:保留完整的信息流
- 1.2.3对轻型模型的影响:解决信息丢失
- [1.2.4可编程梯度信息 (PGI):解决信息瓶颈](#1.2.4可编程梯度信息 (PGI):解决信息瓶颈)
- 1.2.5通用高效层聚合网络(GELAN):实现更高的参数利用率和计算效率
- 1.2.6结论:合作与创新
- 2.代码
1.YOLOv9:物体检测技术的飞跃发展
YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information
YOLOv9 引入了可编程梯度信息 (PGI) 和广义高效层聚合网络 (GELAN) 等开创性技术,标志着实时目标检测领域的重大进步。该模型在效率、准确性和适应性方面都有显著提高,在 MS COCO 数据集上树立了新的标杆。
1.1 YOLOv9 简介
在追求最佳实时物体检测的过程中,YOLOv9 以其创新的方法克服了深度神经网络固有的信息丢失难题,脱颖而出。通过整合 PGI 和多功能 GELAN 架构,YOLOv9 不仅增强了模型的学习能力,还确保了在整个检测过程中保留关键信息,从而实现了卓越的准确性和性能。
1.2YOLOv9 的核心创新
1.2.1信息瓶颈:神经网络在抽取相关性时的理论边界
信息瓶颈理论认为,网络像把信息从一个瓶颈中挤压出去一般,去除掉那些含有无关细节的噪音输入数据,只保留与通用概念最相关的特征。
2015年,Tishby和他的学生Noga Zaslavsky假设深度学习是一个信息瓶颈过程,尽可能地压缩噪声数据,同时保留数据所代表的信息 。Tishby和Shwartz-Ziv对深度神经网络的新实验揭示了瓶颈过程如何实际发生的。在一种情况下,研究人员使用小型神经网络,使用随机梯度下降和BP,经过训练后,能够用1或0(也即"是狗"或"不是狗")标记输入数据,并给出其282个神经连接随机初始强度,然后跟踪了网络在接收3000个样本输入数据集后发生了什么。
实验中,Tishby和Shwartz-Ziv跟踪了每层网络保留了多少输入中的信息和输出标签中的信息。结果发现,信息经过逐层传递,最终收敛到信息瓶颈的理论边界:也就是Tishby、Pereira和Bialek在他们1999年论文中推导出的理论界限,代表系统在抽取相关信息时能够做到的最好的情况。在这个边界上,网络在没有牺牲准确预测标签能力的情况下,尽可能地压缩输入。
I(X, X) >= I(X, f_theta(X)) >= I(X, g_phi(f_theta(X)))
其中 I 表示互信息,而 f 和 g 表示带参数的变换函数 theta 和 phi分别为YOLOv9 通过实施可编程梯度信息(PGI)应对了这一挑战,PGI 有助于保留整个网络深度的重要数据,确保更可靠的梯度生成,从而提高模型的收敛性和性能。
1.2.2可逆函数:保留完整的信息流
可逆函数的概念是 YOLOv9 设计的另一个基石。如果一个函数可以在不丢失任何信息的情况下被反转,那么这个函数就被认为是可逆的:
X = v_zeta(r_psi(X))
与 psi 和 zeta 分别作为可逆函数及其反函数的参数。这一特性对深度学习架构至关重要,因为它能让网络保留完整的信息流,从而更准确地更新模型参数。YOLOv9 在其架构中加入了可逆函数,以降低信息退化的风险,尤其是在较深的层中,从而确保为物体检测任务保留关键数据。
似乎不好理解为什么要引入可逆函数?
简而言之,其目的是为了让网络保留完整的信息流
什么样的神经网络不丢失信息
- 变量离散
互信息公式
I ( X ; Y ) = E X , Y log P ( X , Y ) P ( X ) P ( Y ) = E X , Y log P ( X ∣ Y ) P ( X ) I(X;Y)=E_{X,Y}\log\frac{P(X,Y)}{P(X)P(Y)}=E_{X,Y}\log\frac{P(X|Y)}{P(X)} I(X;Y)=EX,YlogP(X)P(Y)P(X,Y)=EX,YlogP(X)P(X∣Y)
如果神经网络是可逆的, 因为一个X只对应一个Y,那么 P ( X ∣ Y ) = 1 P(X|Y)=1 P(X∣Y)=1。
如果神经网络不可逆,因为多个X会对应同一个Y,就会有 P ( X ∣ Y ) < 1 P(X|Y)<1 P(X∣Y)<1。
也就是说, 如果神经网络是可逆的, 那么X和Y的互信息是最大的. - 变量连续
根据Physical Review E的一篇文章"Estimating mutual information"的一个结论, 如果我们对于变量的变换是平滑(smooth)的, 并且是可逆(invertible)的, 那么互信息可以保持不变性。也就是说:
I ( X ; Y ) = I ( f ( X ) ; g ( Y ) ) I(X;Y)=I(f(X);g(Y)) I(X;Y)=I(f(X);g(Y))
在这里 f f f和 g g g都是连续可逆函数。那么, 如果函数 f ( X ) = X f(X)=X f(X)=X , 该函数可逆, 函数 g ( X ) g(X) g(X)则为我们的神经网络, 也是可逆的, 我们有:
I ( X ; X ) = I ( f ( X ) ; g ( X ) ) = I ( X ; Y ) I(X;X)=I(f(X);g(X))=I(X;Y) I(X;X)=I(f(X);g(X))=I(X;Y)
结果说明:输出 Y Y Y有输入 X X X所有的信息。
这篇文章在这里。
论文
1.2.3对轻型模型的影响:解决信息丢失
解决信息丢失问题对于轻量级模型尤为重要,因为轻量级模型通常参数化不足,在前馈过程中容易丢失大量信息。YOLOv9 的架构通过使用 PGI 和可逆函数,确保即使是精简的模型,也能保留并有效利用准确检测物体所需的基本信息。
1.2.4可编程梯度信息 (PGI):解决信息瓶颈
PGI 是 YOLOv9 为解决信息瓶颈问题而引入的一个新概念,可确保在深层网络中保留重要数据。这样就可以生成可靠的梯度,促进模型的准确更新,提高整体检测性能。
PGI主要包括三个组成部分,即==(1)主分支,(2)辅助可逆分支,(3)多级辅助信息。==从图 (d) 中我们可以看到,PGI 的推理过程仅使用 main 分支,因此不需要任何额外的推理成本。至于其他两个组件,它们用于解决或减缓深度学习方法中的几个重要问题。其中,辅助可逆分支旨在处理神经网络深化带来的问题。网络深化会造成信息瓶颈,使损失函数无法生成可靠的梯度 。对于多级辅助信息,旨在处理深度监管导致的误差累积问题,特别是针对多预测分支的架构和轻量级模型。
1.2.5通用高效层聚合网络(GELAN):实现更高的参数利用率和计算效率
GELAN 是一项战略性的架构进步,使 YOLOv9 能够实现更高的参数利用率和计算效率。它的设计允许灵活集成各种计算模块,使 YOLOv9 能够适应广泛的应用,而不会牺牲速度或精度。
我们将介绍拟议的新网络架构 -- GELAN。通过结合两种神经网络架构,CSPNet[64]和
ELAN[65],采用梯度路径规划设计,我们设计了考虑轻量级、推理速度和准确性的广义高效层聚合网络 (GELAN)。其整体架构如图 4
所示。我们推广了ELAN的能力[65],最初只使用卷积层的堆叠,到可以使用任何计算块的新架构。
1.2.6结论:合作与创新
YOLOv9 代表了实时目标检测领域的关键发展,在效率、准确性和适应性方面都有显著提高。通过 PGI 和 GELAN 等创新解决方案解决关键挑战,YOLOv9 为该领域的未来研究和应用开创了新的先例。随着人工智能领域的不断发展,YOLOv9 充分证明了合作与创新在推动技术进步方面的力量。
2.代码
在下一篇。