CVPR 2022 | ViT-Slim:一种灵活高效的视觉Transformer搜索策略

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

本文转载自:机器之心

时隔 5 年,network slimming 原作者团队打造出了 ViT 版的 slimming,入选 CVPR 2022。

卷积网络版的 network slimming 在 ICCV 2017 上被提出,作为神经网络剪枝领域代表性的工作之一,目前已被引用超过 1400 次,五年之后的 CVPR 2022,原作者团队跟 Meta、印度理工学院等机构的研究者联合打造了 ViT 版的 slimming,据悉该工作得到了四个审稿人一致推荐接收!

b9f58a31bc709bb7253202b6b8572646.png

Vision Transformer Slimming: Multi-Dimension Searching in Continuous Optimization Space

  • 论文:https://arxiv.org/abs/2201.00814

  • 代码:https://github.com/Arnav0400/ViT-Slim

是什么原因让 network slimming 的 ViT 版本得到所有审稿人的一致青睐呢,这里还得说一下 network slimming 这种方法的几个特点,即:简单 (simple) + 有效 (effective) + 灵活 (flexible)。通过简单的引入指示因子,slimming 可以边训练边搜索,类似于隐式的参数共享机制,压缩后的目标网络结构通过排序指示因子就可获得,非常高效方便。ViT-Slim 继承了这些优点,同时针对 ViT 主干网络结构的特性做出了几个改进。

在介绍改进前先回顾一下 network slimming 的方法和原理。用一句话概括就是,对于卷积神经网络,每层每个卷积核都用一个重要性系数去表征它对最后预测结果的贡献程度,如果这个系数接近于 0,就认为它是没有贡献并可以被去掉的。作者通过施加一个65b355e55aef5ff1e0099971cd066f4d.png正则使得这些系数变得稀疏,同时作者发现由于通常会将卷积核与批量归一(BN)一起使用,因此可以直接使用 BN 层的缩放系数cefc5aca53af51a6dfc31f73bac18a37.png作为每层卷积的重要性系数,这样就不需要引入额外的参数了。

对于 ViT Slimming,需要解决的核心问题是如何在没有 BN 层的情况下设计合适的指示参数来反映不同模块规模对于整个分类性能的重要程度。文章采用的是通过显式地定义可导的 soft mask 来确定每个模块的大小和尺度,整个过程如下图所示。

fbb8361bb0e9d712e251b7da213a607a.png

ViT Slimming 同时考虑了 ViT 里面三个模块:输入 tokens,MHSA 和 MLP 模块,它的训练过程可以看成是一个基于权重共享的子网络搜索过程,主干网的权重可以通过加载预训练好的模型参数来加快搜索。训练过程中 soft mask 接近 0 对应的特征相当于动态地被裁剪 / 丢弃了。该方法的优点是只需训练 / 搜索一次,就可以通过排序 mask 得到无数个子网络,非常高效灵活。算法优化函数由原始的 cross-entropy 和dc685fd680b027b148d73063eff9549b.png稀疏正则组成,如下所示:

b4163531cde29fb9a2ddc9398bba4770.png

其中在 ViT 的 MHSA 模块内部加 soft mask 的处理如下:

b316daf6904fd58a3f7d74c6829eb905.png

在 MLP 模块加 soft mask 的处理如下:

a2491716ff089c65fdf313e23e48cca3.png

下面是 ViT-Slim 跟其他一些 ViT 压缩或者瘦身方法的区别,主要在于搜索方法以及使用范围的不同。

f0e9750e692f1b36b5f4a9b45663e0c2.png

相比其他方法,ViT Slimming 可以同时减少模型参数量和计算量,同时由于可以继承已经正常训练好的模型参数,搜索过程需要的时间非常少,对资源需要也不是很大。

实验结果

ImageNet-1K 实验结果:

1. 单个模块不同 budgets 下的精度:

2731a07042456dcdffbd5ea403a8360f.png

2. 多个模块不同 budgets 下的精度:

4a8f3872b0bc5731252b29b268c61e18.png

3. 跟其他 SOTA 方法的性能比较:

aa5d7c3e6f6e634b4380952407c5d505.png

可以看出在更少的参数及计算量的条件下,ViT-Slim 可以得到更好的性能。

下游分类任务的结果:

b7c5688ab30b6810ee272dc7068f3c6c.png

可视化分析:

1. 搜索得到的每个 Attention head 结构:

964006881fb97fb9496611f5a3a092bd.png

可以看到搜索得到的 attention head 结构数目呈现中间大,两边小(高层更加明显)的现象。

2. 搜索得到的 MLP 维度结构大小:

3c5df9ae9a976d7728afd5a94ba1d570.png

可以看到搜索得到的 MLP 结构同样呈现中间大,两边小的现象,这也是一个非常有意思的地方。

更多细节大家可以去看原文和代码。

 
 

ICCV和CVPR 2021论文和代码下载

后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集

后台回复:ICCV2021,即可下载ICCV 2021论文和代码开源的论文合集

后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDF

目标检测和Transformer交流群成立
扫描下方二维码,或者添加微信:CVer6666,即可添加CVer小助手微信,便可申请加入CVer-目标检测或者Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测或者Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

▲扫码或加微信: CVer6666,进交流群
CVer学术交流群(知识星球)来了!想要了解最新最快最好的CV/DL/ML论文速递、优质开源项目、学习教程和实战训练等资料,欢迎扫描下方二维码,加入CVer学术交流群,已汇集数千人!

▲扫码进群
▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看a90eefe2e0fbf4c61d9dd3520add9db1.gif

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值