点击下方卡片,关注「集智书童」公众号
设计有效的通道注意力机制需要寻找一种允许最佳特征表示的损失压缩方法。尽管该领域最近取得了进展,但仍然是一个开放性问题。FcaNet,目前的通道注意力机制最先进,试图使用离散余弦变换(DCTs)来寻找这样的信息丰富的压缩方法。FcaNet的一个缺点是DCT频率没有自然选择的余弦频率。
为了绕过这个问题,FcaNet在ImageNet上进行实验以找到最优频率。作者认为,频率选择只起辅助作用,而DCT核的余弦正交性是注意力滤波器有效性的主要驱动力。为了测试这个假设,作者使用随机初始化的正交滤波器构建了一个注意力机制。将这个机制集成到ResNet中,作者创建了OrthoNet。作者在Birds,MS-COCO和Places356上与FcaNet(和其他注意力机制)进行了比较,并显示出优越的性能。
在ImageNet数据集上,作者的方法与当前最先进的状态相竞争或超过。作者的结果表明,最优滤波器的选择是无法实现的,并且可以通过足够大的正交滤波器实现泛化。作者还进一步调查了实现通道注意力的一般原则,例如它在网络中的位置和通道分组。
图1:ImageNet准确性比较。作者的方法在34层时超过了FcaNet,在50层和101层时达到了具有竞争力的结果,同时使用了10%的更少的参数并降低了计算成本。
1 引言
深度卷积神经网络已成为实现许多计算机视觉任务(如分类、分割和目标检测)的标准工具。他们的成功归功于提取与底层任务相关的特征的能力。更高质量的特征允许在决策空间获得更好的输出。因此,改进这些特征的质量已成为机器学习社区的一个感兴趣的领域。在本论文中,作者研究通道注意力机制。
通道注意力机制是网络中的一个模块。每个模块输入一个具有个通道的特征,输出一个具有维度的注意力向量,其分量在之间。通过将这些输出与输入特征向量相乘,特征被调整以解决底层任务。
第一个通道注意力机制由SENet引入,它使用全局平均池化(GAP)将每个特征通道的空间维度压缩为单个标量。为了计算注意力向量,压缩表示经过多层感知机(MLP)和然后经过一个sigmoid函数。压缩阶段被称为挤压。正如在[23]中指出的,SENet的主要弱点是使用单一方法(即GAP)压缩每个通道。这个弱点被FcaNet所消除。他们认为GAP正在丢弃重要的低频信息,而在频率域中通过使用离散余弦变换(DCTs)一般化通道注意力,将获得更多的信息。这样做显著改进了通道注意力。基于强大的结果,FcaNet选择了要使用的离散余弦变换(DCTs),从而成为最先进的(SOTA)通道注意力机制。
作者假设FcaNet的成功与低频光谱信息的关系较少,实际上,是由于DCT压缩映射的正交性质。
为了测试这个假设,作者构建了一个使用随机正交滤波器压缩每个特征的空间信息的通道注意力机制。使用作者的注意力机制,作者生成了在目标检测和图像分割任务上超过FcaNet的网络。
与最先进的方法相比,作者的方法在ImageNet数据集上实现了具有竞争力的或优越的结果,并在Birds和Places365数据集上实现了注意力机制的最优性能。作者还进一步调查了实现通道注意力的其他一般原则。本工作的主要贡献如下:
- 提出了一种在努力使用正交滤波器提取更多信息的同时多样化通道压缩方法,并称之为OrthoNet。通过评估OrthoNet,作者证明了优质通道注意力的一个关键特性是滤波器多样性。
- 提出将通道注意力模块移动到ResNet-50和101瓶颈块的位置。作者的位置减少了模块使用的参数数量,并提高了网络的整体性能。
- 在Birds,Places365,MS-COCO和ImageNet数据集上运行许多实验,证明了OrthoNet是最先进的通道注意力机制。
2 相关工作
2.1 深度卷积神经网络(DCNNs)
LeNet和AlexNet是快速GPU实现CNN的新时代的起点。从那时起,研究人员开始探索在保持计算效率的同时添加更多卷积层的可能性。为了提高GPU的利用率,基于Hebbian原则和多尺度处理的直觉的GoogLeNet被提出。不久之后,VGGNet被引入并获得了ImageNet Challenge 2014的第一和第二名。他们的研究开始了一个趋势,即深化网络以实现更高的准确性。结果,网络参数的数量增加了,导致在优化过程中遇到困难。
为了克服这个挑战,ResNet明确将层定义为学习残差函数,这使得网络更容易优化。不久之后,许多ResNet变体被引入来增强它并克服了像消失梯度和参数冗余等问题。
2.2 在DCNN中的视觉注意力
根据人类行为中的关注概念,视觉注意力旨在突出图像的重要部分。文献表明,这些重要部分之所以被选择,是因为它们对于区分特定图像与其他图像至关重要。当前视觉注意力的研究旨在利用这些属性。高速公路网络引入了一种基本但有效的关注机制,以促进深度神经网络中信息的流动。”变换门”可以被视为一种注意力类型。基于ResNet后端,SENet然后提出了通道注意力,使用了挤压和增强架构,标志着旨在改进通道注意力过程的研究浪潮的开始。
DANet将位置注意力模块与通道注意力相结合,以模拟长期上下文依赖关系。NLNet 将每个查询位置的特定全局上下文聚合到注意力模块中的每个查询位置。在NLNet和SENet的基础上,GCNet 提出了GC-块,旨在捕捉通道交互和相互依赖关系,同时保持全局上下文意识。Triplet注意力 探索了一个包括空间和通道注意力的架构,同时保持计算效率。CBAM 在SENet中使用全局最大池化而不是GAP作为替代。GSoPNet 引入了全局二阶池化而不是GAP,这更有效,但计算成本更高。ECANet 重塑了通道注意力架构,以捕获跨通道交互,同时避免不必要的维度降低。
FcaNet 从频域分析的角度向通道注意力添加了多光谱组件。他们解释了GAP和离散余弦变换的初始频率之间的关系,然后使用剩余频率中的一个选择来提取通道信息。最后,WaveNet 提出使用离散小波变换来提取通道信息。
2.3 视觉任务的数据集
在深度神经网络任务的成功背后,都存在一个经过精选的数据集,该数据集指导这些网络进行泛化。ImageNet 是最受欢迎的图像数据集,主要用于分类,它拥有超过1400万手工注释的图像。非常常用的子集是ImageNet-1000,它有1000个类别,130万张训练图像,和5万张验证图像。
另一个流行的数据集是MS-COCO,它包含大约118万张用于目标检测、关键点检测和全景分割的注释训练图像。它有5000张验证图像。Places365 是一个用于场景识别的数据集,它包含180万张来自365个场景类别的训练图像,和5万张验证图像。最后,Birds 是一个中等大小的相对容易分类的数据集,用于评估模型在Low-Level特征上的表现。该数据集包含450个物种,每个物种都有超过150个样本用于训练,和五个样本用于验证。
3 方法
在这个部分,作者回顾了通道注意力机制的一般公式。在这个公式中,作者简要回顾了SENet和FcaNet。在这些工作的基础上,作者介绍了作者的方法,即正交通道注意力,将在OrthoNet中实现。
图2:正交通道注意力示意图。作者的方法分为两个阶段:零阶段是随机滤波器的初始化,这些滤波器的大小与特征层的大小匹配。然后作者使用Gram-Schmidt过程使这些滤波器正交。一阶段利用这些滤波器提取压缩向量,并使用SENet提出的激发方法得到注意力向量。将注意力向量与输入特征相乘,作者计算加权输出特征并加上残差。
3.1 通道注意力
被认为是一种具有影响力的注意力机制,通道注意力最早在[11]中作为一个附加模块被提出,可以被集成到任何现有的架构中。它的目标是使用几乎可以忽略的计算成本来提高整个网络的性能。
一个_通道注意力模块_是一个计算单元,用于封装信息和突出相关特征。假设是一个特征向量,其中是通道的数量,和分别是高度和宽度。通道注意力计算一个向量,该向量突出了中最重要的通道。模块的输出是,通过计算得到:
各种研究人员已经提出了关于通道注意力的变体,以不同方式计算注意力向量。
3.2 SENet
SENet的方法被分为两个阶段:一个_挤压_阶段和一个_增强_阶段。挤压阶段可以被视为使用GAP作为损失压缩方法的以下内容:
The excite步骤将压缩描述符映射到一个通道权重集合。这是通过
其中是 sigmoid 函数,是 ReLU 激活函数, 是可学习的矩阵权重。作者可以用以下形式来表示 SENet 中的通道注意力:
3.3 频率通道注意力(FcaNet)
通道注意力机制在SENet中的一个主要弱点是只使用了单一的挤压方法:GAP。
作者们使用GAP来鼓励注意力向量中全局信息的表示。FcaNet提出了一种基于离散余弦变换(DCT)的挤压方法作为替代。对于大小为且频率分量为的图像,其DCT表示为:
其中
他们证明了 GAP 与初始 DCT 频率成正比,并证明了剩余频率需要体现在注意力向量中。他们声称那些缺失的频率包含重要信息;然而,他们没有提供理论上的解释,说明他们的选择频率是否为最优。FcaNet 的注意力向量可以通过以下方式计算:
其中
对于某些选择的自然数上的函数,FcaNet将通道维度划分为16个块,并将每个块上的设置为常数。
输入:输入特征维度:。输出:核 。
- 如果 $HW<c$,则计算 $n=”$” 地板$(c=”” (hw))$<=”” section=””>
- 初始化 为空列
- 对于 ,重复
- 初始化 个随机滤波器
- 对 执行 Gram-Schmidt 过程,以得到正交集合 ${F^{pri
- 将 添加到列表 中。
- 将列表 中的滤波器连接在一起,以得到核 。
- 否则
- 初始化 个随机滤波器
- 对 执行 Gram-Schmidt 过程,以得到正交集合 。
- 将 连接在一起,以得到核 。
算法1正交通道注意力初始化(阶段零)
3.4 正交通道注意力(OrthoNet)
作者注意到在FcaNet中使用的DCTs具有一个独特、基本、特性:它们是正交的。在本论文中利用正交性质对通道注意力进行利用。大致上首先随机选择适当维度的滤波器,即;然后应用Gram-Schmidt过程使其正交。有关初始化滤波器的详细描述请参见算法1。
定义这些滤波器为 ,作者的挤压过程可以表示为:
与其他方法一样,作者定义作者的通道注意力如下:
4 实验设置和结果
作者首先描述实验的详细信息。然后,作者在图像分类、目标检测和实例分割任务上报告作者方法的有效性。
4.1 实现细节
作者将作者提出的注意力模块添加到ResNet-34中,构建OrthoNet-34。基于ResNet-50和101,作者构建了两个版本的作者的网络,称为OrthoNet和OrthoNet-MOD。它们在ResNet块中的注意力模块位置不同。
通用规格作者采用了Nvidia APEX混合精度训练工具包和Nvidia DALI库以提高训练效率。作者的模型是基于PyTorch实现的,并且是基于FeaNet作者发布的代码。这些模型在两个Nvidia Quadro RTX 8000 GPU上进行了测试。
4.2 分类
作者使用ImageNet,Places365和Birds数据集来测试和评估作者的方法。为了判断效率,作者报告每秒浮点运算次数(FLOPs)和每秒处理帧数(FPS)。为了展示方法的有效性,作者报告了Top-1和Top-5准确率(T1,T5 acc)。作者使用与[23]中找到的数据增强和超参数设置相同。具体来说,作者应用随机水平翻转,随机裁剪和随机宽高比。得到的大小为256×256的图像。
在训练期间,SGD优化器设置为具有动量0.9,学习率0.2,权重衰减1e-4,批量大小256。所有模型使用Cosine Annealing Warm Restarts学习进度和标签平滑进行100个epoch的训练。在每个十epoch开始时,学习率按前一个学习率的10%进行缩放。这样做有助于收敛,如[23]所示。
4.3 目标检测和分割
作者使用MS-COCO训练和评估目标检测和分割任务。作者报告平均精确度(AP)指标及其许多变体。
作者使用FasterRCNN与OrthoNet-50和101进行训练,其中有一个冻结阶段和可学习批标准化。作者使用与FeaNet相同的配置,基于MMDetection工具箱。
作者使用MaskRCNN与OrthoNet-50进行训练。作者有一个冻结阶段,没有可学习的批标准化。作者使用MMDetection工具箱中描述的ResNet-50的基础配置。
训练配置作者训练12个epoch。SGD优化器设置为具有动量0.9。作者使用具有动量0.9的SGD优化器,在第一500迭代时开始使用学习率,并每50迭代增长0.001。然后,作者在第一8个epoch中将学习率设置为0.01。在第9个epoch中,学习率衰减到0.001,在第12个epoch中衰减到0.0001。作者使用这种配置对FeaNet和作者的方法进行评估。
4.4 结果
分类结果获得的ImageNet上的准确率结果如下所示。最明显的特征是使用ResNet-34作为骨干网络时,OrthoNet的优越性能。表中的结果是在进行五次试验的平均值,标准差为0.12。即使在最坏的情况下,作者也实现了74.97,与FeaNet相当。作者在ResNet-50和101上的结果都优于FeaNet-LF和FeaNet-NAS。OrthoNet-50的结果是四次试验的平均值,标准差为0.07。
在ResNet-50上获得的结果验证了作者的初步假设。如果作者考虑SENet映射到零,FeaNet映射到一,作者的方法实现了0.93。由于SENet具有最少的正交滤波器(它们都是相同的),这证明了正交滤波器的重要性。
作者认为FeaNet在ResNet-50上的轻微改进是因为他们选择在ImageNet实验中表现最佳的特定滤波器。为了测试这个假设,作者在Places365和Birds分类数据集上评估了作者的模型。结果如下所示。作者可以看到,在作者的方法上,在Birds上的FeaNet-TF实现了0.18%的改进,在Places365上的实现了0.18%的改进。这些结果表明,作者的方法可以在不同的数据集上更好地泛化。
除了在ImageNet,Places365和Birds数据集上进行测试外,作者还评估了OrthoNet在MS COCO数据集上的性能,以评估其在不同任务上的表现。作者使用OrthoNet和FPN作为Faster R-CNN和Mask R-CNN的骨干网络。
正如表VI所示,当OrthoNet-MOD-50被纳入Faster-RCNN和Mask-RCNN框架中时,性能超过了FeaNet,且计算成本降低了10%。
为了进一步测试作者的方法,作者在实例分割任务上评估OrthoNet-MOD-50。如表VIII所示,在作者的方法上,在Mask-RCNN框架的ResNet-50基本配置下,作者的方法超过了FeaNet。这些结果验证了作者的方法的有效性。
5 讨论
作者首先对OrthoNet的成功提出一种可能的解释,然后详细描述作者对架构变体的探索,并最后讨论实现和局限性。
5.1 作者的成功可能的原因
尽管FcaNet认为离散余弦变换的频率选择是成功注意机制的主要因素,但作者的结果暗示,成功注意机制的关键驱动力是不同的(正交)注意滤波器。简而言之,作者认为FcaNet的成功主要是由于DCT核的正交性。
还记得卷积神经网络本身包含内置的冗余性[10, 23, 45](即具有强烈相关通道切片的隐藏特征)。在标准的SENet中,挤压方法将从这些冗余通道中提取相同的信息。实际上,通过适当地排列SENet的可学习参数,作者可以构建另一个网络,其中唯一的不同是中间特征中通道的顺序。然而,由于存在常数、正交的挤压滤波器,这种技巧无法应用于FcaNet和OrthoNet。这种排列方法的存在暗示着SENet在事先无法为其通道赋予意义。
当滤波器正交时,它们从特征空间的正交子空间中提取信息(即)。因此,它们专注于不同的特征。由于梯度信息沿着网络反向流动,挤压滤波器前面的卷积核可以适应其独特的映射。通过这样做,网络可以提取每个特征图更丰富的表示,然后激发可以在此基础上构建。
为了进一步支持作者的想法,作者使用随机滤波器训练OrthoNet-34和50,省略了Gram-Schmidt步骤,分别得到了74.63和76.77的准确率。作者可以明显看到正交滤波器在改进两网络的验证准确率方面的效果,与随机滤波器和GAP相比(见表V)。
5.2 注意力模块位置
ResNet-50或101瓶颈块的整体结构如图3所示。为了构建OrthoNet,作者遵循标准的程序,在1×1卷积之后放置注意力模块。出于以下推理的动机,作者将这些网络中的注意力模块移动到3×3卷积之后,得到的网络是OrthoNet-MOD。
在OrthoNet-34中,注意力被放在每个块中的第二个3×3卷积上。现在让作者回顾一下ResNet 50和101的结构:这两个网络包含许多块,其中包含一个1×1卷积,然后是一个3×3卷积,再接着是一个1×1卷积(中间包含批量归一化和激活)。
由于1×1卷积只能考虑通道间关系,缺乏捕捉空间信息的能力,因此它们主要用于特征精炼和通道缩放。与激活相结合,一个1×1卷积可以被视为卷积MLP。由于3×3卷积是唯一考虑空间关系的模块,如果网络希望实现高精度,它必须提取丰富的空间信息。这些动机和OrthoNet-34的成功导致了OrthoNet-MOD的构建。
这种修改带来了许多好处。
- 首先,作者通过只创建与OrthoNet-34中相同大小的滤波器来减少了用于注意力模块的参数数量。具体参数数量可以在表V中找到。
- 其次,作者改进了标准OrthoNet的准确率。
- 第三,作者将注意力放在更有意义的卷积位置,在那里特征更富含空间信息。
5.3 正交滤波器的相互影响
作者可以将挤压方法看作是核大小等于特征空间维度的卷积,且组数为通道数 — 组大小为1的卷积。由于增加组大小允许通道间进行通信;作者可能假设这样做可以让挤压步骤提取输入特征的更丰富的表示。为了研究这种假设在OrthoNet上的效果,作者使用OrthoNet-34进行实验,并使用不同的组大小。
实验结果记录在表IX中。结果表明,组大小无关紧要;然而,由于时间和计算限制,作者只能进行一次每种实验,并且需要进行更多的实验。
5.4 微调通道注意力滤波器
在本节中,作者尝试允许正交滤波器学习并微调。作者实现了多种不同的学习方法。
- 首先,作者在恒定的正交滤波器上训练OrthoNet-34,然后在最后20个epoch中引入学习滤波器。作者称此方法为FineTuned-20。
- 其次,作者实现FineTuned-40,其中作者在每个能被五整除的epoch中以及最后20个epoch中学习滤波器 — 总共40个epoch。
- 第三,作者实现学习前30个epoch — FineTuned-30 — 然后禁用学习滤波器,并在OrthoNet-50上继续训练剩余的70个epoch。
实验表明,学习OrthoNet-MOD-50中的滤波器不会提高整体验证精度。对于OrthoNet-34,作者观察到不同学习方法之间的一致准确率。结果见表X。进一步调查训练方法以及可能包括注意力特定损失函数以实现最佳学习。
5.5 集成易用性
与SENet和FcaNet相似,作者的模块可以轻松地集成到任何现有的卷积神经网络中。SENet、FcaNet和作者方法的主要区别在于采用不同的通道压缩方法。如前所述,作者的方法可以描述为在1中显示的卷积,并可以用一行代码实现。
5.6 限制
随机滤波器有一个自然限制。在较高层,当时,无法拥有包含完整基的滤波器(即你必须从个总滤波器中选择个滤波器)。尽管作者没有观察到这种情况,但可能存在选择滤波器不好的情况。由于其不可学习性,这始终是训练过程中的一个因素。这可能导致一个失败案例。然而,在较低层,作者可以并确实创建一个完整的基础,从而在这些层中消除这个问题。
尽管作者报告了OrthoNet-34在五个试验中的平均值和在OrthoNet-50在四个试验中的平均值,但由于时间和计算能力的限制,作者只运行了其他大多数实验一次。由于运行次数有限,作者无法报告标准偏差。然而,OrthoNet在各种任务和数据集上的恒定更高准确率表明作者网络的鲁棒性。
对于MaskRCNN的目标检测和分割,作者使用了MMDetection提供的默认配置。基础配置报告的结果与它们的配置不同。由于技术困难,作者无法使用FcaNet所使用的配置。
作者还利用了FcaNet进行的实验结果(FasterRCNN和ImageNet);然而,作者是在相同的配置下进行的实验。
6 结论
在这项工作中,作者引入了SENet的一个变体,该变体利用SENet滤波器创建了一个有效的通道注意力模块,该模块可以集成到任何现有网络中。为了评估其性能,作者构建了OrthoNet并显示了在Birds,Places365和COCO上的最先进性能以及与ImageNet上的竞争或优越性能。
通过与最先进的进行比较,作者发现成功注意机制的关键驱动力是正交注意力滤波器。正交滤波器可以从任何相关特征中提取最大信息,并允许网络为每个通道赋予意义,从而产生更有效的注意力挤压。
作者的未来工作包括进一步研究可学习的正交滤波器,实现用于评估注意力机制的度量标准,以及进一步剪枝作者的注意力模块以降低计算成本并提高作者的方法准确性。作者还在寻找一个理论框架来解释通道注意力现象。
7 参考
[1].OrthoNets: Orthogonal Channel Attention Networks.
点击上方卡片,关注「集智书童」公众号