YOLOv8改进,YOLOv8替换主干网络为VanillaNet( CVPR 2023 华为提出的全新轻量化架构),大幅度涨点

news/2024/9/25 13:35:25/

在这里插入图片描述
改进前训练结果:
在这里插入图片描述
改进后训练结果:

在这里插入图片描述

摘要

基础模型的核心理念是“更多即不同”,这一理念在计算机视觉和自然语言处理领域取得了惊人的成功。然而,变压器模型的优化挑战和固有复杂性呼唤一种向简化转变的范式。在本研究中,引入了 VanillaNet,一种拥抱设计优雅的神经网络架构。通过避免高深度、快捷方式和复杂操作如自注意,VanillaNet 设计简洁而功能强大。每一层都精心设计为紧凑和简洁,训练后修剪非线性激活函数以恢复原始架构。VanillaNet 克服了固有的复杂性挑战,非常适合资源受限的环境。其易于理解和高度简化的架构为高效部署开辟了新可能。广泛的实验表明,VanillaNet 在性能上与著名的深度神经网络和视觉变压器相当,展示了极简主义在深度学习中的力量。VanillaNet 的这一愿景之旅具有重新定义基础模型格局和挑战现状的巨大潜力,为优雅和高效的模型设计开辟了新路径。

模型细节:

VanillaNet-6 模型的架构,仅由 6 个卷积层组成,非常容易在任何现代硬件上使用。输入特征的大小在每个阶段都被下采样,而通道数则加倍,这借鉴了经典神经网络如 AlexNet 和 VGGNet 的设计。结构如下图所示:
在这里插入图片描述
该结构通过避免深度、高度复杂的操作(如自注意力机制)和快捷连接,实现了设计上的简洁优雅。以下是 VanillaNet 的不同版本的架构细节:
在这里插入图片描述

  • stem: 初始卷积层,使用 4×4 的卷积核,输出通道数为 512,步幅为 4。
  • stage1: 第一阶段,特征图大小为 56×56,包括一个 1×1 的卷积层,输出通道数为 1024,之后接一个 2×2 的最大池化层。
  • stage2: 第二阶段,特征图大小为 28×28,包括一个 1×1 的卷积层,输出通道数为 2048,之后接一个 2×2 的最大池化层。
  • stage3: 第三阶段,特征图大小为 14×14,包括一个或多个 1×1 的卷积层,输出通道数为 4096,之后接一个 2×2 的最大池化层。层数根据不同版本的 VanillaNet 变化(如 VanillaNet-7 有 1 层,VanillaNet-8 有 2 层,以此类推)。
  • stage4: 第四阶段,特征图大小为 7×7,包括一个 1×1 的卷积层,输出通道数为 4096。
    classifier: 分类器部分,首先是一个 7×7 的平均池化层,然后是一个 1×1 的卷积层,输出通道数为 1000(对应 ImageNet 的 1000 个分类)。
  • 上表中列出了不同版本的 VanillaNet 的详细架构。对于

http://www.ppmy.cn/news/1530304.html

相关文章

从Yargs源码学习中间件的设计

yargs中间件介绍 yargs 是一个用于解析命令行参数的流行库,它能帮助开发者轻松地定义 CLI(命令行接口),并提供参数处理、命令组织、help文本自动生成等功能。今天我们来学习一下它对中间件的支持。 中间件的API详细信息&#xff0…

前端分段式渲染较长文章

实现思路: 1. 后端返回整篇文章。 2. JavaScript 分段处理:将文章按一定的字符或段落长度分割,然后逐步将这些段落追加到页面上。 3. 定时器或递归调用:使用 setInterval 或 setTimeout 来控制段落的逐步渲染。 代码实现示例 …

Python发送邮件附件全攻略:从设置到发送!

Python发送邮件附件的详细步骤?如何利用Python发信? Python作为一种强大的编程语言,提供了丰富的库来帮助我们自动化这一过程。AokSend将详细介绍如何使用Python发送邮件附件,从基础设置到实际发送,带你一步步掌握这一…

飞驰云联FTP替代方案:安全高效文件传输的新选择

FTP协议广泛应用各行业的文件传输场景中,由于FTP应用获取门槛低、使用普遍,因此大部分企业都习惯使用FTP进行文件传输。然而面临激增的数据量和网络安全威胁的不断演变,FTP在传输安全性与传输性能上有所欠缺,无法满足企业现在的高…

如何有效规避亚马逊测评中的砍单封号风险,保障账号安全?

近期,众多朋友在亚马逊平台进行测评时遭遇了订单被取消(砍单)甚至账号被封禁的问题,即便使用相同的测评系统和操作方法,不同用户间的体验却大相径庭。这一现象往往源于测评环境的不完善,一旦账号被风控系统…

mysql表逆向实体类

mysql表逆向实体类 目标框架springboot,mybatisplus package com.wql.repackage;import java.io.FileWriter; import java.io.IOException; import java.sql.*; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List;public class EntityClas…

免费下载6组简历模板,让HR一眼相中你!

简历是求职者向招聘单位展示自我的重要工具,选择一份高质量的简历模板免费下载,能够提升面试机会并留下深刻印象。优秀的简历模板需具备清晰的信息结构、出色的视觉效果及合理的排版布局。简历的配色可以凸显求职者的个性,而有逻辑性的排版则…

【C++掌中宝】C++ 中的空指针救世主——nullptr

文章目录 1. 什么是 NULL?2. NULL 在 C 和 C 中的区别3. C11 引入 nullptr 的原因4. nullptr 与 NULL 的区别5. nullptr 的应用场景6. 模拟 nullptr 的实现7. 总结结语 1. 什么是 NULL? 在 C 和 C 编程中,NULL 常用于表示空指针,…