点击下方卡片,关注 「AI视界引擎」 公众号
一种新的高效架构搜索方法,该方法结合了信息融合和记忆效率高的自注意力模块,用以关注长距离的依赖关系。作者寻找一种不仅融合了多级特征,而且还能从具有不同分辨率的多元搜索空间中保持高分辨率表示的效率架构。
最后,作者部署了一种高效的遗传搜索算法,该算法针对多个目标(即延迟,mIoU)进行优化,并且能够找到具有不同分辨率任意数量分支的帕累托前沿的一系列架构。
实验证明,HyCTAS在语义分割任务上优于之前的方法。
设计了一个新颖的搜索框架,该框架结合了多分支空间以实现高分辨率表示和基于遗传的多目标优化(例如,延迟和mIoU)。作者可以在不到5个GPU工作日的一次搜索中,获得多个覆盖实时速度和高精度的网络。
提出了一系列的HyCTAS模型,这些模型将轻量级的卷积模块与保持高分辨率信息相结合,以降低计算成本,同时采用内存高效的自注意力模块来关注长距离依赖。这种组合使作者能够搜索具有注意力机制的高分辨率表示的高效架构。
在 Cityscapes数据集上的大量实验表明,相较于现有的在语义分割方面最先进的方法,作者提出的方法在效率和有效性方面更胜一筹。
II Related Work
Efficient Networks for Image Segmentation
语义分割任务,旨在将每个像素分类到预定义的类别中,已从深度神经网络的进展中大大受益。最初,全卷积神经网络(FCN)通过成功将它们应用到这个领域,展示了卷积神经网络在语义分割中的潜力。
随后,DeepLab结构引入了带孔卷积,在不增加参数的情况下增强了滤波器的视野。进一步改进是通过以级联方式使用不同孔径率的带孔卷积,优化多尺度上下文的捕获。最近,开发了HRNet,它通过集成高到低分辨率卷积和跨并行卷积的连续融合来保持高分辨率表示,从而在各种基准测试中取得了优越的性能。
尽管早期的分割方法显著提高了分割质量,但往往忽略了计算成本,正如[9, 13]等工作中所看到的那样。为了在提高推理速度的同时减轻计算成本的尝试,导致了各种创新。[21]引入了一种解码器网络策略,有效地将低分辨率的编码器特征图映射回原始输入分辨率,最小化了维护高分辨率特征的需要。[22]利用了受SqueezeNet启发的编码器与并行膨胀卷积来提高效率。[23]通过在网络早期减少特征图大小,实现了实时推理速度。[24]开发了ICNet,通过集成多分辨率输入分支而不是基于特征的分支来降低计算成本。
近来,[25]提出了双边分割网络(BiSeNet),它采用了一种新颖的高效设计,分离出一条空间路径以保留空间细节,以及一条上下文路径以确保足够的感受野。
与之前的工作不同,作者提出的HyCTAS方法在加速过程中并没有牺牲任何高分辨率的特征图,而是智能地搜索多分辨率分支的最有效组合,以找到既有效又高效的结构。
Nerual Architecture Search
设计有效且高效的神经架构是一个劳动密集型的过程,可能需要人类专家进行大量的尝试。因此,近年来自动神经架构搜索(NAS)应运而生。根据搜索算法,现有的NAS方法大致也可以分为两类:基于梯度的可微方法[26, 27]和基于采样的方法[28, 29]。
近期的研究将神经网络架构搜索(NAS)应用于图像分割任务。[30] 是利用NAS设计由堆叠的计算单元组成的网络架构以进行语义图像分割的先驱。[14] 通过在单元 Level 的基础上进一步搜索网络 Level 的结构,扩展了这一工作,以增强分割性能。[15] 引入了一种方法,该方法结合了解耦和细粒度的延迟正则化,以实现更优的准确度与延迟权衡。最值得注意的是,[31] 开发了一个框架,能够生成数据相关路径,通过适应每张图像的尺度分布,来解决语义表示中的尺度变化问题。
与先前的工作不同,HyCTAS支持搜索任意数量的多分辨率分支组合,即从1/8到1/32,以架构满足不同场景的需求。与基于梯度的可微方法相比,作者提出的HyCTAS在网络容量和预算资源消耗下的性能具有优势。
Transformer in Vision Tasks
最近,在视觉任务中采用 Transformer (transformer)主要有两个方向。一个是纯粹的 Transformer 架构,另一个是结合了卷积神经网络(CNNs)和 Transformer 的混合架构。视觉 Transformer是第一种不使用CNN的基于完全自注意力机制的 Transformer 架构,但在转移到下游任务时存在限制。同时,DETR采用了混合模型架构,将CNN与 Transformer 结合。
之后,SETR将视觉 Transformer 的类似想法应用到语义分割上。尽管 Transformer 允许作者建模全图像的上下文信息,但它既耗费内存又消耗计算资源。许多研究者通过手动设计在速度和性能之间进行了权衡,但尚未取得令人满意的结果。
在本文中,作者还引入了一个高效的自我关注模块作为基本组件之一。作者提出的HyCTAS是通过同时设置两个优化目标(例如性能和延迟)自动设计的,并且相较于手工制作的模型,实现了最先进的权衡。
III Proposed Approach
Revisiting HRNet Architecture
学习高分辨率表示对于图像分割任务的优良表现至关重要。HRNet通过并行维护多分支的卷积流,在整个网络中保持高分辨率表示,并通过反复融合来自多分辨率流的表示,生成具有强烈位置敏感性的可靠高分辨率表示。
为了保留这两个关键特性,作者设计了自己的HyCTAS超网络,以实现一次性搜索不同的分支数量、深度、宽度和空间分辨率。如图1所示,作者的超网络包含两种可搜索组件:单元(Cells)和节点(Nodes)。
给定一个具有层的超级网络,在输入图像经过初始的stem层之后,特征分辨率被下采样到步长,并输入到多个可搜索的细胞中。然后,这些特征连续融合到可搜索的节点中,其中细胞和节点交替堆叠。细胞和节点的搜索域是不同的。一个细胞可能包含多个模块,如卷积、 Transformer 等等,这扩展了网络,使其能够将多模块组合到子网络中;同时,一个节点专门用于将来自不同分辨率的多个分支融合在一起,并表现为一个二元门。
由于HyCTAS需要支持任意分支的融合,这意味着每个架构的输出是不固定的,_即_,最后一个特征图的通道数和最终输出的分支位置是不固定的。
为了解决这些问题,作者提出了一种特征聚合头模块,它可以适应不同架构的任意输出。首先,形状为 () 的特征图通过一个 可调整宽度卷积层 [37] 在通道上进行调整,其形状保持为 ()。如果特征图的大小不是搜索空间中的最大分辨率,它将通过双线性插值上采样以匹配其他特征图的形状 ()。
然后,两个特征图通过一个 卷积层进行拼接和融合。作者枚举所有输出组合,并为每种类型的输出设置一个头 ,因此在作者的搜索空间中共有六种不同的头,_即_,。
与之前的工作[14, 15]将网络搜索限制为单一路径不同,HyCTAS超网络能够建模具有不同分辨率任意数量分支的子网络,这更好地捕捉了HRNet的精神。
Combing Multiple Modules
卷积操作通过权重共享使得可以提取视觉特征,确保平移不变性的同时保持对局部图像区域的敏感性。然而,这种方法并不能捕捉到相对空间关系,导致感受野受到限制。
实现大感受野对于追踪图像中的长距离依赖至关重要,这通常需要使用大卷积核或多个卷积层,尽管这样做会损失效率。最近的进展利用了Transformer模型有效地解决卷积方法的限制。
Transformer模型采用多头自注意力机制来模拟整个输入范围内像素间的重要性,实现了最大化的感受野。然而,相比于卷积方法,Transformer面临着显著的计算挑战,特别是在处理大的特征图时,因为其计算和内存需求与输入尺寸成二次方增长。
因此,如果简单地将这两种操作纳入作者用于高分辨率图像分割学习多分辨率多分支框架中,它们都不会满足作者追求效率的目标。因此,作者 Proposal 使用一个节省内存的自注意力模块和轻量级卷积模块。
内存高效的自注意力模块:与之前的工作[38]直接借用典型的 Transformer 操作不同,作者仅采用了不含FFN的自注意力层来捕捉全局上下文,同时最大程度地提高效率。然后作者使用 卷积来减少并随后增加维度,使得自注意力模块在输入/输出通道上的瓶颈小于原通道数。这大大减少了自注意力层所需的内存使用。同时,作者增加了一个额外的旁路 卷积模块,以保留未压缩的残差。
作者的记忆效率自注意力模块操作可以利用最大的感受野,同时保持相对较小的浮点运算量和内存占用。
轻量级卷积模块:为了在尽量减少计算成本的同时保持大的感受野,诸如Zoomed Convolution 和 Dilated Convolution等方法采用双线性采样来调整输入特征图的尺寸,这不可避免地导致了信息丢失。
针对这一问题,作者引入了一种新颖高效的卷积方法,它结合了一个并行的 卷积来保留高分辨率细节,如图2所示。这种方法将输入特征图直接连接到放大卷积的输出,有效地保持了输入分辨率。作者的轻量级卷积模块显著减少了信息丢失,并且参数增加最小,确保了速度和准确性的双重保证。
作者的内存高效自注意力模块和轻量级卷积模块的详细测量结果示于表2中。同时,适当地结合卷积模块和自注意力模块对于提高模型性能和效率起着至关重要的作用。因此,作者进一步部署了一个搜索算法来解决这一问题。
Searching with Multi-objective
受到[40]和[41]的启发,作者将寻找最优架构 的过程制定为一个两阶段优化问题。架构搜索空间 在超网络中编码,表示为 。每个候选架构 在 上共享其权重。在第一阶段,作者通过以下方式优化超网络的权重 :
其中 表示训练损失。
先验分布 很重要。为了达到作者搜索具有不同分辨率任意分支架构的目标,作者在超网络的训练过程中预定义这个先验。由于具有更多分支的子网络包含了具有较少分支的子网络,作者从经验上设定具有更多分支的子网络具有更高的采样概率。
其中 表示包含 个分支的建筑概率的采样。子网络 中的其他组件从均匀分布中进行采样。在超网络训练完成后,第二阶段是通过对每个子网络 的准确性和延迟进行排序来搜索架构。作者将架构搜索问题转换为一个标准的多目标优化(MOP)问题。
该公式包括决策变量、目标函数和约束条件。优化目标如下:
最大化
约束
在以下条件下:
- 每个子网络中的路径需要大于0;
- 对于包含多条路径的子网络,下采样的位置应当不同;
- 在下采样的位置,不能选择 Short-Cut ;
- 训练期间子网络的内存使用不能超过硬件限制。
与单目标优化问题不同,在多目标优化问题(MOP)中,通常不存在唯一的最优解,而是一个帕累托最优解集。因此,作者采用了流行的进化算法NSGA-II来解决优化问题。作者搜索算法的详细信息可以在补充材料中找到。
详细搜索算法在算法1中给出。采用独热编码来编码子网络 。当采样完成后,作者将解码子网络以评估其对应的mIoU和延迟。作者在NSGA-II框架下解决这个多目标优化(MOP)问题。
IV Experiments
作者在语义分割任务上评估HyCTAS。
Benchmark and Evaluation Metrics
Cityscapes是一个流行的数据集,其中包含了一组在50个不同城市的街景中记录的多样化的立体视频序列。它有5,000个高质量的像素级标注。其中2,975张图片用于训练,500张图片用于验证。对于测试,它提供了1,525张没有真实值的图片,以便进行公平的比较。密集标注为每个像素包含了19个类别。
评估指标。 平均每类交并比(mIoU)和每秒帧数(FPS)分别用作语义分割和速度的评估指标。
Setup
搜索。 在超网络训练过程中,分别将 、 和 的采样比例设置为 0.2、0.3 和 0.5。超网络的初始通道数为 64,小批量大小设置为 16。超网络在 Cityscapes 数据集上进行训练,训练集中的图像尺寸为 。作者使用具有 0.9 动量和 权重衰减的 SGD 优化器来优化超网络权重。学习率设置为 0.02,采用 0.992 的指数学习率衰减。
整个超网络的优化大约需要 120 个小时,使用单个 V100 GPU。在搜索过程中,初始种群 设置为 40,并通过均匀随机抽样生成。交叉和突变操作的几率分别设置为 0.9 和 0.02。在推理子网络之前,所有批量归一化操作的统计信息在训练数据的一个随机子集(Cityscapes 中的 1000 张图像)上重新计算。代数为 20,并且作者分别搜索具有不同分支数量的子网络。因此,总共搜索了 2400 个网络子网络。
重新训练。 与[14]类似,作者也使用滤波器乘数来控制模型容量,HyCTAS-S的默认值分别设置为12。通过在主干中合并低级特征,HyCTAS-S的最终输出步长为8。作者使用带有0.9动量和权重衰减的SGD优化器来优化搜索到的网络。采用“多项式”学习率策略,初始学习率为0.005。
对所有数据集的数据增强,如随机裁剪、翻转等,与[45]保持一致。在Cityscapes数据集上,训练图像被裁剪为,小批量大小设置为32。值得注意的是,作者的所有结果都是从零开始训练的,没有使用ImageNet预训练,并且作者只使用了训练集,没有使用任何额外数据。
评估。 作者使用Nvidia Geforce RTX 3090和Intel Xeon E5-2680-v4 CPU(2.40GHz)来基准测试计算成本。在测试推理速度时,首先将批量大小为1的图像加载到GPU内存中,并让模型预热以达到稳定速度。
之后,通过运行模型六秒钟来测量推理时间。除非特别说明,所有报告的结果都是在没有多尺度推理和翻转的情况下评估的。类别平均交并比(mIoU)被用作语义分割的评价指标。
Model Exploration
作者的探索集中在架构搜索中平衡“速度与mIoU”之间的关系,强调作者的框架在优化多个目标时的优越性。图3展示了架构的演变过程,通过颜色编码的分支数量,并在搜索结束时突出了帕累托边界,展示了双目标定位对架构分布的影响。作者优先考虑帕累托前沿的架构,因为它们在平衡性和实际相关性方面达到最优。
作者在图3(a)(b)(c)中可视化了具有不同分支数量的搜索架构,揭示了在自注意力模块放置方面的有趣模式。当只有一个分支时,自注意力被放置在更高的分辨率上以增强性能。相反,当有三个分支时,自注意力被放置得更深,以有效地跨分支融合特征,这与它的优势和局限性很好地相吻合。
Comparison to SOTA
作者将在两个广泛使用的基准测试上,将HyCTAS与现有最先进的方法进行比较。
Cityscapes数据集。 如表3所示,当速度超过100FPS时,HyCTAS建立了新的技术水平。HvCTAS-M模型一致地超过了最近的BiSeNet,Fast-SCNN和DF1-Seg-d8。特别是,HyCTAS-M模型在Cityscapes验证集上以29.4G浮点运算和2.4M参数实现了77.1%的mIoU,这比具有相似模型大小的HRNetV2-W18-Small-v1高出了6.8%。
在Cityscapes测试集上,HyCTAS-M模型比FasterSeg高出了4.2%。此外,在没有TensorRT加速的情况下,HyCTAS的运行速度达到了惊人的87.8 FPS。同时,HyCTAS-S模型具有最小的浮点运算量和参数数量,并以159.2 FPS的速度实现了最快的推理速度。这证明HyCTAS在实硬件部署时具有很高的竞争力。
HyCTAS在搜索效率和GPU内存使用方面优于近期的新型架构搜索(NAS)模型。首先,作者的多目标策略使得HyCTAS能够在仅5个GPU工作日内找到满足各种需求(例如低延迟或高性能)的模型。相比之下,传统的NAS方法一次只能搜索一个模型,导致随着每个额外模型搜索成本线性增加。其次,HyCTAS-M在性能上超过了基准NAS模型;例如,在Cityscapes验证集上,它的表现比FasterSeg 高出3.8%。
这些结果仅通过使用Cityscapes精细标注的图像实现,而没有使用任何额外的数据(粗标注图像、COCO、ImageNet等)。
Ablation
与随机抽样相比。 为了评估作者的搜索策略,作者将HyCTAS与在Cityscapes验证集上的5个随机抽样架构(1-3个分支)进行了对比。表4展示了这些随机架构的平均性能。
作者发现的搜索到的-1架构在减少模型大小的同时,准确度上超过了其随机对应架构4.3%。发现的搜索到的-2和搜索到的-3架构均比随机架构准确度高出3%以上。
搜索的鲁棒性。 作者进一步通过有意改变组件来进行消融研究,以验证在HyCTAS-M模型上的搜索鲁棒性。如表格V所示,作者通过将所有自注意力替换为卷积、将所有卷积替换为自注意力、将自注意力移动到另一个位置以及将自注意力移动到另一个分支(即在同一步幅上移动到随机位置)来扭曲搜索到的架构。可以看出,作者搜索到的模型在这些变体中一致表现出更好的性能,并证明了其鲁棒性。
总之,HyCTAS搜索出的架构能在性能、模型大小和延迟之间找到一个很好的平衡点。
重新训练设置。从表6中,作者可以看到加入计划性的丢失路径可以使mIoU提高1.5%。当将计划性丢失路径概率设置为0.2时,性能提高了0.3%。在第#4项中,作者还研究了增加训练迭代次数的影响。将训练迭代次数从186K增加到372K迭代,进一步提高了性能0.2%。所有报告的结果都是在没有ImageNet 预训练的情况下获得的。
相关分析。 作者抽取了10个子网络,每个子网络都从零开始训练了40,000次迭代。表1显示的结果表明,超网络内部和重新训练后的mIoU分数之间有很高的相关性,肯德尔系数为0.58,皮尔逊相关系数()为0.79。这种强的相关性证实了作者能够在超网络中识别高性能子网络的能力。此外,作者的搜索方法不仅与现有先进方法相比减少了搜索和GPU内存成本,而且还能从单个搜索过程中有效地产生多个可行的架构。
V Conclusion
在本文中,作者提出了一种新颖的HyCTAS框架,用以搜索具有高分辨率表示和注意力的有效网络。作者引入了一种轻量级的卷积模块以降低计算成本同时保留高分辨率信息,以及一种内存高效的自注意力模块来捕捉长距离依赖。通过结合多分支搜索空间和高效的多目标遗传搜索算法,作者搜索到的架构不仅从选择性分支融合特征以提高效率,同时保持了高分辨率表示以提升性能。
此外,发现的架构还为作者提供了在设计新网络时如何使用自注意力的某些洞见。广泛的实验表明,HyCTAS在语义分割任务上优于先前的方法,同时显著提高了推理速度。未来的工作将集中在将这种方法应用于更具挑战性的任务上,例如关键点定位和目标检测。
参考
[1].Real-Time Image Segmentation via Hybrid Convolutional-Transformer Architecture Search.
点击上方卡片,关注 「AI视界引擎」 公众号
