一、本文介绍
本文记录的是基于VanillaNet的YOLO26轻量化改进方法研究。YOLO26主要用于轻量化应用部署,相关轻量化改进与其整体架构非常适配。
VanillaNet的极简主义在于无 shortcut 连接,并且在网络的每个阶段仅使用一层卷积,无额外复杂模块,仅通过自身简洁的架构设计和训练策略,实现有效地训练和优化。
本文在替换骨干网络中配置了原论文中的vanillanet_5、vanillanet_6、vanillanet_7、vanillanet_8、vanillanet_9、vanillanet_10、vanillanet_11、vanillanet_12、vanillanet_13、vanillanet_13_x1_5、和vanillanet_13_x1_5_ada_pool11种模型,以满足不同的需求。
| YOLO26 | 2.41 | 5.4 | 130.3 |
| Improved | 2.03(↓0.38) | 5.3(↓0.1) | 146.3(↑16) |
文章目录
- 一、本文介绍
- 二、VanillaNet结构详解
-
- 2.1 设计出发点
- 2.2 原理
-
- 2.2.1 深度训练策略
- 2.2.2 系列激活函数
- 2.3 结构
-
- 2.3.1 整体结构
- 2.3.2 stem块
- 2.3.3 主体阶段
- 2.3.4 全连接层
- 2.4 优势
- 三、VanillaNet模型的实现代码
- 四、修改步骤
-
- 4.1 修改一
- 4.2 修改二
- 4.3 修改三
- 五、yaml模型文件
-
- 5.1 模型改进⭐
- 六、成功运行结果
二、VanillaNet结构详解
VanillaNet: the Power of Minimalism in Deep Learning
VanillaNet是一种强调设计的优雅和简洁的神经网络架构,以下是其相关介绍:
2.1 设计出发点
- 应对优化挑战和复杂性:随着神经网络的发展,如Transformer模型在计算机视觉和自然语言处理领域取得了显著成功,但也面临着优化困难和固有复杂性的挑战。因此需要一种向简单性转变的范式,VanillaNet应运而生。
- 关注资源受限环境:复杂的神经网络架构在部署时面临诸多问题,如ResNets中的shortcut操作消耗大量片外内存带宽,一些复杂操作需要复杂的工程实现。而在资源受限环境中,需要一种简洁且高效的网络架构,VanillaNet旨在解决这些问题。
2.2 原理
2.2.1 深度训练策略
- 训练过程:在训练开始时,使用两个带有激活函数的卷积层代替单个卷积层进行训练。随着训练epoch的增加,激活函数逐渐变为恒等映射,训练结束时,两个卷积层可以轻松合





