高效视觉Transformer的综述:算法,技术和性能基准

23年9月来自悉尼大学的综述论文“A survey on efficient vision transformers: algorithms, techniques, and performance benchmarking“。

视觉Transformer(ViT)架构正变得越来越流行,并被广泛用于处理计算机视觉应用。它们的主要特征是通过自注意机制提取全局信息的能力,优于早期的卷积神经网络。然而,ViT的部署和性能随着其规模、可训练参数量和操作而稳步增长。此外,自注意的计算和内存成本,随图像分辨率的二次方增加。一般来说,由于许多硬件和环境限制,如处理和计算能力,在现实世界的应用中使用这些架构是具有挑战性的。因此,本综述调查了确保次优估计性能的最高效方法。更详细地说,分析四个有效类:紧凑架构、修剪、知识蒸馏和量化策略。此外,还引入了一种称为“高效错误率(Efficient Error Rate)”的新度量,规范和比较在推理时影响硬件设备的模型特征,如参数量、比特数、FLOPs和模型大小。总之,本文首先从数学上定义了使视觉Transformer高效的策略,描述和讨论了最先进的方法,并分析了它们在不同应用场景下的性能。最后,还讨论了开放的挑战和有前景的研究方向。

本文划分ViT架构为四个类别,采用如下的方法论:
紧凑架构(CA)-分析专门为降低自注意的计算成本而开发的解决方案,保证ViT对输入特征的全局理解,同时降低(通常是注意线性化)此类架构的计算成本。
修剪(P)-重点关注旨在减少神经元数量和ViT模型连接的策略,保持高精度,同时避免模型过度参数化和减少计算运算(乘法)的数量。
知识蒸馏(KD)-分析学习的策略,旨在通过共享和压缩深层模型(教师)的知识来提高浅层模型(学生)的性能。
量化(Q)-旨在减少ViT权重和激活函数的数据类型(从浮点到整数)和精度(从32位到较低比特率),获得轻量级和高效内存模型的技术。

Transformer结构的第一个关键元素是创建补丁嵌入(patch embedding);为了获得它,通常对输入特征图进行如下处理:首先,将输入图像x划分为N个块。类似于NLP任务中的单词序列,补丁是包含输入图像一部分(即输入数据的子集)的像素矩阵。然后对每个补丁进行平坦化,获得n个实体的序列,并与可训练嵌入张量相乘,其学习将每个平坦补丁线性投影到维度d;这造成n个形状为1×d的嵌入块,通常表示为N。随后,将可训练的位置嵌入添加到投影序列中,以便添加图像空间内每个块的空间表示,整体输出嵌入定义为z。

给定补丁嵌入序列zn,自注意机制学习如何将一个token(ti)与其他 token(tj with j!= i and i,j∈d)收集到序列中。该解决方案导致从输入特征中提取全局信息,这改进了卷积运算的固定感受野。通常,Transformer结构是基于多头注意(MSA)机制,该机制由几个并行运行的单个自注意层组成;如图就是自注意块和多头自注意块的概述。

添加图片注释,不超过 140 字(可选)

自注意模块可以在数学上定义如下。给定一个输入向量,此操作首先计算三个矩阵:分别为大小相等的Q、K和V(dq=dk=dv)。随后,该操作将获得的分数转换为概率,计算softmax函数。因此,原始自注意[57],也称为softmax点积自注意运算,用注意矩阵A定义。矩阵A聚合来自完整输入序列的全局信息来更新序列的每个分量。

然而,从计算复杂性方面来看,该操作的时间和存储成本随着图像内的补丁数量n二次增加(即O(n^2))。这一成本是由于两个点积运算(如上图中的MatMul所示),

添加图片注释,不超过 140 字(可选)

括号内计算量取O(n2dk),而softmax概率和V之间的第二个运算取O(n2dv)。最后,将自注意模块连接到MSA中,以便同时从不同区域提取信息。

最后,为了获得输出概率,MSA模块的输入和输出被归一化(Norm),并传递到前馈网络(FNN)中,该前馈网络由两个前馈层加一个交织的非线性激活函数(通常是GeLU)所组成。然后,将Transformer模块的输入特征定义为X,可以公式化模型输出Xout

添加图片注释,不超过 140 字(可选)

剪枝的算法如下:

添加图片注释,不超过 140 字(可选)

剪枝技术通常侧重于三组研究:(1)结构和非结构方法,即专注于整个权重集或特定权重集的策略。(2) 分数计算,这是计算剪枝向量和识别可修剪网络权重数量的可能方法。(3) 训练阶段,侧重于在训练阶段采用的训练剪枝(或微调)策略。

如图是原始知识蒸馏(KD)的学习策略框架图:

添加图片注释,不超过 140 字(可选)

如图是通用量化过程的图表示,把浮点32位数据基于量化函数Ψk(x,∆)压缩为k位表示。

添加图片注释,不超过 140 字(可选)

如图是高效ViT技术及其优化效果的图表示。VIT构建的基本元素显示在顶部,其中橙色虚线块突出显示了每种优化技术主要关注的组件。一个关于优化是如何影响感兴趣块的图描述,也提供在底部。

添加图片注释,不超过 140 字(可选)

下表是所有分析的高效视觉Transformer模型总结。根据分类来组织模式,即紧凑架构设计(CA)、修剪方法(P)、知识蒸馏(KD)和量化(Q)。还强调那些将不同策略相结合(+)的方法。

添加图片注释,不超过 140 字(可选)

下表是ImageNet1K分类数据集上紧凑架构设计(CA)模型的定量比较。最佳结果以粗体显示,最佳(权衡)效率模型以灰色突出显示。

添加图片注释,不超过 140 字(可选)

如表是紧凑架构设计(CA)模型在COCO(val2017)目标检测和实例分割数据集上的定量比较。

添加图片注释,不超过 140 字(可选)

如表是ADE20K语义分割数据集上紧凑架构设计(CA)模型的定量比较。

添加图片注释,不超过 140 字(可选)

下表是ImageNet1K分类数据集上剪枝(P)模型的定量比较。FLOP*值表示非零运算的数量。

添加图片注释,不超过 140 字(可选)

知识蒸馏KD的性能比较如下图。
请添加图片描述

量化Q的性能比较如下图。
请添加图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值