《Superkernel Neural Architecture Search for Image Denoising》

本文研究了神经架构搜索(NAS)在图像降噪任务中的应用,提出了一种快速(6-8 GPU小时)且内存高效的单次训练方法。通过超级内核技术,减少了传统NAS方法的内存需求,实现在SIDD+基准上的高效图像去噪。研究对比了强化学习、进化算法和单发方法,并提出了一种新型的超级内核解决方案,证明了其在图像去噪的有效性。
摘要由CSDN通过智能技术生成

神经体系结构搜索(NAS)的最新进展导致找到了新的最新人工神经网络(ANN)解决方案,无需大量人工监督即可完成图像分类,对象检测或语义分割等任务。 在本文中,我们专注于探索NAS以进行图像降噪的密集预测任务。 由于昂贵的培训程序,大多数用于图像增强的NAS解决方案都依赖于强化学习或进化算法探索,通常需要数周(甚至数月)的时间进行培训。 因此,我们引入了各种超级内核技术的新有效实现方式,这些技术可对模型进行快速(6-8个RTX2080 GPU小时)单次训练以进行密集的预测。 我们在SIDD +基准上证明了我们的方法对图像去噪的有效性[11]。

1 介绍

神经体系结构搜索(NAS)寻求自动化选择最佳神经网络体系结构的过程。归功于模型结构选择的可训练公式,它不仅可以优化基础任务,还可以优化其他执行属性,例如    内存限制或推理时间。 已经提出了许多搜索技术,包括基于增强学习的搜索技术[41],进化算法[29]或梯度下降[22、36、20、5]。

大多数NAS算法所带来的最大挑战是搜索时间与搜索过程的内存需求之间的权衡。 在经典方法(即强化学习或进化算法)中,从架构空间并行训练多个样本期间收集的统计信息驱动了探索过程。由于探索算法通常需要从头训练这些样本,因此搜索过程需要执行数百[21]或数千[42、28、6]个GPU小时。 为了减轻这个问题,提出了多种技术。 最受欢迎的一种方法是缩小搜索范围以找到局部细胞结构,该结构随后将在整个网络中复制[42],或者在经过训练的模型样本之间共享权重[27]。 至关重要的是要注意,给定训练过程的内存需求与所探索的搜索空间中最消耗内存的模型成比例。 此属性使这些方法成为执行神经架构搜索以执行图像增强任务的良好第一步,其中单个模型的大小通常会填满整个GPU内存。

一种通常称为单发[3,4,15]搜索的替代方法,针对上述问题寻求了不同的解决方案。 它以超级网络的形式对搜索空间建模,超级网络本身也是神经网络。然后使用梯度下降执行搜索过程。 这些方法通常将整体搜索时间从几周减少到几个小时[32]。 不幸的是,这种方法的一个巨大缺点是,由于超级网络包含整个搜索空间,因此它的内存需求比搜索空间中的典型网络要大得多。 对于密集的预测任务而言,此问题甚至更为重要,因为即使在使用内存的情况下,即使是单个模型也可能要求很高。

一个有效的中点是超级内核方法。它将结构性超级网络部分简化为单个卷积内核,从而将其内存需求降低了一个数量级。 以将搜索空间选择范围缩小到内核大小和标准卷积运算符的过滤器数量为代价来实现此改进。

延长训练时间和内存使用量的常见解决方案是使用代理数据集。 就示例数量和图像大小而言,此数据集通常较小(例如,使用CIFAR10代替ImageNet进行图像分类)。 在对较小的数据集进行初始训练之后,搜索过程会将最终的体系结构转移到目标任务。 几种方法尝试以无代理方式直接在目标数据上执行体系结构搜索过程。 这可以通过使用simpliarXiv:2004.08870v1 [eess.IV] 2020年4月19日限定搜索空间[36]或通过在训练过程中压缩/修剪超网来实现[5]。 无代理方法对于图像增强任务(例如图像去噪)可能特别有吸引力。 对于这些任务,很难使用代理数据集,因为正确的训练过程需要高分辨率的图像。

在这项工作中,我们提出了一种用于图像去噪的新型轻松超级内核解决方案,该解决方案训练速度快(6-8个GPU小时),内存效率高(一个超级网络适合批处理大小为4的单个GPU),并且可以在 使用128x128的输入图像分辨率的无代理方式。 我们在SIDD + [11](NTIRE 2020真实图像去噪挑战[2,11,1]的一部分)数据集上评估模型,以实现最新的图像去噪。

2 相关工作

2.1 神经架构搜索的强化学习和进化算法

最初的方法通过使用强化学习和进化算法解决了神经体系结构搜索。
   一篇开创性的论文[41]使用增强学习控制器来生成网络结构,然后从头开始对其进行训练并进行评估。 因此,整个训练过程花费了数千个GPU小时,以训练出CIFAR10数据集的最新模型。 为了加快计算速度,在以下工作中[42],将搜索空间缩小到仅少数子网结构,随后重复进行以形成最终的体系结构。 该方法后来通过在不同子网之间共享权重进行了改进,以传输知识[27]。 同样,[28]使用遗传算法代替强化学习来驱动优化过程,而[6]则将这两种方法结合在一起。

由于这些方法的内存需求与搜索空间中最大模型的内存需求成正比,因此该技术用于需要内存的图像增强任务,例如超分辨率[14,31,7],医学图像去噪[23],图像 修复[37、34、16]和图像修复[19]。

2.2 单发方法

另一种方法是以神经网络的形式对搜索空间本身建模。 通常,它是通过连续采样松弛过程完成的,该过程以可微分的方式近似体系结构选择的离散过程。 例如 在[22]中,作者使用softmax权重来近似操作选择。 更准确地说,通过使用softmax权重和可学习的logit组合每个操作的输出来实现近似。 超级网络使用基于两级梯度的优化过程进行训练,以分离卷积权重和结构参数的训练。 通过选择最高logit值的操作来获得最终的体系结构。

[20]的作者进一步推动了该方法的发展,并使用softmax权重作为全局CNN架构(通道,步幅,深度,连通性)和局部小区结构的放松。 该算法找到用于语义图像分割任务的网络,该网络将其体系结构调整为提供的数据集。 搜索空间形成由称为单元的局部层结构构成的网格。 每个单元都是一个普通的非循环图,在k个单独选择和优化的操作之间具有可学习的联系。 网格由复制的单元格和连接结构组成,可以对多个流行的CNN设计进行建模,例如DeepLabv3,AutoEncoder或Stacked Hourglass。 在P100 GPU上,架构搜索阶段持续数天。

假设当模型分布的熵高时,softmax权重可能是离散采样的不精确近似值,[36]将Gumbel Softmax近似值引入了神经体系结构搜索[17]。 在这种技术中,用于组合不同操作的随机权重似乎比softmax更像单热系数。 提出的解决方案是一种计算轻量级算法,可找到用于图像分类任务的设备感知CNN架构。 该算法适用于预定义的全局CNN结构,/即通道,步幅和深度。 搜索空间由一组张量操作扩展,包括不同的卷积设置,池化和跳过连接。 考虑到分类指标和FLOP,可以通过梯度下降分别找到每个层的最佳操作。 该算法为不同的硬件设置(即三星S10和iPhone X)找到了不同的架构。同样,架构搜索阶段要花费数百个GPU小时。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值