当前位置:网站首页>ECCV 2022丨轻量级模型架ParC-Net 力压苹果MobileViT代码和论文下载
ECCV 2022丨轻量级模型架ParC-Net 力压苹果MobileViT代码和论文下载
2022-07-29 05:33:00 【AI视觉网奇】
测试代码:
224*224*3 1060显卡 gpu10 ms,cpu80ms。
gpu 比 mobileone 快1ms。
python eval_cls.py --common.config-file ./config/classification/edgeformer/edgeformer_s.yaml --model.classification.pretrained ./pretrained_models/classification/checkpoint_ema_avg.pt

论文地址:https://arxiv.org/abs/2203.03952
代码地址:https://github.com/hkzhang91/ParC-Net
计算机视觉研究院专栏
作者:Edison_G
继承ConvNet和Transformer优点的位置敏感的循环卷积。
01概述
最近,vision transformers开始显示出令人印象深刻的结果,显着优于基于大型卷积的模型。然而,在移动或资源受限设备的小型模型领域,ConvNet在性能和模型复杂度方面仍然具有自己的优势。研究者提出了ParC-Net,这是一种纯基于ConvNet的骨干模型,通过将vision transformers的优点融合到ConvNet 中,进一步增强了这些优势。

ConvNet与ViT模型图像分类实验结果对比
具体来说,研究者提出了位置感知循环卷积(ParC),这是一种轻量级的卷积运算,它拥有全局感受野,同时产生与局部卷积一样的位置敏感特征。将ParCs和squeeze-exictation ops结合起来形成一个类似于元模型的模型块,它还具有类似于transformers的注意力机制。上述块可以即插即用的方式使用,以替换ConvNets或transformers中的相关块。
![]()
实验结果表明,在常见的视觉任务和数据集中,所提出的ParC-Net比流行的轻量级ConvNets和基于vision transformers的模型具有更好的性能,同时具有更少的参数和更快的推理速度。对于ImageNet-1k上的分类,ParC-Net在大约500万个参数的情况下实现了78.6%的top-1准确率,节省了11%的参数和13%的计算成本,但准确率提高了0.2%,推理速度提高了23%(基于ARM的Rockchip RK3288)与MobileViT相比,仅使用0.5倍的参数,但与DeIT相比获得了2.7%的准确度。在MS-COCO目标检测和PASCAL VOC分割任务上,ParC-Net也表现出更好的性能。
02
背景
然而,我们认为ViTs和ConvNets都是不可或缺的,原因如下:
1)从应用的角度来看,ViTs和ConvNets都有其优点和缺点。ViT模型通常具有更好的性能,但通常计算成本高且难以训练。与ViTs相比,ConvNets可能表现出较差的性能,但它们仍然具有一些独特的优势。例如,ConvNets具有更好的硬件支持并且易于训练。此外,正如[Jianyuan Guo, Kai Han, Han Wu, Chang Xu, Yehui Tang, Chunjing Xu, and Yunhe Wang. Cmt: Convolutional neural networks meet vision transformers.]和研究者的实验中总结的那样,ConvNets在移动或边缘设备的小型模型领域仍然占主导地位。
2)从信息处理的角度来看,ViTs和ConvNets都具有独特的特征。ViT擅长提取全局信息,并使用注意力机制从输入数据驱动的不同位置提取信息。ConvNets专注于对局部关系进行建模,并且通过归纳偏置具有很强的先验性。上述分析自然提出了一个问题:我们能否向ViT学习以改进用于移动或边缘计算应用的ConvNet?
ViT论文:https://arxiv.org/abs/2010.11929
ConvNeXt论文:https://arxiv.org/abs/2201.03545
03
新框架
研究者们取ViT的三个亮点,将纯卷积结构变强。研究者认为,ViT和ConvNet有三个主要区别:ViT更擅长提取全局特征,采用meta-former结构,而且信息集成由数据驱动。ParC的设计思路便是从这三点着手来优化ConvNet。
![]()
普通ConvNet和ViT之间的三个主要区别。a)ConvNet常用的Residual block;b)ViT中常用的Meta-Former 结构;c)研究者提出的ParC block。
具体而言,研究人员设计了一种位置信息敏感的循环卷积(Position aware circular convolution, ParC)。这是一种简单有效的轻量卷积运算算子,既拥有像ViT类结构的全局感受野,同时产生了像局部卷积那样的位置敏感特征,能克服依赖自注意力结构提取全局特征的问题。

Position aware circular convolution

水平方向的全局循环卷积
可以看到ParC-H沿着通过连接输入的开始和结束生成的圆执行卷积。因此,研究者将提出的卷积命名为循环卷积。提议的ParC引入了三个修改:
结合circular padding和大感受野低秩分解卷积核提取全局特征;
引入位置嵌入,保证输出特征对于空间位置信息的敏感性;
动态插值实时生成尺寸适配的卷积核和位置编码,应对输入分辨率变化情况,这增强了对不同尺寸输入的适应能力。
研究者还将ParC和squeeze exictation结合起来,构建了一个纯卷积结构的meta former结构。该结构舍弃了自注意力硬件支持不友好的操作,但保留了传统Transformer块提取全局特征的特点。研究者还在channel mixer部分引入硬件支持较友好的通道注意力机制,使其纯卷积meta former结构也具备自注意力的特点。
基于ParC结构最终得到的ParC块,可作为一个即插即用的基础单元,替换现有ViT或ConvNet模型中的相关块,从而提升精度,并降低计算成本,有效克服硬件支持的问题。
![]()
三种主要的混合结构。(a) serial structure; (b) parallel structure; (c) bifurcate structure。
04
实验分析
![]()
在图像分类实验中,对于ImageNet-1k的分类,ParC-Net使用的参数规模最小(约500万个参数),却实现了最高准确率78.6%。
![]()
MobileViT是Apple2022年在国际深度学习顶会ICLR22上提出的轻量级通用ViT模型。同样部署在基于Arm的瑞芯微RK3288芯片上,相较基线模型MobileViT,ParC-Net节省了11%的参数和13%的计算成本,同时准确率提高了0.2%,推理速度提高了23%。
![]()
MS-COCO物体检测实验结果
![]()
PASCAL VOC分割任务实验结果
![]()
研究者将ParC-Net和基线模型MobileVit均部署到自研低功耗芯片DP上进行推理速度测试。从实验结果可以看到,ParC-Net的推理速度能够达到MobileViT速度的3~4倍。
THE END
转载请联系本公众号获得授权
![]()
边栏推荐
- NeuralCF-神经协同过滤网络
- Hongke share | let you have a comprehensive understanding of "can bus errors" (IV) -- producing and recording can errors in practice
- SDN拓扑发现原理
- PhantomReference 虚引用代码演示
- Database multi table query joint query add delete modify query
- 吴恩达老师机器学习课程笔记 03 线性代数回顾
- Tcp/ip 五层参考模型以及对应的典型设备以及ipv6
- The latest pycharm2018 cracking tutorial
- 吴恩达老师机器学习课程笔记 02 单变量线性回归
- AbstractQueuedSynchronizer(AQS) 之共享锁源码浅读
猜你喜欢

成长为架构师途中的一些思考

【冷冻电镜|论文阅读】A feature-guided, focused 3D signal permutation method for subtomogram averaging

Hongke shares | testing and verifying complex FPGA design (2) -- how to perform global oriented simulation in IP core

Relationship between subnet number, host number and subnet mask

10 frequently asked JVM questions in interviews

【论文阅读】TomoAlign: A novel approach to correcting sample motion and 3D CTF in CryoET

比较单片机3种时钟电路方案

Understanding of access, hybrid and trunk modes

王树尧老师运筹学课程笔记 10 线性规划与单纯形法(关于检测数与退化的讨论)

损失函数——交叉熵损失函数
随机推荐
Shell脚本-全局变量、局部变量、环境变量
Apisik health check test
数据单位:位、字节、字、字长
王树尧老师运筹学课程笔记 02 高等数学基础
Share some tips for better code, smooth coding and improve efficiency
Not so simple singleton mode
吴恩达老师机器学习课程笔记 01 引言
联邦学习后门攻击总结(2019-2022)
LDAP简述及统一认证说明
Case supplement, ATM
量子机器学习中的安全性问题
Instruction rearrangement under multithreading concurrency
基于噪声伪标签和对抗性学习的医学图像分割注释有效学习
Best example of amortized cost
Invalid access control
VMware虚拟机在物理机win10系统下如何连接外网
'function vtable for error: undefined reference to ... ' 问题的原因及解决方法
Jetpack Compose 中的键盘处理
centos 部署postgresql 13
20个hacker神器