让dropout在图像超分辨领域大放异彩![2022 CVPR]

《Reflash Dropout in Image Super-Resolution》这是篇来自中国科学院深圳先进技术研究院的2022年CVPR的探究型文章,探索了在图像恢复领域如果加入dropout会提供泛化能力和防止协同适应的问题。

论文:阿里云盘分享

目录

介绍

dropout好处

dropout原理

发现

贡献

相关工作

观察

应用到SR网络中

dropout 位置

dropout维度和概率

实验

SR 设置

如何应用到SR网络中

解释

Dropout 帮助阻止 Co-adapting

Dropout 帮助提供泛化能力

介绍

dropout好处

  1. 适当使用dropout可以使SR(Super-Resolution)网络受益并提高泛化能力

  2. dropout更适合地嵌入在网络末端,并且对于多degradation设置非常有帮助

使用dropout原因

  1. 现如今大家都在研究丰富数据的多样性以及网络的能力,但是很少有人尝试去提升training strategy。

  2. 过拟合就是一个著名的问题。当网络规模大的时候,模型的泛化能力就会越差。

  3. 但是如今过拟合已成为盲SR的主要问题。仅仅增加数据和网络规模就不能持续提高泛化能力。

解释 “盲” : 就是面对未知的数据(测试集或真实场景下的数据)

dropout原理

  1. dropout的机制是禁用某些单元并随机产生许多子网络。每个子网络都能够给出可接受的结果。

  2. SR是一个标准的回归问题,其中网络特征和通道都对最终输出有贡献。如果我们随机丢弃一些特征或像素,输出性能将会严重下降。这就是为什么我们看不到dropout在SR中的应用以及其他低级视觉任务的原因。

发现

  1. 通过适当使用dropout,SR模型的性能可以在分布内 (训练集中已知的分布) 和分布外 (测试集中未知的分布) 数据中显着提高

  2. dropout可以帮助SRResNet甚至胜过RRDB,而RRDB的参数则是SRResNet的十倍。添加dropout只是一行代码,并且不会牺牲计算成本。

贡献

本文最吸引人的部分不在于实验,而在于解析分析dropout的行为:1、通道显着性图 (channel saliencymap)2、深度退化表示 (deep degradation representation)

相关工作

  1. SpatialDropout (channel-wise dropout:randomly zero out the entire channels) 制定了一种新的dropout方法,从特征图中消除通道。当输入具有很强的空间相关性时,此方法的性能优于以前的dropout策略。

  2. DropBlock与在完全连接的层上添加dropout的原始方法不同。将dropout应用于残余块 (在卷积层和跳过连接后面),然后探索在网络的不同部分使用dropout。

观察

1、在每层卷积后加入channel-wise dropout,正如预期的那样,性能急剧下降,见图2a,表明回归问题不同于分类问题。在回归中,网络中的每个元素都有助于最终输出,这是一个连续的强度值,但不是离散的类标签。

2、在相同的设置下,我们仅在最后一个卷积层之前添加逐通道dropout。最终性能完全不受影响,见图2b。表明该层中的特征可以被随机掩蔽,这不会影响回归结果。我们还尝试在测试过程中丢弃一些功能,但没有发现明显的性能下降。这些功能会发生什么?这是否意味着回归和分类网络有共同点?

3、训练数据包含multiple-degradation,我们在倒数第二个卷积层添加dropout,效果是在双三次降采样(训练集中有)和最近邻降采样 (训练集中没有) 数据集中测试的。从图2c和2d中,我们可以观察到dropout提高了分布中和分布数据的性能。这表明dropout在一定程度上提高了泛化能力。

应用到SR网络中

dropout的效果取决于1、dropout位置 2、dropout策略

dropout 位置

  1. 在最终输出层之前使用dropout。使用last-conv来表示此方法。

  2. 在网络中间加dropout。作者们将SRResNet的resuidal blocks(16 blocks)分为了4组。每一组包含4个residual blocks。作者选择B4,B8,B12,B16作为典型的dropout插入的位置。

  3. 利用multiple dropout layers在residual network中。如图3c中所示。这里对加入了dropout的结构命名为dropped residual blocks。作者设计了3种插入dropped residual blocks的方式命名为all-part, half-part和quarter-part。

dropout维度和概率

dropout最初被用于全连接层,可是在卷积层上涉及到不同维度(元素和通道)。

dropout概率是要丢掉多少比率的元素或者通道,测试一下dropout的概率为10%,20% 和30%。我们还包括在multi-degradation SR中更高的dropout概率 (例如,50% 或70%)。

结果表明,具有逐通道丢弃的last-conv方法不会损害SR网络

实验

SR 设置

分为 单degradation 和 多degradation 两部分,其中multi-degradation使用的是“Real”前缀

如何应用到SR网络中

  1. 使用单个dropout层的情况下,当dropout位置更靠近输出层时,我们可以获得更好的性能。

  2. 对于更多dropout层,我们可以观察到更大的性能下降

  3. 其中,last-conv方法的性能最好

  4. 从图4a和4b可以观察到的,元素式dropout方法倾向于降低性能,而通道式dropout方法通常表现更好

  5. 较大的dropout概率将在大多数情况下带来更差的影响

总结:建议在最后一个卷积层之前应用通道式dropout,概率小一点为好(10%?)

解释

Dropout 帮助阻止 Co-adapting

​co-adapting是指神经网络中的一种依赖关系,比如下一层很依赖上一层的某个特定通道,例如上一层一共有64个通道,但是一家独大,1个通道的数值特别大,而其他通道的数值特别小,这样通道之间就会出现一种不平衡性。而drop-out通过在训练中强制让一些通道失去作用,那么为了保证效果,就会强制让其他通道的能力增强。

高级任务中会存在协同适应(Co-adapting)而导致过拟合,dropout可以防止这一现象而缓解过拟合问题。

作者引入了channel saliency map(CSM)辅助工具。CSM是用来高亮出对于最终的输出起重要决策的因素。想要利用CSM去研究不同的channel对于最终结果的影响。从图6可以看出,64个通道,分别屏蔽某个通道时,CSM越红,下面的特征图越亮,对应的功能越重要,被屏蔽后对PSNR的影响越大。比如屏蔽了最亮的30+的通道,PSNR最低,因为CSM最红,包含的特征越多。说明了SR也存在co-adapting问题。

添加了dropout之后,可以看到CSM从左边的部分红,变成了大都红(个别富裕转向了全面小康),说明dropout可以均衡特征的重要性

为了更进一步地证明这件事,作者zero out了每一个channel。图8证明了Real-SRResNet去掉了dropout后会随着更多chennels被抛弃PSNR values会骤降。但是对于使用了dropout的网络并没有大变化。对于一个带有dropout的模型,PSNR不再依赖许多特定的channels。甚至只有三分之一的channels可以足以支撑性能。这也证明了dropout可以均衡channel的重要性。鲁棒性更好!蓝色部分(未使用dropout的)接近40时,明明drop掉的通道数变多了,但是性能反而上去,而且上去的幅度还挺多,意味着刚好drop掉了一些不重要的通道或者是噪声比较多的通道。

Dropout 帮助提供泛化能力

深度退化表示 (DDR)揭示了SR网络可以将输入分类为不同的 “降级语义”。在图9a中,具有不同颜色的点指示具有不同降级的输入。具有相同降级的输入 (具有相同颜色的点) 将被聚类。如果得到的簇很好地划分,则网络倾向于仅处理特定的降级簇而忽略其他簇,从而导致泛化性能较差。如果聚类趋势较弱,则网络可以很好地处理所有输入。例如,从图9a和图9b的比较中可以观察到,没有dropout的原始SRResNet的聚类程度大于Real-SRResNet。这说明出现更多降级的网络具有更显着的泛化能力。

总结:如果网络能将多种degradation 很好的分类说明泛化能力很差,如果分类能力很弱说明泛化能力很强。

可以使用Calinski-Harabaz指数 (CHI) 来测量簇的分离程度。较低的CHI意味着较弱的聚类程度,这也表明较好的泛化能力。在图9d中,可以观察到CHI随着dropout概率的增加而降低。结果表明,dropout提高了SR网络的泛化能力。


如果觉得对你有帮助的话:

点赞,你的认可是我创作的动力!

收藏,你的青睐是我努力的方向!

评论,你的意见是我进步的财富!

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值