位置: IT常识 - 正文

FasterNet(fasternet高效上采样模块)

编辑:rootadmin
FasterNet

更高FLOPS才是更快更强的底气,作者重新审视了现有的操作符,特别是DWConv的计算速度——FLOPS。作者发现导致低FLOPS问题的主要原因是频繁的内存访问。然后,作者提出了PConv作为一种竞争性替代方案,它减少了计算冗余以及内存访问的数量。

推荐整理分享FasterNet(fasternet高效上采样模块),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:fasternet源码,fasternet源码解读,fasternet改进,fasternet高效上采样模块,fasternet骨干网络,fasternet骨干网络,fasternet输入图像尺寸,fasternet改进,内容如对您有帮助,希望把文章链接给更多的朋友!

论文链接:https://paperswithcode.com/paper/run-don-t-walk-chasing-higher-flops-for

为了设计快速神经网络,许多工作都集中在减少浮点运算(FLOPs)的数量上。然而,作者观察到FLOPs的这种减少不一定会带来延迟的类似程度的减少。这主要源于每秒低浮点运算(FLOPS)效率低下。

为了实现更快的网络,作者重新回顾了FLOPs的运算符,并证明了如此低的FLOPS主要是由于运算符的频繁内存访问,尤其是深度卷积。因此,本文提出了一种新的partial convolution(PConv),通过同时减少冗余计算和内存访问可以更有效地提取空间特征。

基于PConv进一步提出FasterNet,这是一个新的神经网络家族,它在广泛的设备上实现了比其他网络高得多的运行速度,而不影响各种视觉任务的准确性。例如,在ImageNet-1k上小型FasterNet-T0在GPU、CPU和ARM处理器上分别比MobileVitXXS快3.1倍、3.1倍和2.5倍,同时准确度提高2.9%。

大模型FasterNet-L实现了令人印象深刻的83.5%的TOP-1精度,与Swin-B不相上下,同时GPU上的推理吞吐量提高了49%,CPU上的计算时间也节省了42%。

神经网络在图像分类、检测和分割等各种计算机视觉任务中经历了快速发展。尽管其令人印象深刻的性能为许多应用程序提供了动力,但一个巨大的趋势是追求具有低延迟和高吞吐量的快速神经网络,以获得良好的用户体验、即时响应和安全原因等。

如何快速?研究人员和从业者不需要更昂贵的计算设备,而是倾向于设计具有成本效益的快速神经网络,降低计算复杂度,主要以浮点运算(FLOPs)的数量来衡量。

MobileNet、ShuffleNet和GhostNet等利用深度卷积(DWConv)和/或组卷积(GConv)来提取空间特征。然而,在减少FLOPs的过程中,算子经常会受到内存访问增加的副作用的影响。MicroNet进一步分解和稀疏网络,将其FLOPs推至极低水平。尽管这种方法在FLOPs方面有所改进,但其碎片计算效率很低。此外,上述网络通常伴随着额外的数据操作,如级联、Shuffle和池化,这些操作的运行时间对于小型模型来说往往很重要。

除了上述纯卷积神经网络(CNNs)之外,人们对使视觉Transformer(ViTs)和多层感知器(MLP)架构更小更快也越来越感兴趣。例如,MobileViT和MobileFormer通过将DWConv与改进的注意力机制相结合,降低了计算复杂性。然而,它们仍然受到DWConv的上述问题的困扰,并且还需要修改的注意力机制的专用硬件支持。使用先进但耗时的标准化和激活层也可能限制其在设备上的速度。

所有这些问题一起导致了以下问题:这些“快速”的神经网络真的很快吗?为了回答这个问题,作者检查了延迟和FLOPs之间的关系,这由

其中FLOPS是每秒浮点运算的缩写,作为有效计算速度的度量。虽然有许多减少FLOPs的尝试,但都很少考虑同时优化FLOPs以实现真正的低延迟。为了更好地理解这种情况,作者比较了Intel CPU上典型神经网络的FLOPS。 

图2中的结果表明,许多现有神经网络的FLOPS较低,其FLOPS通常低于流行的ResNet50。由于FLOPS如此之低,这些“快速”的神经网络实际上不够快。它们的FLOPs减少不能转化为延迟的确切减少量。在某些情况下,没有任何改善,甚至会导致更糟的延迟。例如,CycleMLP-B1具有ResNet50的一半FLOPs,但运行速度较慢(即CycleMLPB1与ResNet50:111.9ms与69.4ms)。

请注意,FLOPs与延迟之间的差异在之前的工作中也已被注意到,但由于它们采用了DWConv/GConv和具有低FLOPs的各种数据处理,因此部分问题仍未解决。人们认为没有更好的选择。

本文旨在通过开发一种简单、快速、有效的运算符来消除这种差异,该运算符可以在减少FLOPs的情况下保持高FLOPS。具体来本文旨在通过开发一种简单、快速、有效的运算符来消除这种差异,该运算符可以在减少FLOPs的情况下保持高FLOPS。

具体来说,作者重新审视了现有的操作符,特别是DWConv的计算速度——FLOPS。作者发现导致低FLOPS问题的主要原因是频繁的内存访问。然后,作者提出了PConv作为一种竞争性替代方案,它减少了计算冗余以及内存访问的数量。

图1说明了PConv的设计。它利用了特征图中的冗余,并系统地仅在一部分输入通道上应用规则卷积(Conv),而不影响其余通道。本质上,PConv的FLOPs低于常规Conv,而FLOPs高于DWConv/GConv。换句话说,PConv更好地利用了设备上的计算能力。PConv在提取空间特征方面也很有效,这在本文后面的实验中得到了验证。

作者进一步引入PConv设计了FasterNet作为一个在各种设备上运行速度非常快的新网络家族。特别是,FasterNet在分类、检测和分割任务方面实现了最先进的性能,同时具有更低的延迟和更高的吞吐量。例如,在GPU、CPU和ARM处理器上,小模型FasterNet-T0分别比MobileVitXXS快3.1倍、3.1倍和2.5倍,而在ImageNet-1k上的准确率高2.9%。大模型FasterNet-L实现了83.5%的Top-1精度,与Swin-B不相上下,同时在GPU上提供了49%的高吞吐量,在CPU上节省了42%的计算时间。

总之,贡献如下:

指出了实现更高FLOPS的重要性,而不仅仅是为了更快的神经网络而减少FLOPs。

引入了一种简单但快速且有效的卷积PConv,它很有可能取代现有的选择DWConv。

推出FasterNet,它在GPU、CPU和ARM处理器等多种设备上运行良好且普遍快速。

对各种任务进行了广泛的实验,并验证了PConv和FasterNet的高速性和有效性。

PConv和FasterNet的设计原理FasterNet(fasternet高效上采样模块)

 PConv作为一个基本的算子

在下面演示了通过利用特征图的冗余度可以进一步优化成本。如图3所示,特征图在不同通道之间具有高度相似性。许多其他著作也涵盖了这种冗余,但很少有人以简单而有效的方式充分利用它。 

请注意,保持其余通道不变,而不是从特征图中删除它们。这是因为它们对后续PWConv层有用,PWConv允许特征信息流经所有通道。

PConv之后是PWConv

为了充分有效地利用来自所有通道的信息,进一步将逐点卷积(PWConv)附加到PConv。它们在输入特征图上的有效感受野看起来像一个T形Conv,与均匀处理补丁的常规Conv相比,它更专注于中心位置,如图5所示。为了证明这个T形感受野的合理性,首先通过计算位置的Frobenius范数来评估每个位置的重要性。

作者认为一个显著位置是具有最大Frobenius范数的位置。然后,在预训练的ResNet18中集体检查每个过滤器,找出它们的显著位置,并绘制显著位置的直方图。图6中的结果表明,中心位置是过滤器中最常见的突出位置。换句话说,中心位置的权重比周围的更重。这与集中于中心位置的T形计算一致。 

FasterNet作为Backbone

鉴于新型PConv和现成的PWConv作为主要的算子,进一步提出FasterNet,这是一个新的神经网络家族,运行速度非常快,对许多视觉任务非常有效。作者的目标是使体系结构尽可能简单,使其总体上对硬件友好。

在图4中展示了整体架构。它有4个层次级,每个层次级前面都有一个嵌入层(步长为4的常规4×4卷积)或一个合并层(步长为2的常规2×2卷积),用于空间下采样和通道数量扩展。每个阶段都有一堆FasterNet块。作者观察到,最后两个阶段中的块消耗更少的内存访问,并且倾向于具有更高的FLOPS,如表1中的经验验证。因此,放置了更多FasterNet块,并相应地将更多计算分配给最后两个阶段。每个FasterNet块有一个PConv层,后跟2个PWConv(或Conv 1×1)层。它们一起显示为倒置残差块,其中中间层具有扩展的通道数量,并且放置了Shorcut以重用输入特征。

除了上述算子,标准化和激活层对于高性能神经网络也是不可或缺的。然而,许多先前的工作在整个网络中过度使用这些层,这可能会限制特征多样性,从而损害性能。它还可以降低整体计算速度。相比之下,只将它们放在每个中间PWConv之后,以保持特征多样性并实现较低的延迟。

此外,使用批次归一化(BN)代替其他替代方法。BN的优点是,它可以合并到其相邻的Conv层中,以便更快地进行推断,同时与其他层一样有效。对于激活层,根据经验选择了GELU用于较小的FasterNet变体,而ReLU用于较大的FasterNet变体,同时考虑了运行时间和有效性。最后三个层,即全局平均池化、卷积1×1和全连接层,一起用于特征转换和分类。

为了在不同的计算预算下提供广泛的应用,提供FasterNet的Tiny模型、Small模型、Medium模型和Big模型变体,分别称为FasterNetT0/1/2、FasterNet-S、FasterNet-M和FasterNet-L。它们具有相似的结构,但深度和宽度不同。

架构规范如下:

代码实现

实验PConv的快速性与高Flops

PConv与PWConv一起有效

FasterNet on ImageNet-1k 

 

 FasterNet在下游任务的表现

1、目标检测

消融实验

whaosoft aiot http://143ai.com

本文链接地址:https://www.jiuchutong.com/zhishi/299078.html 转载请保留说明!

上一篇:CSS中的四种定位方式(css5个定位)

下一篇:Unity Rain Ai 插件的使用入门(unity loom插件)

  • iphone游戏勿扰模式怎么设置(ios游戏勿扰模式怎么开)

    iphone游戏勿扰模式怎么设置(ios游戏勿扰模式怎么开)

  • iphone12过热怎么办(iphone12 过热)

    iphone12过热怎么办(iphone12 过热)

  • 没有加微信怎么看微信号(没有加微信怎么建群聊)

    没有加微信怎么看微信号(没有加微信怎么建群聊)

  • 抖音可以通过手机号搜索吗(抖音可以通过手机号加人吗)

    抖音可以通过手机号搜索吗(抖音可以通过手机号加人吗)

  • 淘宝预售规则(淘宝预售规则不规范)

    淘宝预售规则(淘宝预售规则不规范)

  • 苹果7p升级后白屏开不了机怎么办(苹果7升级白屏解决方法)

    苹果7p升级后白屏开不了机怎么办(苹果7升级白屏解决方法)

  • 无线rssi值多少为正常(wifi rssi范围)

    无线rssi值多少为正常(wifi rssi范围)

  • 退出qq和退出账号有什么区别(退出qq和退出当前账号是什么意思)

    退出qq和退出账号有什么区别(退出qq和退出当前账号是什么意思)

  • 集成显卡和独立显卡能同时工作吗(集成显卡和独立显卡可以一起用吗)

    集成显卡和独立显卡能同时工作吗(集成显卡和独立显卡可以一起用吗)

  • 解锁iphone以使用配件无法充电(解锁iPhone以使用配件)

    解锁iphone以使用配件无法充电(解锁iPhone以使用配件)

  • 苹果手机电池健康多久会掉百分之一(苹果手机电池健康掉的太快了怎么回事)

    苹果手机电池健康多久会掉百分之一(苹果手机电池健康掉的太快了怎么回事)

  • 手机如何剪辑音乐然后合成(手机如何剪辑音乐某一段)

    手机如何剪辑音乐然后合成(手机如何剪辑音乐某一段)

  • 手机怎么查看wifi有几个人用(手机怎么查看wifi速度)

    手机怎么查看wifi有几个人用(手机怎么查看wifi速度)

  • 锁卡是什么意思(显卡锁卡是什么意思)

    锁卡是什么意思(显卡锁卡是什么意思)

  • 华为p40pro和苹果11对比(华为p40pro和苹果xs max对比)

    华为p40pro和苹果11对比(华为p40pro和苹果xs max对比)

  • 微信标签群发怎么全选(微信标签群发怎么能发送链接)

    微信标签群发怎么全选(微信标签群发怎么能发送链接)

  • 显示屏75hz和144hz有什么区别(显示屏75hz和165hz有什么区别)

    显示屏75hz和144hz有什么区别(显示屏75hz和165hz有什么区别)

  • 华为matepadpro6g和8g区别(matepad pro6gb和8gb对比)

    华为matepadpro6g和8g区别(matepad pro6gb和8gb对比)

  • c开头的苹果是什么版本的(c开头的苹果是什么机)

    c开头的苹果是什么版本的(c开头的苹果是什么机)

  • 金立s10锁屏壁纸怎么取消(金立s10锁屏壁纸怎么换)

    金立s10锁屏壁纸怎么取消(金立s10锁屏壁纸怎么换)

  • 美版卡贴机能更新系统吗(美版卡贴机能更新系统后怎么办)

    美版卡贴机能更新系统吗(美版卡贴机能更新系统后怎么办)

  • 网购的书拆封了还能退吗(书店买的书拆封了能退吗)

    网购的书拆封了还能退吗(书店买的书拆封了能退吗)

  • 荣耀20s和荣耀20对比(荣耀20s和荣耀20se有区别吗)

    荣耀20s和荣耀20对比(荣耀20s和荣耀20se有区别吗)

  • 苹果x刘海怎么设置耳朵(苹果x刘海怎么去掉)

    苹果x刘海怎么设置耳朵(苹果x刘海怎么去掉)

  • Dedecms v5.3没有下载地址的解决方法(dedecms安装及配置)

    Dedecms v5.3没有下载地址的解决方法(dedecms安装及配置)

  • 刚打完发票可以注销税控盘吗
  • 个体工商户核定征收
  • 城建税要减进项税吗
  • 小规模纳税人减按1%如何填报申报表
  • 什么是消费税?特征有哪些
  • 关税计入存货成本分录
  • 印花税减免退税会计分录
  • 即征即退项目的进项税额不参与加计抵减
  • 审计范围包括什么内容
  • 私募基金款打到什么账户
  • 个体户国税异常怎么办
  • 代收代付给个人
  • 增值税预征率记忆口诀
  • 一般纳税人技术开发税率
  • 用现金发工资不给怎么办
  • 公司制作小程序定金能放在图物资吗
  • 发票联和抵扣联丢失怎么办
  • 个人独资企业怎么取钱
  • 电脑网页密码不正确
  • 无法删除文件提示怎么办
  • 给客户的贴息的会计处理
  • 费用确认条件新准则
  • 劳务费个税扣税
  • 固定资产可以一次性抵扣进项税吗
  • 苹果手机把旧手机的照片传到新手机
  • PHP:session_set_save_handler()的用法_Session函数
  • 递延所得税的计税基础
  • 前后端分离与不分离
  • 餐饮费是业务招待费还是差旅费
  • 人工智能讲解
  • md5 python3
  • ps位图矢量化
  • 记账凭证的主要作用有
  • 库存现金科目的辅助核算项目为日记账
  • 利润表中所得税费用为负数是什么意思
  • 金蝶标准版怎么查应收应付款
  • 医用增值税发票
  • 发票识别
  • 发放工资的转账支票收款人
  • sqlserver游标的使用
  • mysql skip ssl
  • 长期待摊费用怎么算出来的
  • 所得税汇算清缴退税会计分录怎么做
  • 免税收入怎么做会计分录
  • 应收账款应付账款借贷方都表示什么
  • 对于银行已入账企业未入账的未达账项应该
  • 高新技术企业财务指标
  • 无发票入账违反什么规定
  • 利润表的营业成本包括管理费用吗
  • 金蝶旗舰版如何备份账套
  • 企业接受非货币性资产投资的入账金额
  • 残保金的计提分录
  • 上月有留抵税额本月怎么申报
  • 购买维修费怎么做分录
  • 企业应该设置的账薄
  • 停薪留职社保怎么算
  • 汽车固定资产残值率
  • MSsql每天自动备份数据库并每天自动清除log的脚本
  • 安装mysql提示one or more
  • windowsserver2008远程桌面怎么打开
  • win10的svchost干什么的
  • mac双系统怎么删除win系统
  • linux版的oracle
  • windows7使用
  • win8.1无法关机怎么回事
  • cocos2dx安装和初步使用
  • 3366小游戏小
  • nodejs oom
  • 查看本机开放端口号
  • linux 中的atq命令
  • jquery $each
  • JQuery EasyUI Layout 在from布局自适应窗口大小的实现方法
  • 税务局分局副局长什么级别的干部
  • 国家税务总局发票查询官网
  • 税务稽查延期检查最长多长时间最长不得超过30日
  • 成都税务局发票查询
  • 不动产租赁如何征税
  • 多缴税款可以抵滞纳金吗?
  • 税务稽查局工资高吗
  • 辽宁省耕地占用税适用税额表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设