CVPR 2022 | ViT版的Slimming来了,原作者团队打造,参数少,搜索更高效

简介: CVPR 2022 | ViT版的Slimming来了,原作者团队打造,参数少,搜索更高效

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

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



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

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

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


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


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


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


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

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

实验结果

ImageNet-1K 实验结果:
1. 单个模块不同 budgets 下的精度:


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


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


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

下游分类任务的结果:


可视化分析:

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


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

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


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

相关文章
|
5月前
|
存储 弹性计算 监控
金融量化场景下阿里云服务器 ECS 实例规格族选择指南
在金融量化交易场景中,计算性能、网络延迟与数据处理稳定性直接影响交易策略的执行效率与收益表现。阿里云服务器 ECS 作为核心算力支撑,其实例规格族的选择需围绕量化交易对 “高计算密度、低网络时延、高 IO 稳定性” 的核心需求展开。本文将结合阿里云最新实例迭代信息,从场景需求匹配、规格族性能对比、配置方案优化三个维度,系统梳理金融量化场景下 ECS 实例的选择逻辑。
|
4月前
|
人工智能 监控 安全
智能体来了:2026 AI元年真正到来!
内容摘要:2026年被公认为“AI智能体(Agent)元年”,引发人工智能从“对话框工具”到“充当数字”的质变。本文深度解析智能体背后的底层逻辑,拆解其在个人职能与产业变革中的核心员工作用,并提供一套可落地的分身构建方案,助你抓住阶层的核心红利。
436 1
FW怎么做立体箭头? fireworks三维立体箭头的制作方法
我们在FW绘制图形时,有时候经常需要用到立体的效果。该怎么回执箭头并添加立体效果呢?下面我们就来看看详细的教程。
499 1
FW怎么做立体箭头? fireworks三维立体箭头的制作方法
|
并行计算 PyTorch Shell
YOLOv11改进策略【Neck】| 有效且轻量的动态上采样算子:DySample
YOLOv11改进策略【Neck】| 有效且轻量的动态上采样算子:DySample
1506 11
YOLOv11改进策略【Neck】| 有效且轻量的动态上采样算子:DySample
|
存储 弹性计算 人工智能
阿里云服务器2核8G/4核16G/8核32G配置热门实例规格对比与选购指南
如果我们是计划购买2核8G/4核16G/8核32G配置的阿里云服务器,在阿里云活动中一般会有经济型e、通用算力型u1、通用型g7、通用型g8i和通用型g8y几种常见的实例规格可选,尽管这些实例在配置上相似,但它们在性能、价格以及适用场景上存在显著差异。本文将深入解析这些实例规格的性能特点、价格差异及适用场景,为用户在阿里云服务器购买时提供详实的参考依据。
|
监控 安全 UED
星型拓扑的缺点是什么?
【8月更文挑战第4天】
1727 16
星型拓扑的缺点是什么?
|
存储 前端开发
canvas自定义绘制顺序解决遮挡问题
canvas自定义绘制顺序解决遮挡问题
728 0
|
SQL 安全 小程序
src漏洞挖掘浅谈
src漏洞挖掘浅谈
|
存储 前端开发 对象存储
如何基于云存储网关SMB共享搭建FileZilla FTP server
本文介绍在windows 环境下,如何利用云存储网关提供的SMB共享,使用FileZilla Server搭建FTP服务器来访问对象存储(OSS)中的资源。
3280 0
如何基于云存储网关SMB共享搭建FileZilla FTP server