YOLOv5改进 | Conv篇 | 在线重参数化卷积OREPA助力二次创新(提高推理速度 + FPS)

简介: YOLOv5改进 | Conv篇 | 在线重参数化卷积OREPA助力二次创新(提高推理速度 + FPS)

一、本文介绍

本文给大家带来的改进机制是一种重参数化的卷积模块OREPA,这种重参数化模块非常适合用于二次创新,我们可以将其替换网络中的其它卷积模块可以不影响推理速度的同时让模型学习到更多的特征。OREPA是通过在线卷积重参数化(Online Convolutional Re-parameterization)来减少深度学习模型训练的成本和复杂性。这种方法主要包括两个阶段:首先,利用一个特殊的线性缩放层来优化在线块的性能;其次,通过将复杂的训练时模块压缩成一个单一的卷积来减少训练开销。欢迎大家订阅本专栏,本专栏每周更新3-5篇最新机制,更有包含我所有改进的文件和交流群提供给大家。

欢迎大家订阅我的专栏一起学习YOLO

image.png

专栏回顾:YOLOv5改进专栏——持续复现各种顶会内容——内含100+创新

二、OREPA原理

image.png


2.1 OREPA的基本原理

OREPA是通过在线卷积重参数化(Online Convolutional Re-parameterization)来减少深度学习模型训练的成本和复杂性。这种方法主要包括两个阶段:首先,利用一个特殊的线性缩放层来优化在线块的性能;其次,通过将复杂的训练时模块压缩成一个单一的卷积来减少训练开销。OREPA能够显著降低训练时的内存和计算成本,同时提高训练速度,并在标准的计算机视觉任务如图像分类、物体检测和语义分割等方面取得了更好的性能表现。

OREPA(在线卷积重参数化)的基本原理可以分为以下几点:

1. 两阶段流程:OREPA采用两个阶段来实现其目标。首先是在线优化阶段,其次是压缩训练时模块阶段。

2. 线性缩放层:引入线性缩放层来优化在线模块,以更有效地进行训练。

3. 训练时模块压缩:将复杂的训练时模块压缩成一个单一的卷积操作,以减少训练开销。

image.png


这张图展示了在线卷积重参数化(OREPA)流程的具体步骤:

1. 移除(Remove):首先移除原型块中的非线性层,如ReLU和批量归一化(BN)。

2. 添加缩放(Add Scaling):引入缩放层来优化卷积层的输出。

3. 添加归一化(Add Norm):最后,添加归一化来进行模型的性能优化和提升。

通过这一系列步骤,OREPA方法在训练阶段有效地简化了模型的复杂性,优化了训练效率,并为高性能模型的构建提供了一种新的方法论。



2.2 两阶段流程

下面为大家展示了在线重参数化(OREPA)的两个阶段:

image.png

1. 块线性化(Block Linearization):在这个阶段,原型重参数化块中的所有非线性组件被移除,只留下卷积和批量归一化(BN)层,并加入缩放层以优化性能。

2. 块挤压(Block Squeezing):随后,这个过程将上述线性化的块合并成一个单独的卷积层(OREPA Conv),这样可以显著减少训练成本,同时保持高性能。


2.3 线性缩放层

线性缩放层在OREPA中是一个关键的组成部分,它允许模型在训练过程中进行更有效的权重更新。这一层的目的是在保持训练时复杂性管理的同时,提高模型在学习特征时的灵活性和适应性。通过对权重进行合适的缩放,这一层有助于模型在整个训练过程中维持稳定的梯度流动,这对于深度学习模型的优化至关重要。这种线性缩放层通过在训练时对卷积层的输出进行缩放,使模型可以更快地收敛,同时减少资源的消耗。

下面这张图展示了在线卷积重参数化(OREPA)框架中提出的四个组件:

image.png

(a) 频率先验过滤器:一个结合了1x1卷积和3x3频率先验滤波器的结构,随后是一个缩放层。

(b) 线性深度可分离卷积(Linear DW sepconv):包含了3x3深度可分离卷积(DW Conv),后面跟着1x1逐点卷积(PW Conv)和缩放层。

(c) 重参数1x1卷积:由两个1x1卷积层组成,其中每个层后都接有一个缩放层,这些层被用来重参数化更大的卷积结构。

(d) 线性深层干细胞(Linear deep stem):由三个3x3卷积层组成,这种结构旨在处理输入数据的最初几层,以提高模型的初期特征提取能力。


2.4 训练时模块压缩

在OREPA框架中,训练时模块压缩指的是在训练阶段,通过线性化处理和结构简化将原本复杂的卷积网络块转换为一个简单的卷积层。这种方法减少了模型训练时的内存占用和计算成本。具体来说,它涉及到移除非线性激活函数、合并多个卷积层,并引入缩放层来调整卷积层权重的规模。

这张图展示了不同卷积层结构在训练阶段和推理阶段的对比

image.png

(a) 是一个标准的卷积层,没有重参数化(No Re-param)。

(b) 展示了一个典型的结构重参数化块(Structural Re-param)。

(c) 是论文中提出的在线重参数化块(OREPA),即在线卷积重参数化。

(d) 是部署时的结构,所有训练阶段的结构在推理时都转换为这个简单的卷积结构。

在训练阶段,OREPA的设计允许将多个卷积层和批量归一化(BN)层通过重参数化合并为一个卷积层,以减少训练时的复杂性和内存需求。在推理时,不论训练时的结构如何复杂,所有模型都被简化为单一的卷积层,这有助于提高推理速度并降低推理时的资源消耗。

下图为大家展示的是OREPA块的设计,它在训练和推理过程中对应于一个3x3的卷积。这个设计通过将一系列卷积层、池化层和频率先验层,并带有缩放层,最终通过一个挤压操作将这些层合并成一个单独的OREPA卷积层。

image.png

目录
相关文章
|
7月前
|
JSON 搜索推荐 数据挖掘
巧用京东 API,精准把握京东平台用户消费偏好
在电商竞争激烈的环境下,精准把握用户消费偏好对提升转化率和优化营销策略至关重要。京东作为国内领先的电商平台,提供丰富的开放 API,支持开发者获取用户行为、订单、浏览等数据。通过调用这些 API,企业可深入分析用户偏好,构建个性化推荐与精准营销方案。本文详细介绍了如何通过京东 API 获取数据、分析用户偏好,并结合实际案例展示其应用场景与效果,助力企业提升运营效率与市场竞争力。
371 0
|
机器学习/深度学习 数据可视化 算法
YOLOv9改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
YOLOv9改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
966 5
YOLOv9改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
|
机器学习/深度学习 数据可视化 测试技术
YOLO11实战:新颖的多尺度卷积注意力(MSCA)加在网络不同位置的涨点情况 | 创新点如何在自己数据集上高效涨点,解决不涨点掉点等问题
本文探讨了创新点在自定义数据集上表现不稳定的问题,分析了不同数据集和网络位置对创新效果的影响。通过在YOLO11的不同位置引入MSCAAttention模块,展示了三种不同的改进方案及其效果。实验结果显示,改进方案在mAP50指标上分别提升了至0.788、0.792和0.775。建议多尝试不同配置,找到最适合特定数据集的解决方案。
3612 0
|
存储 机器学习/深度学习 计算机视觉
【YOLOv8改进-卷积Conv】 OREPA(Online Convolutional Re-parameterization):在线卷积重参数化
**OREPA**是在线卷积重参数化的缩写,它提出了一种两阶段流程来减少深度模型训练的开销。该方法通过线性缩放层优化复杂训练块,并在训练完成后将其压缩为单个卷积层,降低内存使用和提高训练速度。与现有技术相比,OREPA能减少约70%的训练内存开销,提升2倍训练速度,并在ImageNet上提高最多0.6%的准确性。此外,它还在目标检测和语义分割任务中表现出色。论文和代码可在提供的链接中找到。
|
计算机视觉
YOLOv11改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进v11颈部网络
YOLOv11改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进v11颈部网络
2558 10
YOLOv11改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进v11颈部网络
|
编解码 算法 计算机视觉
YOLOv11改进策略【Head】| 增加针对 大目标 的检测层 (四个检测头)
YOLOv11改进策略【Head】| 增加针对 大目标 的检测层 (四个检测头)
2092 7
|
人工智能
YOLOv11改进策略【损失函数篇】| 2024 引进Focaler-IoU损失函数 加强边界框回归 (Focaler-DIoU、Focaler-GIoU、Focaler-CIoU)
YOLOv11改进策略【损失函数篇】| 2024 引进Focaler-IoU损失函数 加强边界框回归 (Focaler-DIoU、Focaler-GIoU、Focaler-CIoU)
2183 4
|
机器学习/深度学习 存储
线性化注意力综述:突破Softmax二次复杂度瓶颈的高效计算方案
大型语言模型虽在各领域表现出色,但其核心的softmax注意力机制存在显著的计算资源消耗问题。本文探讨通过线性时间复杂度的替代方案突破这一瓶颈,介绍线性注意力机制、门控线性注意力及状态空间模型(SSM)等创新方法,旨在优化计算效率与内存容量之间的权衡,提升模型性能。
588 9
线性化注意力综述:突破Softmax二次复杂度瓶颈的高效计算方案
|
机器学习/深度学习 资源调度 算法
YOLOv11改进策略【损失函数篇】| 引入Soft-NMS,提升密集遮挡场景检测精度,包括GIoU-NMS、DIoU-NMS、CIoU-NMS、SIoU-NMS、 EIou-NMS
YOLOv11改进策略【损失函数篇】| 引入Soft-NMS,提升密集遮挡场景检测精度,包括GIoU-NMS、DIoU-NMS、CIoU-NMS、SIoU-NMS、 EIou-NMS
4532 6
|
消息中间件 监控 负载均衡
在Kafka中,进行主题的分区和复制
在Kafka中,进行主题的分区和复制
341 2

热门文章

最新文章