admin管理员组

文章数量:1794759

Squeeze

卷积神经网络(CNNs)在许多机器学习任务中起着重要作用。它们由不同类型的层组成: 卷积层用于检测特征, dropout 层有助于避免过度依赖任何单个神经元,而残差层允许特征的重复使用。然而,CNNs 缺乏类似人脑记忆的动态特征保留机制,限制了它们在新背景中使用学习信息的能力。 为了弥合这一差距,作者引入了“挤压与记忆”(SR)块,这是一个新颖的建筑单元,赋予了 CNNs 动态记忆般的功能。SR 块在训练过程中选择性地记忆重要特征,然后在推理过程中适当地应用这些特征。 这提高了网络在上下文信息下的预测能力。在 ImageNet 和 Cityscapes 数据集上的实证结果显示 SR 块的有效性: 将 SR 块集成到 ResNet50 中,在仅使用 dropout2d 的情况下,ImageNet 上的 top-1 验证准确性提高了 0.52%。而在 DeepLab v3 中,SR 块的应用使得 Cityscapes 中的平均 Intersection over Union 提高了 0.20%。这些改进在计算开销最小的情况下实现。 这显示了 SR 块在增强 CNNs 在图像处理任务中的能力的潜力。

I Introduction

卷积神经网络(CNNs)在机器学习领域尤其是图像处理方面实现了革命性的变革。它们的功能核心在于卷积层,这些层从图像中提取出一系列特征,以及全连接层(FC),这些层对特征进行解释以进行分类[1,2]。此外,注意力机制,例如Squeeze-and-Excitation(SE)块[3],也启发了作者提出的块的命名,进一步优化了特征处理,从而提高模型性能。

尽管它们拥有先进的性能,CNN 仍缺乏一个关键方面:类似于人类大脑的记忆机制。具体而言,编码、存储和检索信息的能力,如海马体和相关结构所展示的那样 [4]。这一差距限制了它们动态使用学习到的信息的能力。

为了弥合这一差距,作者引入了“挤压与记忆”(SR)模块,这是一个用于卷积神经网络(CNNs)的新颖架构单元。该单元在训练阶段用于存储高级特征,并在推理阶段检索这些特征。这些特征可能包括悬崖的纹理或教堂的建筑元素。在推理过程中,SR模块能够自适应地整合之前未被检测到或相关的较高层次特征到特征图上,为新输入提供动态且具有上下文感知性的增益。

图1中的SR模块开始其操作时,在输入特征图上进行1x1卷积。这一卷积有两个目的:一是为了提高计算效率,减少特征图的深度;二是将关键信息提取到一个紧凑的表示中。

压缩特征图接下来被一个两层全连接网络(FCN)处理。FCN的任务是将这个压缩特征图转换成一组权重,对应于SR块内存中的个记忆块。这些记忆块被设计为覆盖广泛范围的特征,以确保特征空间上的全面表示。根据输入,FCN自适应地对这些块进行加权,以确保加权总和包含高级特征。

最终的输出特征图是通过将添加到原始输入得到的。这种融合结果最终得到一个由现有和集成特征组成的最终输出。

在作者的实验中,作者发现SR模块在CNN的更深层中的最优放置位置。这些层通常处理更具抽象性和类别相关性的特征,因此从SR模块的记忆中获取特定且具有类别相关性的信息来增强这些特征是具有益处的。

在训练过程中,SR块的关键组成部分(1x1卷积、FCN和记忆块)通过反向传播进行优化。这种调优过程使得块能够识别和编码记忆块中的关键高层特征。在推理阶段,SR块利用这种训练,根据输入特征图选择性地加权记忆块,从而在新环境中有效利用已学习的特征。关于这一特征检索机制的详细信息和影响,将在第IV-D节中进一步讨论。

不同于循环神经网络(RNNs)[5, 6],它们通过特征重用对顺序数据处理非常有效,自编码器(SR)模块专门针对处理静态输入(如图像)的卷积神经网络(CNNs)。这使得这些网络在训练时能够记忆特征,并在推理时利用这些特征。

尽管卷积层[1]和批量归一化[7]中的权重和偏置看起来像是存储信息,但它们缺乏可适应性。每个输入都使用相同的“记忆”集进行处理,这与自注意力(SR)块不同,自注意力(SR)块根据输入的上下文选择性地应用记忆特征。

尽管其功能先进,但SR模块在计算上具有很高的效率。它能够轻松地集成到现有的CNN架构中,而无需进行显著的修改,并且为模型增加了极少的计算开销(见第III-E节)。

将SR模块引入到ResNet50模型中,使用dropout2d,与仅使用dropout2d相比,在ImageNet数据集上的top-1验证准确性提高了0.52%。此外,在Cityscapes数据集的语义分割任务中,将SR模块添加到DeepLab v3模型中,使用ResNet50 Backbone ,与基准模型相比,平均交点与 Union提高了0.20%。

II Related Work

本节概述了深度神经网络(DNNs)的基本构建模块。特别地,作者将关注卷积神经网络(CNNs),并介绍记忆增强网络的概念。

Memory-Augmented Networks

记忆增强的网络,如神经图灵机(NTMs)[8]和可微神经计算机(DNNs)[9],在涉及顺序数据的任务中,如文本和时间序列分析,特别有效。这些架构赋予网络进行复杂数据操作的能力,包括复制和排序。它们通过将神经网络与外部记忆组件[10, 11]集成来实现这一目标。

相比之下,这些架构专注于顺序任务,而作者的SR块为非顺序任务提供了一种独特的解决方案,如图像分类和语义图像分割。SR块与传统的记忆增强网络不同,通过在训练过程中学习编码特征,然后在推理时适应地回忆这些特征。

Feature Extraction

卷积层是CNN的基础,被用作特征提取机制。在早期层,这些卷积单元检测简单模式,如边缘、角点、曲线等[1]。随着网络的加深,卷积层逐步学习识别更复杂和抽象的特征,包括物体类别和语义结构[2]。在卷积层中,感受野在初期只针对局部区域,而在更深层逐渐扩大以覆盖更大的图像区域。

Feature Evaluation or Classification

经过特征提取后,CNN使用全连接层(FC)进行特征评估或分类。这些层解释卷积层(convolutional layers)生成的特征图的扁平化版本,将输入分类到不同的类别中[2]。FC层的广阔感受野在评估提取特征至分类输出方面起着重要作用。

Feature Weighting or Attention

注意力机制在CNNs中通过优先考虑输入的最有信息量部分来模拟人类的认知过程。例如,SE模块[3]和CBAM[12]通过通道级和空间特征重校正来突出更重要特征。注意力机制[13]的演化和日益重要性突显了它们在提高CNN性能中的作用。

Feature Reuse

残差和循环连接在DNNs中允许特征重用,使网络能够在后续层中使用提取的特征[5, 14]。这在CNN中尤为重要,因为卷积层既是特征提取器也是滤波器。引入残差连接[14]显示了在深度网络结构中这种策略的有效性。

Feature Normalization

特征正则化是DNN训练[15, 16, 17, 18]的一个重要方面。它稳定并加速了训练过程。批量归一化(BN)[7]在mini-batch内标准化特征分布,减少内部协变量漂移,从而使训练动态更平滑。

Feature Pooling

池化层通过像最大池化[19]和平均池化[20]这样的操作减少特征图的空间维度。这种降维不仅有助于翻译不变性,还降低了计算负载,使网络更加高效。

Feature Hiding

常见的正则化技术如Dropout [21]和Drop-connect [22]通过在训练过程中随机丢弃神经元或权重来防止过拟合。虽然这在全连接层中是有效的,但由于它们的激活单元具有空间相关性,Dropout在卷积层中的效果有限。

这导致了诸如dropblock [23]和dropout2d [24]这样的结构化Dropout方法的发展,这些方法针对语义信息,并鼓励网络学习分布式表示。

总之,虽然每个组件都具有单独的CNN能力,但作者的SR模块通过引入一种类似于记忆的机制来实现特征保留和适应非序列任务(如图像分类)。这体现了创新。

III Squeeze-and-Remember Block

"Squeeze-and-Remember" (SR) 模块提出了一种改进卷积神经网络(CNNs)的新方法。它可以在训练过程中记忆高层特征,并在推理过程中适应地回忆起来。SR 模块包含三个核心组件:

挤压:压缩特征图通道以提取关键特征。

请记住:根据压缩特征图计算内存块的重要性。

添加:将记忆的高层次特征重新添加到原始特征图。

Squeeze

在SR模块的初始步骤中,输入特征图被压缩,以降低计算复杂性和提取关键特征。这种压缩通过一个卷积实现。选择这种卷积是因为其在通道压缩方面的效率,同时最小化了额外的计算负载。

在训练过程中,卷积神经网络学会从特征图中最能代表输入整体的关键特征中提取出来。这个过程得到了初始化卷积神经网络权重在范围内均匀分布的辅助,其中,以确保训练过程的平衡和有效开始。

压缩后的特征图表示这些提取的特征,然后在SR模块的"记住"阶段进行进一步处理。

Remember

在这一步中,经过扁平化的特征图被两层FCN处理。第一层线性变换特征图。随后的层使用softmax激活函数为记忆块分配权重。FCN的权重使用与"Squeeze"步骤中相同的均匀分布初始化。

在训练阶段,"记忆"步骤中的FCN起着重要作用,它用于识别记忆块的最佳组合。它学会了适当地加权并合并这些块。这一步骤构建并集成高级相关特征到网络中。

Add

记忆组件SR块,表示为,包括个记忆块()。这些初始为零填充。这些块被训练成为特征跨越集,捕获大量类相关的特征。FCN输出的权重被用来创建记忆块的加权和,得到特征图。然后将这个图添加到原始特征图中。这个过程有效地允许网络以动态方式“记住”学习到的特征。

内存块作为一个独特的特征跨越集,每个块 根据输入相关的权重计算,为基于输入的复合特征图 做出贡献。SR块对不同输入的适应性是超越静态特征提取的关键创新。

总之,Squeeze-and-Remember模块引入了一种新方法来操作CNN中的特征,使网络能够自适应地重用学习到的特征并在新背景下应用它们。

Hyperparameters

新CNN架构的设计涉及到关于超参数和层配置的重要决策。作者专注于SR块的三个关键方面:(1)网络架构中最佳的集成点,(2)FCN隐藏层的最佳神经元数量,(3)最佳的记忆块数量。

ResNets [14] 和 VGGs [25] 都被结构化为几个模块。作者的实验表明,当SR模块放在第三个或第四个模块后,效果最佳。更一般地说,这意味着SR模块应该插入更深层的层次。这种位置允许SR模块使用更抽象、与类别相关的特征,并将类特定的记忆内容添加到特征图上。

对于CIFAR-100,作者将ResNet的隐藏层神经元数量设置为8个,而对于ImageNet,作者尝试了16和32个神经元。CIFAR和ImageNet中的记忆块数量在2到12之间变化。作者观察到,网络的性能不一定与更高的记忆块数量成正比(见第IV-B节)。

Model and Computational Complexity

SR模块引入了额外的参数,主要分布在内存组件M中。总共增加的参数数量计算如下:

在本文中, 表示通道数, 和 分别表示特征图的高度和宽度, 表示全卷积神经网络(FCN)隐藏层的神经元数量。对于在 CIFAR-100 上的 ResNets 和 VGGs,模型参数的相对增加通常小于 1%。而在 ImageNet 上,由于特征图的分辨率更高,参数增加的范围大约在 1.59% 到 7.87% 之间。

如第 IV 节所述,SR 模块性能改进的原因是其特征记忆能力,而不仅仅是参数的增加。

SR模块的计算开销较低。在比较测试中,标准ResNet50和带有SR模块的ResNet50在CIFAR-100(批处理量为128张图像)上显示了处理时间上的微小差异(分别为377毫秒和379毫秒)。

在ImageNet(批处理量为5张图像)上,标准ResNet50的用时是61.74毫秒,而带有SR模块的变体用时是62.89毫秒,均在NVIDIA Quadro RTX 3000 GPU上进行测试。

这一趋势也适用于CPU推理时间,这对于嵌入式设备应用特别重要。对于一个32x32像素的输入图像,推理时间从标准ResNet-50的41.45ms轻微增加到使用SR模块的43.01ms。

IV Experiments

在本节中,作者评估了作者的Squeeze-and-Remember模块在增强卷积神经网络(CNNs)以进行监督图像识别和语义分割任务方面的有效性。

作者的实证研究主要集中在两个关键领域:使用CIFAR-100和ImageNet数据集进行图像识别,以及在Cityscapes数据集上进行语义分割。作者将使用SR模块的各种CNN架构与它们的标准配置进行比较。

此外,作者还评估了将SR模块与正则化技术(如dropout [21],dropout2D [24],和dropblock [23])相结合的协同效应。

为了清晰度和一致性,作者的模型描述遵循特定的命名规范。例如,“ResNet50 + D”表示使用 Dropout 的 ResNet50 模型,“D2D”表示 dropout2D,而“DB”表示 dropblock。

包含 SR 模块的模型在名称中添加“SR”,例如“ResNet50 + SR”或“ResNet50 + D2D + SR”。

Experiments on CIFAR

作者在CIFAR-10/100数据集(包含32x32像素的50,000张训练图像和10,000张测试图像)上评估了SR块。作者使用了多种CNN架构进行实验,包括ResNet18/34/50 [14]和VGG16/19-BN [25]。CIFAR-10的结果详细见附录VI。

为了确保模型的稳健性和可重复性,作者对每个模型在五个不同的随机种子下进行了训练和评估。这会影响到网络初始化、数据排序和增强过程。作者提出了均方测试精度及其标准差。数据划分比例为训练占90%,验证占10%。在验证集上表现最好的模型被选为最终评估。

基准网络采用数据增强、权重衰减、早期停止和不同的dropout技术(dropout [21], dropout2d [24], dropblock [23])进行训练。

作者还研究了在同时使用SE [3]和CBAM块[12]以及Squeeze-and-Remember块[12]时,ResNet架构性能的提高。VGG模型(VGG16-BN和VGG19-BN)采用类似的训练策略,只在其全连接(FC)层应用dropout。完整的实现细节可参见附录VII-A。

I. 表1呈现了作者在CIFAR-100数据集上的研究结果。在这个表中,M表示SR模块的集成点,P表示内存块的数量,OH表示额外的参数开销。值得注意的是,所有集成SR模块的ResNet和VGG模型在准确性上都有持续的改进。例如,使用SR模块的ResNet50在准确性上增加了1.05%。

作者的研究的一个重要观察是,当与正则化技术(如dropout、dropout2D和dropblock等)结合使用时,SR块的性能得到了提高。这种协同作用表明,这些方法的益处相互补充。作者认为正则化方法可能会影响SR块的记忆块,使其关注类相关的而不是实例特定的特征。这可以有助于提高准确性。

重要的是,SR模块的优点超越了仅仅增加网络参数。这在作者观察SR模块与仅使网络更大的比较中明显,例如在将ResNet34迁移到ResNet50时,参数数量增加了超过10%。这些比较表明,SR模块的有效性来自于其以独特方式记住和使用特征的能力,而不仅仅是增加更多参数。

表2展示了在SE和CBAM中添加Squeeze-and-Remember模块对CIFAR-100的影响。它显著提高了不同ResNet模型上的性能。例如,在ResNet34中使用SR模块与CBAM,准确率提高了0.53%。当SR模块与SE模块结合在ResNet50中时,准确率提高了0.43%。

SR模块的改进显示了其作为辅助组件的记忆能力,在训练过程中记住重要特征,然后在推理过程中适应性回忆。这通过整合高级特征提高了网络的预测能力,将特征增强的范围扩展到了校准之外。

ImageNet

作者在ImageNet 2012分类数据集[26]上评估了SR模块,该数据集包含了1000个类别,总计120万训练图像、5万验证图像和15万测试图像。值得注意的是,像dropout2d这样的正则化方法在ImageNet上的训练需要更长时间才能有效收敛[23]。作者用四种不同的随机种子,对ResNet50进行450个周期的实验,共450个epoch,并在验证集上报告了top-1分类准确率。详细的实现细节见附录VII-B。

表3展示了在ImageNet上的top-1验证准确性。作者在ResNet50模型上的实验表明,将SR模块与dropout2d正则化相结合,可以提高网络性能,因为在仅使用dropout2d的情况下,准确率提高了0.52%。从训练有素的ResNet50中移除SR模块,使用dropout2d正则化并使用10个内存块,导致准确率下降了0.4%。这一结果表明,SR模块对性能有积极影响。

需要注意的是,即使仅配置2个内存块,也能实现0.43%的准确性提升。然而,将配置扩展到20个内存块,并不一定能带来成比例的好处,可能会因为通道冗余导致效率低下。尽管增加了参数数量,SR块仍然保持了较低的计算开销,对推理时间的影响较小(参见第III-E节)。

SR模块在结合dropout2d时表现出其最显著的性能提升。作者认为这种改进归因于dropout2d的通道丢弃机制,该机制可能促使SR模块内的记忆块捕获更多具有代表性的、类特定的特征。

Cityscapes

对于语义分割,作者使用了Cityscapes数据集[27],该数据集包含了来自50个欧洲城市的优质、细粒度标注图像,分为19个语义类别(2,975个训练图像,500个验证图像和1,525个测试图像)。

作者使用MMSegmentation框架[28]进行了五次实验,实验中采用了不同的随机种子,具体实施细节请参见附录VII-C。

表4显示了SR模块对语义分割的影响。在Fully Convolutional Network(F-CONV)[29](M=2,P=3)和DeepLab v3(DLv3)[30](M=2,P=2)中,作者观察到Mean Intersection over Union(mIoU)和Mean Accuracy(mAcc)的改进。SR模块使F-CONV的mIoU和mAcc提高了0.2%和0.13%,参数增加了12.85%,计算成本增加了1.90%。对于DLv3,mIoU和mAcc分别提高了0.2%和0.17%,参数增加了24.83%,计算成本增加了3.81%。

Interpretation of the SR mechanism

在本节中,作者研究了集成在ResNet50架构中的SR模块的功能动力学。作者的分析重点关注三个领域:FCN中的softmax激活,SR模块对特征图的影响,以及记忆模块的特点。使用10个记忆模块的SR模块的ResNet50在ImageNet数据集上进行训练,并采用dropout2d正则化。

Softmax激活:作者分别分析了“悬崖”、“柯基”和“教堂”类别的50个样本,关注它们的softmax激活的平均值和标准差(见图2)。结果突显了FCN在权重分布上的不同类特定模式,显示在回忆过程中偏好使用多个记忆模块。值得注意的是,“悬崖”类在多个模块的使用上表现出变化但一致的特点。这种模式与“柯基”或“教堂”类不同。这种结合记忆模块的方法,可以有效地构建高级特征。

特征图修改:图3显示了SR模块修改特征图的能力。预处理和后处理SR通道的均值激活以及它们的均值激活增量,揭示了模块根据类别特定地添加的特征。均值激活增量变化2%至10%,表明模块适应性添加高级特征。这可以在“悬崖”景观中更明显的纹理,或者在“教堂”图像中的建筑特征中得到体现。

内存块分析:图4展示了SR块中每个内存块的平均通道活动。在每个内存块内计算通道均值,作者观察到各种激活模式。这些模式表明,内存块代表了一个全面的特征覆盖集。SR块将这些块结合在一起,以回忆每个类的高 Level 特征。

Comparative Analysis with SE/CBAM Blocks

本文节将Squeeze-and-Remember块与Squeeze-and-Excitation[3]和Convolutional Block Attention Module[12]进行比较。本文节突显了SR块在CNN动态特征添加方面的独特贡献。

Iv-E1 Initial Feature Processing

SE块使用全局平均池化将空间信息浓缩为全局通道描述符。作为扩展,CBAM引入了空间注意力,允许网络在通道和空间维度上关注重要的特征。相比之下,SR块使用1x1卷积提取后续"Remember"阶段所需的必要特征。这一步骤侧重于聚合特征的提取。

Iv-E2 From Channel Reweighting to Adaptive Feature Recall

SE模块通过 bottleneck结构中的 sigmoid 激活函数,基于输入特征的全局上下文计算权重,从而重新校准特征图。 CBAM 通过整合顺序通道和空间注意力机制来扩展这一过程。相比之下,SR模块的“Remember”阶段使用的是一个全连接网络,用于适应地加权并合并记忆块以构建和重新整合高级特征,而不是用于特征校准。

Iv-E3 Feature Recalibration vs Feature Integration

SE和CBAM通过学习重要性权重将原始特征图缩放以突出重要特征。相反,SR块通过其"Add"操作添加了记忆特征,这超出了特征校准的范围。

V Conclusion and Future Work

在这项工作中,作者引入了Squeeze-and-Remember模块,这是一种创新性的架构单元,旨在提高卷积神经网络(CNNs)的特征检测能力。SR模块允许网络自适应地将记忆的特征添加到特征图。

将Squeeze-and-Remember模块引入CNNs可提高CIFAR-100和ImageNet等基准测试上的性能。带有SR模块的ResNet50模型在ImageNet上的top-1验证准确率上超过了仅使用dropout2d的相同模型0.52%。

此外,作者的研究结果强调了SR模块在提高ResNet模型(结合像SE和CBAM等特征修改机制)的准确率,最多可达到0.54%,证明了其在改进特征处理方面的价值,超越了校正。

在语义分割中,将SR模块添加到ResNet50支持的DeepLab v3模型中,Cityscapes上的平均Intersection over Union增加了0.20%。

值得注意的是,这一成果在降低额外计算需求方面取得了低水平的平衡。

未来研究方向包括开发更高效的训练策略,以更有效地训练具有重要特征的记忆块。解决当前的局限性,如记忆块的零初始化,将进一步增加SR块的影响。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2024-10-16,如有侵权请联系 cloudcommunity@tencent 删除网络性能卷积神经网络模型数据

本文标签: Squeeze