计算机系统应用教程网站

网站首页 > 技术文章 正文

Dropout用于图像超分辨率(CVPR2022)

btikc 2024-12-08 12:25:26 技术文章 54 ℃ 0 评论

论文题目

Reflash Dropout in Image Super-Resolution

1、简介

Dropout是为了缓解高阶视觉任务中的过拟合问题而设计的,但很少应用于图像超分辨率(SR)等低阶视觉任务。作为一个经典的回归问题,SR作为高级任务表现出不同的行为,并且对dropout操作很敏感。然而,在本文中证明了适当使用dropout有利于SR网络并提高泛化能力。具体来说,dropout可以更好地嵌入到网络的末端,并且对多重退化设置非常有帮助。这一发现打破了常识,激发了对其工作机制的探索。进一步使用了两种分析工具—一种来自最近的网络解释工作,另一种是专门为这项任务设计的。分析结果为实验结果提供了侧面的证明,并为我们理解SR网络提供了一个新的视角。

为了研究dropout,从它在常规非盲环境中的用法开始。在尝试了不同的dropout策略后,可以总结出在SR中使用dropout的详细指导。通过适当地使用dropout, SR模型在分布内(在训练集中可见)和分布外(看不见)数据上的性能都可以显著提高。图1显示了dropout前后的性能,其中最显著的PSNR差距可以达到0.95 dB。值得注意的是,dropout可以帮助SRResNet甚至优于RRDB,而后者的参数是RRDB的十倍。更重要的是,添加dropout只需要一行代码,并且不会牺牲计算成本。本文最吸引人的部分不在于实验,而在于下面的分析。采用了两种新的解释工具,即通道显著性映射和深度退化表示来分析dropout的行为。发现dropout可以平衡特征映射的重要性,从而从本质上提高泛化能力。还有其他一些有趣的观察结果,它们都支持实验结果。相信这些分析可以帮助我们了解SR网络的工作机制,并启发未来更有效的训练策略。


2、背景

1)图像超分辨率(SR)是一种经典的低分辨率视觉任务,旨在从低分辨率输入恢复高分辨率图像。得益于强大的卷积神经网络(cnn),深度SR网络可以很容易地拟合训练数据,并在合成环境中取得令人印象深刻的结果。为了进一步将其成功应用于真实图像,研究人员开始设计盲SR方法,该方法可以处理未知的下采样核或退化。最近的研究在丰富数据多样性和扩大模型容量方面取得了重大进展,但都没有尝试改进训练策略。当网络规模显著增大时,过拟合问题会变得突出,导致泛化能力较弱。那么什么样的训练策略适合盲SR任务呢?一个简单但令人惊讶的答案浮现在我们的脑海中。它是dropout,它最初是为了避免过拟合而设计的,并且在高级视觉任务中被证明是有效的。在这项工作中,将深入研究dropout的使用,并在超分辨率下刷新它。

2)dropout在本质上似乎与SR是冲突的。具体来说,dropout机制是使部分单元失效,随机产生若干个子网络。每个子网都能给出一个可接受的结果。然而,SR是一个标准的回归问题,其中网络特征和通道都对最终输出有贡献。如果随意丢弃一些特征或像素,输出性能将严重下降。这就是为什么看不到dropout在SR以及其他低级视觉任务中的应用。从另一个角度来看,在传统的SR任务中,过拟合并不是一个严重的问题;因此,SR也不需要dropout。然而,这种情况现在改变了。首先,过拟合已经成为盲SR的主要问题。单纯地增加数据量和网络规模并不能持续提高泛化能力。其次,获得了一系列网络解释领域的分析工具,帮助我们找到更好的应用方式。

3、观察

对在SR中采用dropout进行了一些初步的尝试,发现在不同的设置下,网络表现出完全不同的行为。很难得出一个一致的结论,但会激励接下来的研究。

Dropout对SR是有害的 本实验是在常规SR设置下进行的,其中唯一的退化是双三次下采样。采用广泛使用的dropout策略- channel-wise dropout(在SRResNet的每个卷积层之后随机将整个通道归零)。正如预期的那样,性能急剧下降(参见图2a)。这个结果完全符合常识。这表明回归问题不同于分类问题。在回归中,网络中的每个元素对最终输出都有贡献,最终输出是一个连续的强度值,而不是一个离散的类标签。

Dropout不影响SR 但是发现一个特殊的情况与上述观察结果不一致。在相同的设置下,只在最后一个卷积层之前添加通道级dropout。最终的性能完全不受影响,参见图2b。这种现象很有趣。这表明该层的特征可以被随机屏蔽,不影响回归结果。还尝试在测试期间放弃一些特性,并没有发现明显的性能下降,这些特性发生了什么变化?这是否意味着回归和分类网络有共同之处?这激发了好奇心。

DropoutSR是有益的 最后一个观察结果更有趣。发现在多重退化设置下,dropout甚至有利于sr。一个简单的实验设置如下,训练数据包含足够的退化,即Real-SRResNet。在最后的第二个卷积层添加dropout。性能在双三次(在训练集中看到)和最近邻(看不见)下采样数据集上进行测试。从图2c和2d中,可以观察到,dropout在分布内和分布外数据中都提高了性能。这说明dropout在一定程度上提高了泛化能力。这一发现与之前的发现有相同的理论解释吗?还能找到其他dropout有利于SR的案例吗?以上所有的观察结果都可以提供一个线索,以恢复在低级任务中dropout的有效性。将通过详细介绍dropout策略,描述实验和揭示内部工作机制来稳步完成这一过程。

4、在SR网络中应用Dropout

为了探索dropout的应用策略,借鉴了高级视觉任务的成功经验。系统地回顾以往工作中dropout的可行实现,并将其应用于SR网络。研究基于两个具有代表性的SR网络—SRResNet和RRDB。结论可以很容易地推广到其他基于CNN的SR网络,它们具有相似的架构。dropout作为一种简单灵活的操作,有多种应用方式。一般来说,dropout的效果主要取决于两个方面,一是dropout的位置,二是dropout的策略

dropout的位置,通过类比分析,探索了在SR网络中应用dropout的潜在位置。这些职位主要可以分为三类,参考图3:

(1)在最终输出层之前使用dropout。类似地,也在输出卷积层之前应用dropout层(从特征通道到RGB通道),使用last-conv来表示这个方法。

(2)在网络中间使用dropout。许多作品也尝试在网络的中间使用dropout,例如,在一个特殊的卷积层之后和在某些位置。在不丧失一般性的情况下,将SRResNet残差块(16个块)分成四组。每组由四个残差块组成。选择B4, B8, B12, B16作为代表位置,其中数字表示dropout在哪个block之后添加。

(3)在残差网络中使用多个dropout层。可以在残差块内部应用dropout层,并多次使用这些“被丢弃的残差块”。图3c显示了“掉落残余块”的详细情况,在网络的深层位置使用这种“丢弃的残余块”可以产生最好的结果。设计了三种不同的方法来在SR网络中使用“丢弃残差块”,将它们命名为全部分,半部分和四分之一部分。全部分是指将16个残差块全部替换为“丢弃残差块”;半部分是指替换剩余块的后半部分,其余部分保持不变;四分之一表示只有最后四个剩余块被替换。

dropout的策略,除了位置之外,dropout的尺寸和dropout通道/元素的概率也很重要。Dropout最初用于全连接层;因此,不需要确定要删除哪个维度。然而,在卷积层中使用后,在不同的维度(元素和通道)上执行dropout会带来不同的效果,还涉及了不同的dropout维度。元素式丢弃在所有特征通道中随机丢弃元素,而通道式丢弃只随机丢弃整个通道。

dropout概率决定了丢失元素或通道的百分比。干扰过多导致性能不佳是合理的,例如在所有块中添加dropout或dropout概率非常高。在分类网络中,您可以随机删除多达50%的元素/通道,这不会影响最终结果,但会提高泛化性能。然而,由于SR网络对信息干扰的鲁棒性比分类网络差得多,因此这个概率可能太大。为了在不破坏网络的情况下获得可能的好处,首先用10%、20%和30%的概率测试dropout。还在多重退化SR中加入了更高的退出概率(例如,50%或70%)。

总的来说,有八个可选的位置,两个维度和至少三个概率在SR网络中应用dropout。然而,大多数都是有害的。在最终确定方法之前,将分别研究它们的效果。研究结果表明,具有通道级dropout的最后一次转换方法不会损害SR网络。因此,使用这种dropout方法来利用dropout在多退化SR中的优势。

5、实验

1)如何在SR网络中应用Dropout,测试了在双三次单退化SR设置下以不同方式应用dropout的性能,结果如图4所示。

可以得到以下观察结果,首先,不同的dropout位置会导致完全不同的表现。在使用单个dropout层的情况下,当dropout位置更接近输出层时,可以获得更好的性能。当使用多个dropout层时,可以观察到更多的dropout层的性能下降更大。其中,last-conv方法的性能最好。这一观察结果与分类网络中的观察结果一致。其次,从图4a和4b中可以看出,元素dropout方法往往会降低性能,而通道退出方法通常性能更好。第三,与预期一致,在大多数情况下,dropout概率越大,影响越严重。综上所述,建议在最后一个卷积层之前应用通道级dropout。这个位置可以很容易地应用于不同的网络结构,包括视觉变压器。这种简单直接的方法已经可以得到有意义和鲁棒的结果,所以在本文的其余部分采用了这种方法。

2)多退化SR中的Dropout,有了在SR网络中应用dropout的方法,接下来展示可以从中受益的地方。Dropout最初是为了提高网络的泛化能力而提出的,这完全符合开发盲SR网络的需要。接下来的实验表明,在多退化训练设置下,dropout确实有助于训练出更好的盲SR网络。

Dropout有助于更好地学习盲SR网络 在多重退化的训练设置下,SR网络需要学习如何同时恢复多个不同的退化。直接学习恢复所有退化将使SR网络在单个网络上表现不佳。然而发现在多重退化设置下,引入dropout可以显著提高SR网络的性能。在一些常见的退化和复杂的退化组合中测试了dropout的性能。表1给出了Real-SRResNet和Real-RRDB的定量比较。选择核大小为21、标准差为2的高斯模糊(用“b”表示)、双三次下采样、标准差为20的高斯噪声(用“n”表示)和质量为50的JPEG压缩(用“j”表示)作为测试退化。还包括由上述成分组合的复杂混合退化。对于这些混合退化,按照与训练方法相同的顺序进行合成。

当使用dropout进行训练时,Real-SRResNet和RealRRDB在几乎所有具有测试退化的数据集上都获得了更好的PNSR性能。Real-SRResNet和Real-RRDB对PSNR的最大改进分别为0.78 dB和0.95 dB。红色文本表示Real-SRResNet(带dropout)的性能优于Real-RRDB。适当的dropout方法可以使Real-SRResNet与更大的Real-RRDB模型具有相当的性能。一行代码相当于模型参数增加十倍。图5显示,带有dropout的模型在内容重建、工件去除和去噪方面表现更好。没有dropout的模型可能会错误地删除或增强某些细节。

为了更好地显示应用所提出的dropout方法后泛化能力的提高,还使用网络看不见的退化来测试网络。如表2所示,在NTIRE 2018 SR挑战赛中,在真实的温和/困难/野生数据上进行测试时,dropout也显示出优势。它证明了dropout可以在现实和不可见的退化中提高性能。

6、网络解释

在得到上述有趣的结果之后,非常好奇在应用dropout之后会发生什么,dropout是如何提高网络泛化能力的。接下来通过网络解释和可视化的视角来研究dropout方法。

dropout有助于阻止Co-adapting,Dropout的目的是通过防止高级视觉任务的共同适应来缓解过拟合问题。许多任务都受益于dropout。协同适应在SR任务中存在吗?某些特征对重建是否比其他特征更重要?在本节中,研究了这些问题,并发现Dropout可以帮助SR网络防止共同适应。介绍的第一个辅助工具是通道显著性映射(CSM)。

Dropout可以平衡重要性,在图7中可视化特征映射和CSM比较。加入dropout后特征映射和CSM均衡,说明dropout可以均衡特征的重要性。为了进一步证明这一点,还依次将每个通道归零,并线性缩放其余特征。从图8可以看出,不带dropout的Real-SRResNet的PSNR值会随着通道的减少而急剧下降,而带dropout的Real-SRResNet的性能保持不变。对于有dropout的模型,PSNR不再依赖于几个特定的信道。即使网络的三分之一信道也足以维持性能。研究还表明,dropout可以平衡信道的重要性。上述实验表明,dropout可以帮助SR网络防止共同适应。

dropout有助于提高泛化能力,评估泛化能力最直接的策略是在大范围的数据中测试模型,对于未经测试的图像和退化,很难预测模型的泛化性能-也许模型恰好在测试数据上表现良好。然而,也有从解释网络行为的角度来评估泛化能力的方法。

在低层次视觉中,提出了一种称为深度退化表示(DDR)的概念。在这里,我们将在介绍DDR时参考图9。图9a、9b和9c中的每个点代表一个输入样本(128 × 128图像)。每个子图有500个点。这些样本由五次降级产生,每次降级对应相同的100张图像。DDR表明,SR网络可以将输入分类为不同的“退化语义”。例如,在图9a中,不同颜色的点表示具有不同降级的输入。具有相同退化的输入(具有相同颜色的点)将被聚类。如果得到的聚类划分得很好,则网络往往只处理特定的退化聚类,而忽略其他聚类,导致泛化性能较差。如果聚类趋势较弱,说明网络已经很好地处理了所有输入。例如,从图9a和图9b的对比可以看出,没有dropout的原始SRResNet的聚类程度大于Real-SRResNet。这说明,退化越多的网络具有更显著的泛化能力。




本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表