• 【论文笔记_知识蒸馏_2021】PANets: Learning from the Universal Pixel Attention Networks


    PANets:向通用像素注意力网络学习
    请添加图片描述

    摘要

    图像分类中,skip和基于密集连接的网络占据了大多数排行榜。最近,从多头注意力在自然语言处理中的成功发展来看,可以肯定,现在是一个要么使用类似变压器的模型,要么使用具有注意力的混合细胞神经网络的时代。然而,前者需要巨大的资源来培养,而后者在这个方向上处于完美的平衡。在这项工作中,为了使细胞神经网络处理全局和局部信息,我们提出了UPANets,它用一种混合跳过密集连接结构来装备通道式注意力。此外,极端连接结构使UPANets具有更平滑的损耗前景。在实验中,UPANets在Cifar-10中的准确率为96.47%,在Cifar-100中的准确率为80.29%,在Tiny Imagenet中的准确率为67.67%。最重要的是,这些性能具有很高的参数效率,并且只在一个基于客户的GPU中训练。我们在https://github.com/hanktseng131415go/UPANets.共享UPANets的实现代码

    1.介绍

    十年来,计算机视觉领域经历了一系列趋势。除了基本的机器学习方法[1]和深度全连接卷积神经网络[2]之外,Imagnet竞赛中[3-5] [6] [7]模型的引入繁荣了图像分类。各种基于CNN具有残差的模型,也称为跳跃连接,网络[8-15]已经征服了Cifar-10、Cifar-100和Imagenet。虽然一些讨论和工作,如[17],提到如果CNN是深层结构,卷积层可以捕获局部特征和全局轮廓,但[18]的作者认为捕获全局模式的职责是由注意机制贡献的。还有,因为[18]开启了一条从Transformer到图像分类应用纯多头注意力的路径,所以一些作品,比如[19,20],开始在计算机视觉中应用纯注意力。不仅仅是计算机视觉,[21]还利用了稀疏注意力机制来提高时间序列预测的效率。因此,如今“注意”的用法在许多领域都很流行

    然而,我们也注意到,大多数基于注意力的方法需要具有大容量专用CUDA内存的强大GPU,因为生成查询、键和值至少需要比简单使用一个多层感知器多三倍的资源。如果我们面对的是高分辨率、多通道的计算机视觉,所需资源是前所未有的。
    请添加图片描述
    图一。通道像素注意过程和示例。顶部的图像是来自Cifar-10的原始采样图像。中间一行的特征图是CPA之前CNN的输出。最下面一行是来自CPA的样本。红色方块是相同位置的每个橙色方块像素的加权像素和。

    在这方面,我们希望赋予已经优秀和高效的基于CNN的网络以可学习的参数和比多头注意力更少的资源来捕捉全局信息,因此我们提出了通道式像素注意力CPA来进行全局模式学习,如图1所示。此外,随着残差神经网络在图像分类中大放异彩,densely connection CNN[22]也占据了前面提到的众所周知的图像数据集排行榜。根据[16]中的观察,我们通过提出另一种类似于双路径网络[23]的混合跳密连接结构来提高性能。通过将所提出的方法集成到网络中,我们的UPANets可以用CNN和CPA额外处理通用像素,通过密集连接重用特征图,通过跳跃连接进行剩余学习,并通过极端连接创建朝向空间像素注意的平滑学习景观。

    我们首先讨论了图像分类的基本背景和当前趋势。这部作品中的引言。这里还列出了提出的方法所带来的贡献。然后,在II中。RELTEDWORK,众所周知的和至关重要的观察图像分类和这项工作提到了一个关键的分析。然后提出了一系列的方法和关于UPANets的结构。UPANets。此外,在众所周知的数据集上比较每种方法的性能可以在IV中看到。实验和五、结论。最后,附录中是关于UPANets实验的额外发现。这项工作的主要贡献是:
    1.引导像素注意力,这有助于形成复杂的特征,即使在浅的深度和较少的参数
    2.空间像素注意力,有助于学习空间信息
    3.混合跳跃式密集连接,这使得CNN可以使用深层结构重用功能
    4.极端连接,可以产生平滑的损失景观
    5.竞争性图像分类模型超越了Cifar-10、Cifar-100和Tiny Imagenet中广为人知且广泛使用的SOTAs。

    2.相关工作

    自从ResNets [6]的skip连接引入以来,我们已经见证了计算机视觉朝着创建平滑损失景观的方向激增。跳跃连接为深度学习实现dee的真正含义提供了一个很好的途径。最重要的是,它可以防止过度拟合。损失景观的可视化[16]已经证明了为什么简单地应用跳跃连接可以提高准确性的原因之一。此外,DenseNets [22]还展示了连接原始信息和输出信息的另一种方法。[16]还表明,使用密集连接比ResNets更能使损失情况更加平滑。接下来,双路径网络[23]结合了添加残差作为ResNets和继承输入信息作为DenseNets的优点。不仅如此,深层聚合模型[24]同样使用密集连接来构建基于树的结构,以融合图像和图像检测。在创建平滑损失景观的发展过程中,SAM [25]表明,将每个梯度参数除以L2范数进行更新将创建通向可能最优的平滑路径。然后,SAM在第一步中恢复更新的grad,以便模型可以学习如何遵循相同的路径来避免恶劣的地形。最后,在第二步中用原始梯度更新参数。通过这种操作,SAM构建了一系列残余网络或密集连接网络,如EffNet-L2 [26]和PyramidNet [27],以获得Imagenet、Cifar-10和Cifar-100分类基准中的一流性能。

    利用计算机视觉中的注意机制也是一种规范。我们观察到CBAM [28]使用最大汇集和平均汇集,让卷积捕捉不同角度的信息,以应用汇集方法。在利用平均池中,SENets [7]使用全局平均池将空间信息压缩为一个值,然后它使用一个带有ReLU的简单多层感知器和另一个带有Softmax的MLP层来引起频道注意。通过嵌入SENet的特性,该工作显示了在VGG [3]、Inception Net [4,5]和ResNeXt [29]中在卷积层之后嵌入阿瑟块的改进。之后,EfficientNet [26]提出了一个通用公式来帮助建立一个体面的基于CNN的结构,并利用类似的SENets,但Swish [30]在当时获得了最先进的性能。另一方面,自然语言处理也有了成功的发展并受到关注,特别是Transformer的引入[31]。此外,ViT [18] arbitrary在Transformer中使用了相同的多头注意力来对Imagenet-1k图片进行分类。在DeiT-B [32]中也可以看到相同的概念,它使用注意力来转移图像分类的预训练参数。在BiT [8]的工作中,我们还可以看到,从大规模模型中传递参数已经成为计算机视觉或自然语言处理的另一种趋势。

    除了EfficientNet和PyramidNet在寻找通用卷积结构公式时,Wide ResNet [33]揭示了扩展CNN层的宽度可以提供高效的性能,同时提高性能。比较块中两层或三层内核大小的不同组合,两层在他们的实验中给出了稳健的性能。此外,堆叠批量归一化、激活函数和卷积的顺序是CNN中的一个重要元素。PreAct ResNet [34]已经证明,在大多数情况下,在卷积执行得相对较好之前,先进行批量归一化和激活。此外,在大型CNN中,应用瓶颈块是一种流行的方法。Res2net [35]提出了一种不同类型的瓶颈来提高对象3的检测性能。利用细胞神经网络中的瓶颈结构,图像模型可以减少参数并保持深层结构。出于同样的想法,ShuffleNets [36]和Shufflenets v2 [37]在分组卷积层之后使用信道混洗操作,以保持与原始CNN相同的性能。

    批判性分析
    通过ResNets和DenseNets,skip和DenseNets在构建计算机视觉领域的深层结构中起着重要的作用。注意力机制也已经成为一种趋势。然而,像ViT那样应用多头注意力对于使注意力全局化是低效的。CNN中内核的组合也是一个至关重要的方面。从广域网络中学习,广域细胞神经网络可以受益更多,所以我们设计了一个与广域网络中的基本块相似的结构,但在广域版本中。最后,我们对ShuffleNets v1和v2的效率感到惊讶,与ResNets相比,它们使用的参数相对较少,但它们仍然尽可能地保持了性能。尽管如此,由于在反向传播过程中混洗操作可能会弄乱存储位置,因此通过分组CNN和重建相应的梯度方向来抵消计算中节省的时间。

    3.UPANets

    本节列出了建议的方法。首先给出了通道级和像素级的注意方法。然后,在关注之后显示UPA块。结合UPA块中的跳过和密集连接,UPA层的解释显示了它们如何在UPANets中一起工作。在提出极端连接方法后,给出了UPANets的结构。

    通道像素注意力
    卷积核擅长捕捉核中具有学习权重的局部信息。虽然卷积神经网络可以通过堆叠足够深的层来形成复杂的模式,因此它使较低的隐藏层处理局部信息,而较深的隐藏层捕获全局模式,但该过程不是直接的。尽管如此,使用从通道到通道学习基本像素宽度的网络可能会带来积极的影响,并帮助CNN直接考虑全局信息。因此,我们提出通道像素注意(CPA ),它应用一层多层感知器(MLPs)来注意通道之间相同位置的像素。该方法可以表示为:
    请添加图片描述
    其中,c表示通道数,X∈RNxCxWxR,xRC∈RNxCxWxR,它被重整为与WTC的点积。WTC∈RNxCxC。在通过一层MLP关注像素之后,应用批量归一化和具有剩余连接的层归一化。CPA的工作流程如图2所示。此外,带有演示的示例特性图如图7所示。
    请添加图片描述
    图二。通道像素注意结构分为一级和二级。在橙色区域,CPA可以通过avgpool2d进行逐通道像素注意和下采样图像。

    在图1中的CPA示例中,从CPA输出的特征映射结合了原始特征本身和来自其他特征的有用信息。这些组合特征表明CPA可以帮助一个特征图融合一个更复杂的特征图而不丢失原始特征。与深层结构相比,CPA有助于浅层网络更容易形成复杂的模式。

    空间像素注意
    全局平均池广泛应用于图像分类模型中。我们同意,在最终隐藏层之前应用全局平均池可以很容易地帮助模型通过权衡特征图的代表值来了解哪个通道对准确性至关重要。最重要的是,这个操作不需要额外的计算资源。然而,我们想知道一个可学习的全局池方法是否能提高性能。为了通过空间方向上的重要信息来提高准确性,我们提出了空间像素注意SPA,它使用单层感知器。该方法可以定义为以下公式:
    请添加图片描述
    其中,c表示通道数,X∈RNxCx1,xRC∈RNxCxL,L=WxH,WTc∈RNxLx1

    请添加图片描述
    图3。空间像素注意力。为了演示,我们拿一个2 × 2特征映射,在(a)中,以c = 8为例。然后,从(a)到(b)的过程是对卷积图像进行整形。(b)到©应用空间像素注意,这与全局平均池的概念相同。

    在图3中,从(b)到©的过程由一个带偏置的全连接神经网络实现。通过对一个可学习的矩阵进行加权,SPA可以决定对基本像素给予多少关注,然后通过点积将整个像素压缩为一个像素,而不是任意地与平均值合并。在分类Cifar-10和Cifar-100时,每幅图像的维数为32 × 32,每个特征图的最大添加参数为1024,没有偏差。

    具有3×3核的倒三角形CNN层
    在卷积中增加宽度是另一个有助于提高性能的方向。此外,在大多数图像分类中,两个3 × 3卷积的组合在实验上是鲁棒的。在UPANets中,每一层CNN都使用两倍的3 × 3核通道。因此,该形状可以被视为倒三角形。

    UPA块
    UPA块遵循Wide ResNet中的发现,该发现表明两个3 × 3卷积层的组合可以提供最鲁棒的精度。卷积、批量归一化和激活函数的顺序遵循CNN的典型结构。同时,CPA是并行应用的,因此CPA输入与CNN相同。然后,简单地将两个输出相加,然后进行层标准化。该结构可以在图4中看到。
    请添加图片描述
    图4。UPA在第一步和第二步中阻断结构。

    从图4中可以看出,步幅1和步幅2版本之间的差异是否适用于连接操作。操作是密集连接。另一方面,在CPA中使用剩余连接来确定是输出当前学习的信息还是来自上一个块的信息。最后,采用2 × 2核平均池进行下采样;请参考图2。由图4可知,CPA可以作为SENets嵌入每个基于CNN的模型[7]。

    UPA层
    在DenseNets中,重用特征已被证明具有一系列好处,包括减少参数、加快计算过程和形成复杂的特征图。这项工作使用密集连接,但我们将其修改为不同的UPA块结构,如图5所示。

    请添加图片描述
    图5。UPA层具有密集连接。在UPA块0中,一步两个UPA块使用剩余连接2 × 2使用内核平均池。

    连接过程保留根信息,直到最后一个步幅上升一个块。在跨距UPA块中,应用2 × 2平均池意味着没有跨距2卷积进行下采样。除了每层中块0中的步长2操作之外,每个块都跟随步长1操作。尽管如此,一个块的每个步幅的宽度小于其输入形状,这可以被称为以下等式:
    请添加图片描述
    其中b= 1 ⋯ n,Wl表示增加该层宽度的总和,wb表示该块的输出宽度,w0等于最后一层宽度的两倍,因为原始输入被保留,并且处理后的信息被附加在后面。例如,如果层1的宽度被设置为16,则由于密集连接,层1的输出宽度将是32。因此,层2中的块0宽度是32,w0= 32。然后,当层2中的块的数量是4,b = 4时,每个块中的宽度是8,因为w0= 32并且32/4 = 8。在这种情况下,从该层的该块输出的宽度将是40。

    表1…

    极端连通性
    自从ResNet引入以来,在深度神经网络中应用跳跃连接已经成为一种规范。此外,DenseNets中的密集连接显示了一种不同但比以前更有效的方式来连接密集信息。从使用跳跃连接的情况来看,表面更平滑,因此这种情况增加了达到更好的最优值的机会,同时降低了过度拟合的风险。基于这种观察,为了创造一个更加平滑的损失景观,我们引入了极端连接;我们将在下面的整个模型讨论中使用exc。它仅应用于每个块和最后一个隐藏层之间。图6采用具有SPA、全局平均池和GAP的exc。该操作可以表示为:
    请添加图片描述
    其中X∈ ℝNxC,这是来自平坦级联F的输出。N是数据数量,C代表通道数量。b就是网络中的块。与在最终完全连接层之前应用全局平均池的常见图像神经网络不同,我们添加了结合SPA和GAP的操作,如图6所示:
    请添加图片描述
    图6。极端连接结构。

    在图6中,exc建立了从最终隐藏层到每个块的输出的关系。GAP服务于确定哪个卷积对标签起重要作用的位置。SPA决定了哪个像素应该被更多地关注到类中。通过将这两种操作与层标准化相结合,可以将两侧的信息缩放到相同的级别来学习。

    UPANets结构
    表1参考了UPA层中的叙述,详细介绍了Cifar-10中的尺寸、宽度和建议注意事项。在每个UPA块中应用所提出的CPA。此外,exc被用在每个UPA层中,具有提议的SPA和GPA。

    4.实验

    5.结论

    我们提出了一种新的像素注意操作CPA,它可以捕捉全局信息,并提供与shuffle网络相同的深度和更好的准确性。通过引入可学习的全局平均池、SPA和极端连接,平滑损失景观可以提高达到最小值的机会。将提出的方法集成到UPANets中,并与Cifar10、Cifar-100和Tiny Imagenet中的一系列sota进行比较,UPANets超过了大多数sota,并可以在图像分类中提供有竞争力的性能。这些证据表明,用提出的注意方法学习通用像素可以深刻地提高计算机视觉能力。

  • 相关阅读:
    JavaScript模块化:提高代码可维护性和可重用性的利器
    【Computer Composition】Part1 计算机系统概述
    第3章 Kafka架构深入
    【Flink】设置了watermark,没有使用watermark触发窗口计算
    STM32实战总结:HAL之数码管
    docker 增加cpu线程数
    通过Power Platform自定义D365 CE 业务需求 - 3. 使用Microsoft Power应用程序
    【手撕STL】bitset(位图)、布隆过滤器
    关于代码混淆,看这篇就够了
    WebDAV之葫芦儿·派盘+天悦日记
  • 原文地址:https://blog.csdn.net/qq_45128278/article/details/125423084