博客
关于我
<论文翻译>RepVGG: Making VGG-style ConvNets Great Again
阅读量:758 次
发布时间:2019-03-23

本文共 1301 字,大约阅读时间需要 4 分钟。

标题: RepVGG: 重新定义卷积神经网络的创新架构

摘要: RepVGG是一种基于3×3卷积和ReLU的简单卷积神经网络架构,其在ImageNet上达到了80%以上的顶1准确率。该模型通过结构性重新参数化技术将训练时间的多分支拓扑与推理时间的普通架构解耦,显著提升了推理速度并保持了高精度。RepVGG在速度和参数效率上均优于现有复杂模型,在轻量级和中量级模型中表现尤为突出。

引言: 卷积神经网络(ConvNets)已成为图像分类任务的主流解决方案,VGG系列在图像领域取得了巨大成功。然而,随着模型复杂性的增加(如ResNet、DenseNet等),推理速度和内存占用等问题日益凸显。与此同时,许多复杂模型在训练时依赖多分支架构,这种拓扑结构虽然在训练时效率高,但在推理时又增加了内存占用和计算复杂度。

相关工作: VGG的成功为简单单路径模型奠定了基础,但其简单性不足以与复杂多分支模型竞争。近年来,ResNet等多分支架构通过经验式的设计和自动搜索方法取得了显著成绩,但其复杂的拓扑结构限制了推理速度。针对这一问题,DiracNet等重新参数化方法提出了一些解决方案,但其效果有限。与此同时,Winograd算法等加速技术提供了一定的优化,但实际应用中其效果受器件支持的限制。

通过结构性重新参数化构建RepVGG: RepVGG通过简化的3×3卷积和ReLU的堆栈,保留了VGG式的单路径拓扑结构。其核心改进在于通过结构性重新参数化技术,将训练时的多分支拓扑与推理时的普通架构解耦。具体而言,实体(identity)和1×1分支仅在训练阶段使用,通过代数变换将其转换为单个3×3卷积层,便于推理阶段的部署和加速。

实验结果: 在ImageNet上,RepVGG的顶1准确率达到80%以上,显著优于ResNet等复杂模型。其推理速度在NVIDIA 1080Ti GPU上表现优异,相比ResNet-50的速度提升83%。RepVGG在参数效率和推理速度之间实现了良好的平衡,轻量级和中量级模型在速度上均优于EfficientNet和RegNet等先进模型。

消融研究: 结构性重新参数化技术在RepVGG中的核心贡献在于通过训练时的多分支架构,显著提高了准确率。通过对RepVGG-B0进行消融实验,删除实体分支和1×1卷积层仅减少了2.75%的准确率,验证了重新参数化的有效性。与其他方法如DiracNet和ACB相比,RepVGG在准确率和推理速度上均表现优异。

语义分割性能:RepVGG在Cityscapes语义分割任务中表现不俗,相比于ResNet-50和ResNet-101,其推理速度提高了62%,平均IoU提高了0.37%。此外,RepVGG在膨胀卷积层上的应用时,其推理速度虽然略受影响,但整体性能仍优于ResNet模型。

结论: RepVGG通过结构性重新参数化技术,提出了一个高效的卷积神经网络架构。其简单的3×3卷积和ReLU堆栈,结合训练时的多分支拓扑,实现了速度与精度的优良平衡。RepVGG的成功展示了简单架构在提供最高精度的同时,仍能满足实际应用的性能需求。

转载地址:http://xqizk.baihongyu.com/

你可能感兴趣的文章
pandas 数据框至海运分组条形图
查看>>
pandas 时序统计的高级用法!
查看>>
pandas 时间序列重新采样结束给定的一天
查看>>
pandas 根据不是常量的第三列的值将值从一列复制到另一列
查看>>
pandas 根据值从多列中的一列查找
查看>>
Pandas 根据布尔条件选择行和列
查看>>
pandas 滚动窗口 - datetime64[ns] 未实现
查看>>
pandas 版本兼容特定的蟒蛇和NumPy配置吗?
查看>>
pandas 生成excel多级表头
查看>>
Pandas 的 DataFrame 详解-ChatGPT4o作答
查看>>
pandas 读取excel数据,以字典形式输出
查看>>
Pandas 读取具有浮点值的 csv 文件会导致奇怪的舍入和小数位数
查看>>
pandas 适用,但仅适用于满足条件的行
查看>>
pandas 重新采样到每月的特定工作日
查看>>
pandas :我如何对堆叠的条形图进行分组?
查看>>
pandas :按移位分组和累加和(GroupBy Shift And Cumulative Sum)
查看>>
pandas :检测一个DF和另一个DF之间缺失的列
查看>>
Pandas-从具有嵌套列表列表的现有列创建动态列时出错
查看>>
Pandas-通过对列和索引的值求和来合并两个数据框
查看>>
pandas.columns、get_dummies等用法
查看>>