HR-NAS:搜索高效的带有Transformer的高分辨率神经网络框架(HR-Net)
先了解一下NAS吧
NAS的一些基础知识:https://blog.csdn.net/jinzhuojun/article/details/84698471
https://zhuanlan.zhihu.com/p/73785074
大体上可以这样理解:超参数的搜索已经应该有所了解,像是学习率、权重的衰减率和batchsize等等。而如层数和选择什么层等网络的结构参数,同样也可以被用来作为一种超参数,可以以同样的方式完成进行搜索。当然这里“同样的方式”是为了方便理解,NAS有很多该领域的专属方法和问题,可以参看上面的两篇文章。
NAS-HRNet摘要
高分辨率表示(HR)对分割,检测和姿态估计等dense prediction类任务至关重要。在之前的专注于图像分类的神经结构搜索(NAS)方法中,通常忽略学习HR表示。我们这项工作提出了一种新的NAS方法,称为HR-NAS,它能在保持高分辨率表示的同时,通过有效地编码多尺度的上下文信息,找到适合不同任务的高效且准确的网络。在HR-NAS中我们同时更新NAS的搜索空间和搜索策略。为了更好地编码HR-NAS的搜索空间中的多尺度图像上下文,我们首先仔细设计一个轻量级Transformer,轻量级Transformer的计算复杂性可根据不同的目标函数和计算预算动态地改变。受HRNET启发[73],为了维持学习网络的高分辨率表示,HR-NAS采用多分支架构,该架构可提供多个特征分辨率的卷积编码。最后,我们提出了一个有效的细粒度搜索策略来训练HR-NAS,这可以有效地探索了搜索空间,并找到给定各种任务和计算资源的最佳架构。如图1(a)所示,HR-NAS能够实现包括三个dense prediction类任务和一个图像分类任务在内性能和FLOP之间的SOTA,并且仅仅使用少量的计算预算。例如,HR-NAS对比专门被设计用于语义细分的sSqueezeNAS [63] ,提高45.9%的效率。代码可在https://github.com/dingmyu/hr-nas获得。
老规矩,直奔指标
图解
图1:在分类(Imagenet)、分割(CityScapes),姿势估计(COCO)和3D检测(Kitti)四个计算机视觉任务中,比较所提出的方法和现有的SOTA方法之间的效率(如FLOPs)和表现(如Acc,mIoU和AP)。每个方法由圆形表示,该圆形的大小表示参数的数量。黑色五角星表示具有高性能和低FLOPs的最佳模型。在所有的四个benchmarks中,我们提出的方法在类似的FLOPs下都实现了卓越的性能。
图2.轻量级Transformer的体系结构,其中包含projector,编码器encoder和解码器decoder。它可以被即插即用来使用,以增强图像特征的全局关联。
图3.(a)我们的多分支搜索空间,由并联模块和融合模块交替组成。图中的“1/4,1/8,......”表示下采样比。(b)并联模块和融合模块的图例。红色、黑色和蓝色箭头分别代表了reduction搜索模块,normal搜索模块和带有下采样的normal搜索模块。立方体表示特征图。在该示例中,融合模块通过reduction搜索模块从先前的最低分辨率分支生成额外的分支。(c)我们提出的搜索blocks中,既包含具有不同内核大小C1,C2,C3的卷积,也包含轻量级的Transformer。
图4. 在四个不同任务上搜索的较小架构(如HR-NAS-A)的可视化。青色、红色、黄色、绿色和灰色扇区的区域分别表示3x3、5x5、7x7卷积通道的数量、transformer queries的数量和移除的channels/queries的数量。请注意,如果移除搜索块的所有queries和卷积通道,则搜索块将退化为残差路径。为简单起见,我们只可视化并行模块中的搜索块。我们可以看到我们的方法能够为不同的任务找到不同的架构,表明它可以自动适应各种任务。
图5. 我们super网络架构的可视化。min 和 mout 表示融合模块中分支的输入和输出数。nc 和 nw 分别表示并行模块中的搜索块数和通道数。箭头代表搜索块,立方体代表特征图。 立方体下方的数字代表通道数
图6. Cityscapes数据集的分割结果可视化(左:原始图像;右:分割图)
图7. 在COCO数据集上人体姿态估计的可视化
图8. 在KITTI数据集上3D物体检测结果的可视化
表1. 在移动设置下与 ImageNet 上的最新技术进行比较。?表示使用 Swish 激活 [62] 的方法,?表示在 AutoAugment [18] 或RandAugment [19] 上训练的方法。 FLOPs使用 224 x 224 的输入大小进行测量。
表2. CityScapes 验证集的比较结果 (mIoU,%)。 * 表示模型是在 ImageNet 数据集上预训练的。 FLOPs 是使用 512 x 1024 的输入大小来测量的。?表示我们为了网络加速和网络效率的权衡而减少了模型。
表3. ADE20K 验证集的比较结果(mIoU,%)。FLOPs是使用 512x512 的输入大小来衡量的。
表4. COCO 关键点验证集的比较。* 表示该模型在 ImageNet数据集上进行了预训练。Params和 FLOPs 是为姿态估计网络而计算的,不包括用于人形检测和关键点分组部分。