来自东北大学和Snap的CVPR‘23论文“Rethinking Vision Transformers for MobileNet Size and Speed“。
这项工作研究了一个核心问题,即Transformer模型能否像MobileNet一样快速运行并保持类似的大小?作者重新审视ViTs的设计选择,并提出了一种具有低延迟和高参数效率的supernet。作者进一步为Transformer模型引入了一种新的细粒度联合搜索策略,该策略可以通过同时优化延迟和参数量来找到有效的架构。在具有类似的延迟和参数情况下,所提出的模型EfficientFormer V2在ImageNet-1K上的精度比MobileNet V2的top-1高3.5%。这项工作表明,即使在MobileNet级别的大小和速度下,经过适当设计和优化的视觉Transformer也可以实现高性能。
如图显示的是EfficientFormer V2达到了模型小规模和快速推理情况下的高性能。
结合局部信息可以提高性能,并使ViT在没有显式的位置嵌入情况下更具鲁棒性[6]。PoolFormer[83]和EfficientFormer[45]使用3×3平均池化层作为本地token混合器。用相同内核大小的深度卷积(DWCONV)替换这些层不会引入延迟开销,而在可忽略的额外参数(0.02M)下,性能提高了0.6%。此外,最近的工作[23,6]表明,在ViTs中的前馈网络(FFN)中注入局部信息建模层也有利于以较小的开销提高性能。值得注意的是,通过在FFN中放置额外的深度3×3卷积来捕获局部信息,原局部混合器(池化或卷积)的功能是重复的。
基于这些观察结果,作者移除显式残差连接的局部token混合器,并将逐深度3×3 CONV移动到FFN中,获得带局部性的统一FFN。这样,将统一的FFN应用于网络的所有阶段。这种设计修改将网络架构简化为仅两种类型的块(局部FFN和全局注意),并在参数开销较小(0.1M)和相同的延迟下将准确率提高到80.3%(如下表各种设计的比较,在iPhone12运行,ImageNet-1K数据集做评估)。更重要的是,这种修改允许直接搜索具有确切模块数量的网络深度,提取局部和全局信息,尤其是在网络的后期阶段。
通过统一FFN和残差连接token混合器删除,作者可以检查EfficientFormer的搜索空间是否仍然足够,特别是在深度方面。改变网络深度(每个阶段的块数)和宽度(通道数),发现网络越深越窄,精度越高(提高0.2%),参数越少(减少0.13M),延迟越低(加速0.1ms),如上表所示。
此外,具有进一步缩小空间分辨率(1/64)的5-步模型已被广泛应用于efficientViT中[24,13,48]。为了证明是否应该从5-步supernet中进行搜索,作者在当前基线网络中添加了额外一步,并验证了性能增益和开销。值得注意的是,尽管考虑到小的特征分辨率,计算开销不是一个问题,但额外的一步是参数密集型的。因此,需要缩小网络维度(深度或宽度),将参数和延迟与基线模型对齐,以便进行公平比较。如上表所示,尽管节省了MAC(0.12G),但随着参数(0.39M)和延迟开销(0.2ms)的增加,5-步模型的最佳性能出人意料地降至80.31%。第5步计算效率高,但参数密集。考虑到5-步网络在规模和速度范围内无法引入更多潜力,作者则坚持4-步网络设计。
作者研究在不增加模型大小和延迟额外开销的情况下提高注意模块性能。主要研究了MHSA的两种方法。首先,通过添加逐深度3×3CONV将局部信息注入Value矩阵(V),[23,66]也采用了这一方法。其次,通过在头维度[65]上添加全连接层来实现注意头之间的通信。通过这些修改,与基线模型相比,在参数和延迟相似的情况下,性能可以进一步提高到80.8%。
注意机制有利于性能提高。然而,将其应用于高分辨率特征会损害移动设备效率,因为它具有与空间分辨率相对应的二次时间复杂度。作者研究将MHSA有效应用于更高分辨率(早期阶段)的策略。当前基线网络中,MHSA仅在输入图像的1/32空间分辨率的最后一步使用。作者将额外的MHSA应用于具有1/16特征大小的倒数第二步,并观察到0.9%的准确度增益。不好的地方是,推理速度下降了近2.7倍。因此,有必要适当降低注意模块的复杂性。
尽管一些工作提出了基于窗的注意[50,19]或下采样K和V[42]来缓解这一问题,但不是最适合移动部署的选项。由于复杂的窗分割和重新排序,基于窗的注意很难在移动设备上加速。
因此,为了在网络的早期阶段执行MHSA,将所有Query、Key和Value下采样到固定的空间分辨率(1/32),并将注意输出插值回原始分辨率,馈送到下一层。这种方法称为“跨步注意(Stride Attention)”。如上表所示,这种简单的近似将延迟从3.5ms显著降低到1.5ms,并保持了具有竞争力的准确性(81.5%对81.7%)。
大多数视觉主干利用跨步卷积或池化层来执行静态和局部下采样,并形成分层结构。最近的一些方法开始探索注意下采样。例如,LeViT[24]和UniNet[48]提出通过注意机制将特征分辨率减半,实现全局感受野的上下文感知下采样。具体而言,Query中的tokens数量减少了一半,从而对注意模块的输出进行了下采样。
然而,决定如何减少Query中的token数量不重要。Graham【24】根据经验使用池化对查询进行下采样,而Liu【48】建议寻找局部或全局方法。为了在移动设备上实现可接受的推理速度,将注意下采样应用于高分辨率的早期阶段是不利的,这限制了这些更高分辨率下寻找不同下采样方法的现有工作价值。
相反,作者提出一种组合策略,即双-路径注意下采样,它同时利用局部和全局依赖性。为了获得下采样查询,用池化作为静态局部下采样,用3×3 DWCONV作为可学习的局部下采样,并将结果组合和投影到Query维度中。此外,这个注意下采样模块,残差连接到规则的跨步CONV,形成局部-全局方式,类似于下采样瓶颈[30]或反向瓶颈[64]。如上表所示,在稍微增加参数和延迟开销的情况下,用双路径注意下采样将准确率进一步提高到81.8%,这也比仅使用注意模块进行二次采样(即注意下采样)具有更好的性能。
如图是EfficientFormer V2的网络架构。考虑了三个指标,即模型性能、大小和推理速度,并研究了在不伤害其他指标的情况下改进任何指标的模型。(a) 作为基线模型的EfficientFormer[45]网络。(b) 统一FFN。(c)MHSA改进。(d)&(e)更高分辨率的注意。(f)双-路径注意下采样。
为了找到最适合移动部署的视觉主干,作者建议联合优化模型大小和速度。此外,网络设计最好是更深入的网络架构和更多的注意,这需要改进搜索空间和算法。
如图是基于评估的网络大小和速度搜索算法: