HiLoAttention:从频率角度结合深度网络学习(一)

在这里插入图片描述
单位:蒙纳士大学(澳大利亚)
ArXiV:https://arxiv.org/abs/2205.13213 (待开源)


导读:

深度学习,将CNN可学习的地方用Transformer内卷学习了一遍,比如又回到频率的观点。我们都知道CNN局部建模能力强大,Transformer全局建模能力强大。从频率的角度来看,高频信息对应着细节信息如纹理、边缘,低频信息对应着整体结构。本文将标准的多头注意力分成两个路径来分别建立高低频的信息,具有启发性。还有干货(涨点Trick)…


摘要

视觉Transformer即ViT,引发了计算机视觉中的最新重大突破。他们高效的设计,主要受到计算复杂度FLOPs的间接度量,但与吞吐量(处理帧率)等直接度量存在明显差距。因此,我们提出在目标平台上直接使用速度估计作为ViTs是否高效的设计原则。特别地,我们介绍一个简单高效的ViT,它与当前最领先的方法,在不同大小的模型谱上表现出色。该模型采用一个新颖的自注意力模块,即HiLo。HiLo出现,启发于这样一个事实:图像中的高频分量获取局部的细节,而低频分量关注全局结构,而多头注意力忽略了不同频率的特性。因此,我们尝试去解耦自注意力层中的高低频模式,通过将注意力头切分为两组,其中一组在局部窗口内通过自注意力去编码高频信息,另一组通过注意力去建立来自每一个窗口的平均池化后的低频键与在输入特征图上的每一个询问位置之间的全局关系。通过这两个模块的设计,证明了HiLo在FLOPs,速度和GPU显存消耗等基准上的领先性。同时,也能在下游任务如图像分裂,密集检测和分割上作为一个强有力的骨架模型。

介绍

现实应用通常需要模型在有限的运算量下达到速度和精度的优化均衡,例如UAV和自动驾驶等。这促使大量工作朝着高效的ViT去设计,例如PVT,SwinT和FocalT等。为了衡量计算复杂度,广泛采取的策略是计算浮点运算的数量,即FLOPs。但这不够直接,因为它不能直接反应在目标平台上的实际速度。例如,Focal-Tiny模型在GPU上比Swin-Tiny慢很多,但他们有着相似的FLOPs。

一般来说,采用FLOPs的间接策略与采用实际速度的直接策略之间的差异可归因于两点:1、尽管自注意力在低分辨率特征图上高效,其运算复杂度是尺度二次方,在高分辨率图像上运行更慢;2、ViT中一些高效注意力机制具有低理论的复杂度,但是在GPU上实际比较慢,因为一些特别的设计如多尺度窗口分割,Dilated窗口等对硬件不够友好或者无法并行化。

在这里插入图片描述
基于以上观察,作者提出了一种新颖的高效又精确的ViT,即LITV2,在标准集上超过了多少SOTA方法,并在GPUs上的实际运算速度更快。LITV2是在LITV1的基础上发展而来的。LITV1在早期阶段去掉了多头注意力,只在后期采用多头注意力,这样的好处是只要处理经过下采样的低分辨率特征图,取得了比很多骨架更快的速度。

标准的多头注意力(multi-head self attention,MSA)在所有图像块中采用全局注意力,而没有考虑不同底层频率的特性。这启发作者将MSA层分成上下两条路径,如图所示,在上路径中,我们分配了一些注意力头到高频注意力(High frequency, Hi-Fi)中,通过局部窗口注意力如 2 × 2 2\times2 2×2窗口去捕捉一些细颗粒度的高频分量,这比标准的MSA更加高效。在下路径中,实现了一个低频注意力(Lo-Fi),它首先采用均值池化到每一个窗口去获取低频信号。然后,将剩余的注意力头去构建输入特征图中的每一个询问位置与每一个窗口中被均值池化后的键值之间的联系。这样做还将降低远算量,从两个角度,第一,特征图被池化再去做自注意力;第二,低频注意力中KV长度也减少。

最后,将细化后的高低频特征连接到一起,作为下一层的输入。高低频处理的两条路径,没有其他消耗时间的额外操作,并取得了良好的性能。此外,LITv1中采用固定的相对位置编码在密集的预测任务上非常限制运行速度。作者在每个FFN中采用一个带有领填充的 3 × 3 3\times3 3×3 DW-CNN,以结合从零填充中隐式学习位置信号,以更好提升效率涨点trick之一)。并且,这个卷积同时有助于扩大MLP的视觉感受野。

实验

实验结果如下所示:
在这里插入图片描述
可以看到,在ImageNet-1K上取得了超过SwinT的Top1精度,并在GPU上实测速度也快不少。


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烧技湾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值