FasterNet(PConv)paper笔记(CVPR2023)

本文探讨了在减少神经网络计算量(FLOPs)的同时,为何计算速度(FLOPS)的重要性被忽视。作者提出部分卷积(PConv)和FasterNet架构,旨在同时降低FLOPs并提高FLOPS,从而改善计算效率和精度。研究显示,传统的减小FLOPs方法可能并未有效降低Latency,PConv通过考虑featuremap冗余提供解决方案。

论文:Run, Don’t Walk: Chasing Higher FLOPS for Faster Neural Networks

先熟悉两个概念:FLOPS和FLOPs(s一个大写一个小写)
FLOPS: FLoating point Operations Per Second的缩写,即每秒浮点运算次数,或表示为计算速度。是一个衡量硬件性能的指标。
FLOPs: FLoating point OPerationS 即 浮点计算次数,包含乘法和加法,只和模型有关,可以用来衡量其复杂度。
总结起来,S大写的是计算速度,小写的是计算量。计算量 / 计算速度 = 计算时间Latency

摘要部分

之前很多网络都聚焦在减少计算量(FLOPs)上,但是作者发现即使FLOPs减少了,latency也没有相应地线性减少。
认为这是由于速度FLOPS并没有相应地提高,而较低的FLOPS是由于频繁地访问内存。

为此,paper主要研究了DWConv(Depthwise convolution).
提出了部分卷积PConv. 可以同时降低FLOPs和提高FLOPS,进而提高速率。
又提出了以PConv为主要元素的backbone网络FasterNet, 有T,S,M,L版本,在提高效率的同时也提高精度。

在这里插入图片描述

背景

对比一些降低了计算量FLOPs的网络,它们的计算速度FLOPS对比,作者发现它们大部分的FLOPS比ResNet50都低。

在这里插入图片描述

因为Latency = FLOPs / FLOPS.
所以即使降低了FLOPs,而FLOPS较低,也不会缩短相应的计算时间。

相关工作

CNN:
在实际应用中,CNN的计算效率和精度一样重要,所以有很多改进效率的工作,
较流行的是group卷积和深度可分离卷积,应用它们的有MobileNet, ShuffleNet, GhostNet等。
这些工作通过考虑filter的冗余,减少参数和FLOPs。但是为了补偿下降的精度,一般会增加channel,而channel的增加会导致内存访问量的增加。
而作者通过考虑feature map的冗余,提出部分卷积PConv,降低FLOPs, 同时降低内存访问量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值