Hierarchical Neural Architecture Search for Single Image Super-Resolution

Hierarchical Neural Architecture Search for Single Image Super-Resolution

单幅图像超分辨率的层次神经结构搜索

《IEEE Signal Processing Letters》

Hierarchical Neural Architecture Search for Single Image Super-Resolution_第1张图片

摘要

摘要深度神经网络在图像超分辨率(SR)方面表现出良好的性能。大多数SR模型遵循一种分层结构,该结构包含计算块的单元级设计和上采样块位置的网络级设计。然而,设计SR模型在很大程度上依赖于人类的专业知识,而且非常劳动密集。更重要的是,这些SR模型通常包含大量参数,并且可能无法满足实际应用中计算资源的要求。为了解决上述问题,我们提出了一种分层神经体系结构搜索(HNAS)方法来自动设计具有不同计算成本要求的有前途的体系结构。为此,我们设计了一个分层SR搜索空间,并提出了一个用于体系结构搜索的分层控制器。这种分层控制器能够同时发现有希望的小区级块和上采样层的网络级位置。此外,为了设计具有良好性能的紧凑体系结构,我们通过同时考虑性能和计算成本来建立一个联合奖励来指导搜索过程。在五个基准数据集上的大量实验证明了我们的方法比现有方法的优越性。索引项超分辨率,神经结构搜索

一:引言

图像超分辨率(SR)是一项重要的计算机视觉任务,旨在设计有效的模型,从低分辨率(LR)图像重建高分辨率(HR)图像[1]-[6]。大多数SR模型由两部分组成,即几个增加空间分辨率的上采样层和一组增加模型容量的计算块(例如,剩余块)。这两类块/层通常遵循两级体系结构,其中网络级体系结构确定上采样层的位置(例如,SRCNN[7]和LapSRN[8]),小区级体系结构控制每个块/层的计算(例如,RCAB[9])。在实践中,设计深度模型通常是非常劳动密集型的,并且在很大程度上依赖于人类的专业知识[10]–[13]。更重要的是,这些手工构建的体系结构在实践中往往不是最优的。关于这个问题,已经做出许多努力,通过神经架构搜索(NAS)自动化模型设计过程[14]。具体而言,NAS方法寻求找到最佳的小区体系结构[14]–[16]或整个网络体系结构[17]。这些是自动发现的体系结构通常在图像分类和语言建模任务方面都优于手动设计的架构[14],[17]。然而,如果我们将现有的方法应用于搜索最优的SR架构,那么它们可能会受到两个限制。

首先,很难直接寻找最佳的两级SR架构。对于SR模型,上采样层的单元级块和网络级位置对模型性能起着非常重要的作用。然而,现有的NAS方法只关注其中一个体系结构级别。因此,如何同时找到上采样层的最佳小区级块和网络级位置仍然是未知的。其次,大多数方法只注重提高图像重建性能,而忽略了计算复杂度。通常,更大或更复杂的模型通常具有更好的性能。然而,由于计算资源有限,这些模型往往太大,难以应用于实际应用[18],[19]。对于这一问题,如何以较低的计算成本自动设计有前途的体系结构是非常重要的。为了解决上述问题,我们提出了一种新的分层神经结构搜索(HNAS)方法来自动设计SR结构。与现有方法不同,HNAS同时搜索最佳单元级块和上采样层的网络级位置。此外,通过考虑构建联合奖励的计算成本,我们的方法能够以较低的计算成本生成有前途的体系结构

我们的贡献总结如下:•我们提出了一种新的分层神经结构搜索(HNAS)方法,用于自动设计单元级块并确定上采样层的网络级位置。我们提出了一种同时考虑SR性能和SR架构计算成本的联合奖励方案。通过培训海航获得这样的奖励,我们可以获得一系列具有不同性能和计算成本的体系结构在多个基准数据集上的大量实验证明了该方法的优越性。

二:提出的方法

在本文中,我们提出了一种分层神经结构搜索(HNAS)方法来自动设计有前途的两级SR结构,即。E具有良好的性能和较低的计算成本。为此,我们首先定义分层搜索空间,它由单元级搜索空间和网络级搜索空间组成。然后,我们提出了一种层次结构控制器作为代理来搜索良好的体系结构。为了寻找具有低计算成本的SR架构,我们通过同时考虑性能和计算成本来开发一种联合奖励。我们在图1中展示了海航的总体架构和控制器模型。

Hierarchical Neural Architecture Search for Single Image Super-Resolution_第2张图片

图1。SR模型的体系结构和所提出的分层控制器的概述。(a) 由L=M N 1单元/块组成的SR模型的两级体系结构。(b) 分层控制器的概述。

Hierarchical Neural Architecture Search for Single Image Super-Resolution_第3张图片

 Hierarchical Neural Architecture Search for Single Image Super-Resolution_第4张图片

A.分层SR搜索空间

通常,SR模型通常由两部分组成,即几个增加空间分辨率的上采样层和一系列增加模型容量的计算块。这两个组件构成一个两级架构,其中单元级确定每个块的计算,网络级确定上采样层的位置。在分层结构的基础上,我们提出了一个分层SR搜索空间,它包含一个单元级搜索空间和一个网络级搜索空间。

单元级搜索空间。在单元级搜索空间中,如图2所示,我们将单元表示为有向无环图(DAG)[14],[15],其中节点表示深度网络中的特征映射,边表示一些计算操作,例如。G卷积。在本文中,我们定义了两种单元:(1)控制模型容量并保持特征地图空间分辨率不变的正常单元,以及(2) 增加空间分辨率的上采样单元。为了设计这些单元,我们收集了SR模型中广泛使用的两组操作。我们在表I中显示了两个单元格的候选操作。

对于正常细胞,我们考虑七个候选操作,包括身份映射、3×3和5×5扩张卷积、3×3和5×5可分离卷积、上下投影块(UDPB)[20 ]和剩余通道注意力块(RCAB)[9 ]。对于上采样单元,我们考虑5种广泛使用的操作来增加空间分辨率。具体而言,有3种基于插值的上采样操作,包括面积插值、双线性插值[7],最近邻插值[21]。此外,我们还考虑了2个可训练卷积层,即反褶积层(也称为转置卷积)(22)和亚像素卷积〔23〕。

基于候选操作,HNAS的目标是为DAG的每个边缘选择最佳操作,并了解节点之间的最佳连通性(详见第II-B节)。

网络级搜索空间。请注意,上采样块/层的位置对SR模型的性能和计算成本起着重要作用。具体来说,如果我们将上采样块放在一个非常浅的层中,那么3特征图将过早增加,从而显著增加整个模型的计算成本。相比之下,当我们将上采样块放在深层时,处理上采样特征的层很少或没有,因此获得高分辨率图像的计算可能不足,从而导致次优SR性能。关于这个问题,我们试图找到不同SR模型的上采样块的最佳位置。

Let N and M denote上采样块前后的层数(见图1(a))。因此,总共有11个区块。给定特定的正常和上采样单元,我们的目标是在层间找到上采样块的最佳位置。我们将在第II-B节中说明如何确定位置。

B. Hierarchical Controller for HNAS

基于分层搜索空间,我们寻求最优的小区级和网络级架构。在[14]、[17]之后,我们使用长-短期内存(LSTM)[24]作为控制器来生成候选体系结构(由一系列令牌[17]表示)。对于SR模型的两级层次结构,我们提出了一种层次控制器来产生有前途的体系结构。具体地,我们考虑两种控制器,包括单元级控制器,其搜索正常块和上采样块的最佳结构,以及确定上采样层位置的网络级控制器。

单元级控制器。我们利用一个单元级控制器来寻找带B节点的最佳计算DAG(参见图2中的示例)。在DAG中,输入节点−2和节点−1分别关闭当前块前面的第二个最近单元格和最近单元格的输出。剩下的B−2个节点是中间节点,每个节点还将此单元中的前两个节点作为输入。对于每个中间节点,控制器做出两种决定:1)哪个前一个节点应作为输入,2)哪个操作应应用于每个边。所有这些决策都可以表示为令牌序列,因此可以使用LSTM控制器进行预测[17]。重复b之后−2次,全部B−将2个节点连接在一起以获得单元的最终输出,即。E输出节点

网络级控制器。一旦我们有了正常块和上采样块,我们将寻求进一步确定应该在哪里放置上采样块来构建SR模型。给出了一个带有Llayers的模型,我们预测了位置,即。E一个从1到1的整数,在这里我们放置上采样块。由于这种位置依赖于正常和上采样块的设计,我们构建了网络级控制器,该控制器将两种块的嵌入(即隐藏状态)作为输入来确定位置。具体来说,让hN and hU denote分别为正常块和上采样块显示控制器的最后隐藏状态。我们将这些嵌入连接起来作为网络级控制器的初始状态(见图1(b))。由于网络级控制器考虑了正常和上采样块的架构设计信息,因此可以确定上采样块的位置

Hierarchical Neural Architecture Search for Single Image Super-Resolution_第5张图片

C. Training and Inference Methods

为了培训海航,我们首先提出了联合奖励来指导架构搜索过程。然后,我们描述了HNAS的详细训练和推理方法。共同奖励。请注意,设计具有低计算成本的有前途的体系结构对于现实世界的SR应用至关重要。为此,我们通过同时考虑性能和计算成本来构建一个联合奖励,以指导架构搜索过程。给定任何体系结构α,让PSNR(α)为α的PSNR性能,Cost(α)为α的计算成本,以FLOPs1表示。共同报酬可通过以下公式计算:

Hierarchical Neural Architecture Search for Single Image Super-Resolution_第6张图片

其中λ表示模型绩效在联合奖励中的权重。一般来说,控制器产生的峰值信噪比越高或成本越低,模型就越好。来自Eqn。(1) ,较大的λ将导致性能更好但成本更高的体系结构(见表II中的结果)。在实践中,我们可以根据实际应用的要求调整λ。

Hierarchical Neural Architecture Search for Single Image Super-Resolution_第7张图片

海航的培训方法。对于联合奖励,在[14]、[17]之后,我们应用策略梯度[25]来训练控制器。我们在算法1中展示了训练方法。为了加快训练过程,我们采用了参数共享技术[14],即。E我们构造了一个大型计算图,其中每个子图代表一个神经网络结构,因此强制所有结构共享参数。设θ和wbe为控制器模型的参数和共享参数。HNAS的目标是学习一个最优策略π(·),并通过采样α生成候选体系结构∼π(α). 为了鼓励探索,我们在目标中引入熵正则化项,以防止控制器过早收敛[26]。

推断架构。基于学习到的策略π(·),我们进行采样以获得有前途的体系结构。具体来说,我们首先对几个候选体系结构进行采样,然后选择具有最高验证性能的体系结构。最后,我们使用搜索的架构(包括小区级块和网络级上采样块的位置)构建SR模型,并从头开始训练它们。

Hierarchical Neural Architecture Search for Single Image Super-Resolution_第8张图片

三:实验

在实验中,我们使用DIV2K数据集[35]来训练所有模型。为了证明out方法的有效性,我们对五个基准数据集进行了比较,包括Set5[36]、Set14[37]、BSD100[38]、Urban100[39]和Manga109[40]。我们在PSNR、SSIM和FLOPs方面比较了不同的模型。请参阅补充资料中的更多培训详细信息。我们已在以下网址提供海航公司代码:GitHub - guoyongcs/HNAS-SR: HNAS: Hierarchical Neural Architecture Search for Single Image Super-Resolution。

A. Quantitative Results

在本实验中,我们将我们的方法与几种手工制作的SR模型进行比较,包括双三次模型、SRCNN[7]、VDSR[27]、DRCN[28]、DRRN[29]、SelNet[30]、CARN[31]。此外,我们还比较了两种基于NAS的方法,即MoreMNAS-A[32]和FALSR[33]。通过对不同λ的HNA进行训练,我们可以得到一系列性能和计算成本不同的体系结构。为了说明这一点,我们设置λ={0.2,0.6,0.9},并相应地得到3种结构HNAS-A/B/C。请参见补充说明中的详细体系结构。

表II显示了2×SR的定量比较。请注意,所有触发器都是基于a3×480×480输入LR图像测量的。与手工制作的模型相比,我们的模型倾向于产生更高的PSNR和SSIM以及更少的失败。具体而言,HNAS-A的失败率最低,但仍优于大量基线方法。此外,当我们逐渐增加λ时,HNAS-B和HNAS-C的计算成本更高,性能也更好。这些结果表明,HNAS可以生成具有良好性能和较低计算成本的体系结构。

B. Visual Results

为了进一步证明所提出方法的有效性,我们还对HNAS和三种SR方法进行了目视比较,如CARN[31]、MoreMNAS[32]和FALSR[33]。我们在图3中显示了结果。

Hierarchical Neural Architecture Search for Single Image Super-Resolution_第9张图片

从图3可以看出,所考虑的基线方法通常会产生具有显著伪影的非常模糊的图像。相比之下,HNAS搜索的模型能够生成比其他方法更清晰的图像。这些结果证明了该方法的有效性。

四:结论

在本文中,我们提出了一种新的分层神经结构搜索(HNAS)方法来自动搜索图像超分辨率(SR)模型的最佳结构。由于大多数SR模型遵循两级架构设计,我们定义了一个分层SR搜索空间,并开发了一个分层控制器来生成候选架构。此外,我们通过同时考虑SR性能和计算成本来构建联合奖励,以指导HNA的搜索过程。有了这样一个共同的奖励,海航能够以较低的计算成本设计有前途的体系结构。在五个基准数据集上的大量结果证明了该方法的有效性。

五:附录

“单图像超分辨率的分层神经结构搜索”补充材料

我们的补充材料组织如下。首先,我们展示了我们衍生模型的具体结构,包括HNAS-A、HNAS-B和HNAS-C,然后在A节中进行一些简要分析。其次,我们将描述我们的HNAS模型的实施细节,包括B节中的数据集和培训细节。

如图4所示,我们可以观察到我们的衍生模型HNAS-A、HNAS-B和HNAS-C的结构彼此非常不同。我们提供了足够的操作供小区节点选择,包括正常小区和上采样小区搜索空间中的7个候选操作和5个上采样操作,如表1所示。此外,计算DAG由B个节点组成,中间B-2节点可以随机选取该单元中的前两个节点作为输入,为模型选择提供一系列具有不同结构和性能的模型。

Hierarchical Neural Architecture Search for Single Image Super-Resolution_第10张图片

B.实施细节培训HNAS模型时,我们使用不同的数据集和超参数设置。因此,我们将在本节中介绍数据集和培训细节的实现细节。数据集。在[27]之后,我们使用DIV2K数据集[35]中的800个训练图像训练所有SR网络。特别是在搜索阶段,我们将DIV2K训练集分成40%和60%的切片,分别训练模型参数和变压器参数θ。Set5[36]数据集用作验证集。在搜索阶段之后,我们可以推断出一些新的不同的细胞结构。然后,我们使用DIV2K数据集中的所有800个图像从头开始重新训练这些细胞结构。培训细节。我们采用了一层长短时记忆(LSTM)[24]网络和100作为我们的RNN模型。学习率遵循ηmax=0的余弦退火计划。001和ηmin=0。00001[41]. 批次大小设置为16。ADAM优化器用于训练我们的模型。我们使用相同的设置训练三个LSTM控制器,除了使用ηmax=0。0003和ηmin=0。15我们将控制器的样本熵添加到奖励中,权重为1。每个架构搜索运行400个时代。总层数设置为12,每个操作的通道数设置为8。请注意,连接单元节点的输出后,模型的通道数等于32。在推断阶段,我们使用与搜索阶段相同的设置重新训练所选模型,除了每个操作设置64个通道。

你可能感兴趣的:(论文实验,计算机视觉,深度学习,图像处理)