YOLOv6设计来源 | 具有硬件感知的神经网络设计

简介: YOLOv6设计来源 | 具有硬件感知的神经网络设计

本文提出了一种卷积神经网络的硬件高效架构,它具有类似repvgg的架构。

浮点值或参数是评估网络效率的传统度量,网络对硬件(包括计算能力和内存带宽)不敏感。因此,如何设计一个神经网络来有效地利用硬件的计算能力和存储带宽是一个关键问题。

本文提出了一种硬件感知神经网络的设计方法。基于该方法作者设计了高效Rep系列卷积网络,该网络对高计算硬件(例如GPU)友好,并应用于YOLOv6目标检测框架。

YOLOv6代码在:https://github.com/meituan/YOLOv6


1、简介


自VGG在图像分类任务中取得成功以来,卷积神经网络设计已经引起了学术界和工业界的广泛关注。目前,已有大量经典网络被提出,如Inception和Resnet。这些精心设计的架构使得图像分类的准确性越来越高。

除了手动设计,最近的神经架构搜索还自动设计了几个代表性的网络,如Nasnet和AmoebaNet。尽管复杂的网络为图像分类、目标检测和分割等视觉任务带来了成功,但这些网络在部署的硬件上可能无法获得合适的精度和速度平衡。

针对硬件效率的深度学习网络设计和部署已经得到了一致的研究。传统的推理效率评估指标是浮点运算(FLOP)和参数计数。然而,这些度量不能表示与硬件的关系,例如内存访问成本和I/O吞吐量。

image.png

图3显示了计算能力与内存资源之间的关系。因此,提出了一个重要的问题:如何设计一个具有强感知能力的友好网络,以实现更好的精度和速度平衡?

为了解决这个问题,作者探索了一些具有竞争力的新架构,并将其应用于YOLOv6目标检测框架。RepVGG是一种新型网络,具有3x3卷积核,通过GPU或CPU上的winograd算法进行了高度优化。单路径模型可以在GPU等设备上快速训练和推断。

image.png

图4显示了rep conv在训练状态和推理状态之间的转换。在训练状态下,通过额外的1x1 conv和identity,rep conv可以保证训练期间的准确性。在推理状态下,重参化结构可以同等地转换为推理状态。

在YOLOv6-1.0中,基于rep conv设计了名为Efficient rep主干和rep PAN neck架构,以有效利用GPU的计算资源。在YOLOv6-2.0中,为了平衡计算和内存资源,探索了一种名为Bep(Beer-mug)单元和BepC3(或名为CSPStackRep)块的新结构。

与rep-conv相比,作者发现在某些状态下,Bep单元是一个更有效的基本神经网络单元。尽管RepVGG提出rep风格的多分支训练可以达到与原始多分支训练(如resnet)类似的性能,但作者发现rep风格网络的精度-速度权衡在很大程度上降低。因此,设计了适用于YOLOv6-2.0的CSPBep主干和CSPRepPAN颈部,他们都具有Bep单元和BepC3块结构。

image.png

基于以上考虑,作者将混合策略应用于YOLOv6,即在小尺寸中选择单分支模型,在大尺寸中选择多分支模型。图1和图2描述了与其他目标检测器类似的精度-速度权衡。


2、相关工作


2.1、神经网络设计

VGG网络实现了ImageNet分类的最高精度,达到70%以上,已经提出了许多相关创新,例如GoogLeNet和Inception网络是在多分支架构中设计的。ResNet是一种具有代表性的双分支网络,在工业中得到了广泛应用。在repvgg提出之前,单路径网络在某些设备上显示出了高效率。

2.2、神经网络架构搜索

神经结构搜索(NAS)是一种新的技术,旨在与人工设计相比实现网络的自动设计。通过手动设计空间设计,NAS可以以巨大的资源成本自动生成大量网络。目前,为了节省计算资源,已经提出了低成本的神经网络搜索,例如One For All等。

2.3、具有硬件感知的神经网络设计

最近,已经提出了诸如MobileOne和TRT-VIT等多种新型网络。考虑到设备的性能,这些网络是手动设计的。除了关于精度或参数的度量外,推理速度被同时考虑,这被称为硬件感知神经网络设计。

本文的主要贡献:

  1. 提出了Bep unit、Repblock和BepC3嵌段的新结构。
  2. 提出了一种新型的EfficientRep、Rep-PAN、CspBep和CSPRepPAN网络。
  3. 提出了具有计算能力和内存带宽平衡的新型网络设计,并针对不同大小的模型采用了各种策略。

3、本文方法


3.1、纯Repvgg风格高效设计

image.png

Repvgg-style conv具有3x3 conv的结构,后跟ReLU,可以有效地利用硬件计算。在训练状态下,Repvgg-style的conv由3x3分支、1x1分支和identity组成(图4)。通过重参化,多分支结构在推理状态下转换为单分支3x3 conv。如图5和图6所示,设计了名为EfficientRep主干和Rep PAN颈部的Repvgg风格网络,该网络对GPU友好,并应用于YOLOv6检测框架(YOLOv6-v1)。

然而,与csp风格的YOLO系列相比,当YOLOv6-v1增长到中等尺寸时,推理速度减慢得太快,精度也没有竞争力。如表1所示,纯repvgg-style YOLOv6m无法实现类似的精度-速度权衡。因此,探索了用于大尺寸模型的新型结构,如多路径结构。

3.2、多路径高效设计

为了解决纯repvgg型网络无法获得预期的精度-速度权衡的问题,提出了一种新的Bep单元结构。Bep单元的细节如图7所示,多个rep conv通过额外的shortcut线性连接。使用Bep单元设计了一个新的主干和颈部,分别命名为CSPBep和CSPRepPAN。在YOLOv6-v2中应用了上述结构,并实现了更好的精度和速度权衡。

image.png

CSP-Style是一种广泛应用于YOLO系列框架的高效设计,如YOLOv5、PPYOLOE等。CSP-Style结构使用跨阶段部分网络,在减少计算量的同时实现了更丰富的梯度组合。将Bep单元与CSP-Style结构相结合,设计了一种名为BepC3块的新结构,以平衡精度和推理速度。BepC3的设计如图8所示,它由CSP-Style结构和Bep单元的Repblock组成。如表I所示,BepC3块的改进,准确度和速度均达到预期的平衡。

基于BepC3块,作者分别设计了CSPBep主干和CSPRepPAN颈部,从而得到YOLOv6-v2模型。对于YOLO系列中的CSP-Style网络,默认情况下,partial ratio为1/2。在YOLOv6-v2的设计中,为YOLOv6m应用了2/3的partial ratio,为YOLOv2l应用了1/2的partial ratio。

3.3、缩放策略

在YOLOv5之后都开始使用深度乘数和宽度乘数的比例策略来生成各种大小的模型。在YOLOv6-v1和YOLOv6-v2中,Backbone的深度设置均为[1,6,12,18,6]。此外,宽度设置为[64,128,256,512,1024]。Neck的深度设置均为[12,12,12,12],宽度设置为[256,128,128,256,256,512]。表II显示了YOLOv6中应用的特定深度乘数和宽度乘数。


4、实验



5、参考


[1].EfficientRep: An Efficient Repvgg-style ConvNets with Hardware-aware Neural Network Design.

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
6月前
|
SQL 机器学习/深度学习 分布式计算
Spark【基础知识 01】【简介】(部分图片来源于网络)
【2月更文挑战第12天】Spark【基础知识 01】【简介】(部分图片来源于网络)
69 2
|
6月前
|
机器学习/深度学习 算法 机器人
【论文速递】TMM2023 - FECANet:用特征增强的上下文感知网络增强小样本语义分割
【论文速递】TMM2023 - FECANet:用特征增强的上下文感知网络增强小样本语义分割
|
4月前
|
机器学习/深度学习 算法 网络架构
【YOLOv8改进 - Backbone主干】EfficientRep:一种旨在提高硬件效率的RepVGG风格卷积神经网络架构
【YOLOv8改进 - Backbone主干】EfficientRep:一种旨在提高硬件效率的RepVGG风格卷积神经网络架构
|
2月前
|
传感器 物联网 人机交互
物联网:物联网,作为新一代信息技术的重要组成部分,通过智能感知、识别技术与普适计算等通信感知技术,将各种信息传感设备与互联网结合起来而形成的一个巨大网络,实现了物物相连、人物相连,开启了万物互联的新时代。
在21世纪,物联网(IoT)作为新一代信息技术的核心,正以前所未有的速度重塑生活、工作和社会结构。本文首先介绍了物联网的概念及其在各领域的广泛应用,强调其技术融合性、广泛的应用范围以及数据驱动的特点。接着,详细阐述了物联网行业的现状和发展趋势,包括政策支持、关键技术突破和应用场景深化。此外,还探讨了物联网面临的挑战与机遇,并展望了其未来在技术创新和模式创新方面的潜力。物联网行业正以其独特魅力引领科技发展潮流,有望成为推动全球经济发展的新引擎。
|
2月前
|
网络协议 网络虚拟化
接收网络包的过程——从硬件网卡解析到IP
【9月更文挑战第18天】这段内容详细描述了网络包接收过程中机制。当网络包触发中断后,内核处理完这批网络包,会进入主动轮询模式,持续处理后续到来的包,直至处理间隙返回其他任务,从而减少中断次数,提高处理效率。此机制涉及网卡驱动初始化时注册轮询函数,通过软中断触发后续处理,并逐步深入内核网络协议栈,最终到达TCP层。整个接收流程分为多个层次,包括DMA技术存入Ring Buffer、中断通知CPU、软中断处理、以及进入内核网络协议栈等多个步骤。
|
2月前
|
机器学习/深度学习 人工智能 算法
首个像人类一样思考的网络!Nature子刊:AI模拟人类感知决策
【9月更文挑战第8天】近日,《自然》子刊发表的一篇关于RTNet神经网络的论文引起广泛关注。RTNet能模拟人类感知决策思维,其表现与人类相近,在反应时间和准确率上表现出色。这项研究证明了神经网络可模拟人类思维方式,为人工智能发展带来新启示。尽管存在争议,如是否真正理解人类思维机制以及潜在的伦理问题,但RTNet为人工智能技术突破及理解人类思维机制提供了新途径。论文详细内容见《自然》官网。
58 3
|
2月前
|
缓存 运维 NoSQL
使用 psutil 获取硬件、网络以及进程信息
使用 psutil 获取硬件、网络以及进程信息
53 0
|
3月前
|
算法
基于多路径路由的全局感知网络流量分配优化算法matlab仿真
本文提出一种全局感知网络流量分配优化算法,针对现代网络中多路径路由的需求,旨在均衡分配流量、减轻拥塞并提升吞吐量。算法基于网络模型G(N, M),包含N节点与M连接,并考虑K种不同优先级的流量。通过迭代调整每种流量在各路径上的分配比例,依据带宽利用率um=Σ(xm,k * dk) / cm来优化网络性能,确保高优先级流量的有效传输同时最大化利用网络资源。算法设定收敛条件以避免陷入局部最优解。
|
3月前
|
机器学习/深度学习 存储 并行计算
深度学习之适应硬件的神经网络
深度学习的适应硬件的神经网络设计旨在最大限度地利用特定硬件平台的计算和存储能力,提高模型的执行效率和性能。这些硬件包括图形处理单元(GPU)、张量处理单元(TPU)、现场可编程门阵列(FPGA)和专用集成电路(ASIC)。
59 0
|
4月前
|
网络协议 数据安全/隐私保护 Python
在通讯系统工程中,这通常包括硬件、软件、网络协议、数据传输等多个方面的设计和实现。
在通讯系统工程中,这通常包括硬件、软件、网络协议、数据传输等多个方面的设计和实现。

热门文章

最新文章

下一篇
无影云桌面