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 结构同样呈现中间大,两边小的现象,这也是一个非常有意思的地方。

相关文章
|
机器学习/深度学习 数据采集 编解码
深度学习之实时医学影像增强
基于深度学习的实时医学影像增强是一种将先进的深度学习技术应用于医学影像处理的创新方法,旨在通过高效的图像增强算法帮助医生更准确地诊断和治疗患者。
419 2
|
并行计算 PyTorch Shell
YOLOv11改进策略【Neck】| 有效且轻量的动态上采样算子:DySample
YOLOv11改进策略【Neck】| 有效且轻量的动态上采样算子:DySample
1160 11
YOLOv11改进策略【Neck】| 有效且轻量的动态上采样算子:DySample
|
存储 人工智能 算法
【AI系统】计算图的优化策略
本文深入探讨了计算图的优化策略,包括算子替换、数据类型转换、存储优化等,旨在提升模型性能和资源利用效率。特别介绍了Flash Attention算法,通过分块计算和重算策略优化Transformer模型的注意力机制,显著减少了内存访问次数,提升了计算效率。此外,文章还讨论了内存优化技术,如Inplace operation和Memory sharing,进一步减少内存消耗,提高计算性能。
756 34
【AI系统】计算图的优化策略
|
机器学习/深度学习 人工智能 自然语言处理
NeurIPS 2024:SparseLLM:突破性全局剪枝技术,大语言模型稀疏化革命
《SparseLLM: Towards Global Pruning for Pre-trained Language Models》提出了一种新型框架SparseLLM,通过模块化表示和辅助变量引入,将全局剪枝问题转化为多个可管理的子问题,实现资源高效的优化并保证全局最优性。实验表明,SparseLLM在高稀疏性条件下显著提高了模型的准确性和计算效率,适用于资源受限的环境。论文链接:https://arxiv.org/abs/2402.17946
364 3
|
机器学习/深度学习 人工智能 搜索推荐
深度学习在医疗影像诊断中的应用与前景####
本文深入探讨了深度学习技术在医疗影像诊断领域的应用现状、面临的挑战以及未来发展趋势。通过分析卷积神经网络(CNN)等深度学习模型在处理复杂医学图像时的优势,结合具体案例,如癌症早期检测、疾病分类及分割等方面取得的显著成果,展示了深度学习如何革新传统医疗影像分析方法。同时,文章也指出了数据隐私保护、模型解释性不足、临床集成难度大等问题,并展望了联邦学习、可解释AI、多模态融合等技术在解决这些问题上的潜力,为推动深度学习在医疗健康领域的更广泛应用提供了思路。 ####
800 0
|
机器学习/深度学习 数据采集 人工智能
AI在医疗:深度学习在医学影像诊断中的最新进展
【10月更文挑战第26天】近年来,深度学习技术在医学影像诊断中的应用日益广泛,通过训练大量医学影像数据,实现对疾病的准确诊断。例如,卷积神经网络(CNN)已成功用于识别肺癌、乳腺癌等疾病。深度学习不仅提高了诊断准确性,还缩短了诊断时间,提升了患者体验。然而,数据隐私、数据共享和算法透明性等问题仍需解决。未来,AI将在医学影像诊断中发挥更大作用,成为医生的得力助手。
830 0
|
编解码 安全 Linux
基于arm64架构国产操作系统|Linux下的RTMP|RTSP低延时直播播放器开发探究
这段内容讲述了国产操作系统背景下,大牛直播SDK针对国产操作系统与Linux平台发布的RTMP/RTSP直播播放SDK。此SDK支持arm64架构,基于X协议输出视频,采用PulseAudio和Alsa Lib处理音频,具备实时静音、快照、缓冲时间设定等功能,并支持H.265编码格式。此外,提供了示例代码展示如何实现多实例播放器的创建与管理,包括窗口布局调整、事件监听、视频分辨率变化和实时快照回调等关键功能。这一技术实现有助于提高直播服务的稳定性和响应速度,适应国产操作系统在各行业中的应用需求。
470 3
|
域名解析 缓存 Kubernetes
k8s教程(service篇)-Node本地DNS缓存
k8s教程(service篇)-Node本地DNS缓存
1009 0
k8s教程(service篇)-Node本地DNS缓存
|
机器学习/深度学习 编解码 自然语言处理
LRP-QViT完美而来 | 输出层分配相关性+剪切通道让Swin Transformer量化后居然涨1.5个点
LRP-QViT完美而来 | 输出层分配相关性+剪切通道让Swin Transformer量化后居然涨1.5个点
613 0
|
存储 前端开发
canvas自定义绘制顺序解决遮挡问题
canvas自定义绘制顺序解决遮挡问题
624 0