VDSR:非常深的超分辨率模型.

作者提出了一个用于超分辨率的非常深的卷积网络模型,主要创新点在于:

  1. 加深网络层数提高精度($20$层);
  2. 通过残差学习降低训练难度;
  3. 使用极高的学习率加速训练(SRCNN的$10^4$倍);
  4. 使用梯度裁剪避免梯度爆炸。

1. 网络结构

作者认为,输入的低分辨率图像和输出的高分辨率图像在很大程度上是相似的,也就是指低分辨率图像携带的低频信息与高分辨率图像的低频信息相近,训练时带上这部分会多花费大量的时间,实际上只需要学习高分辨率图像和低分辨率图像之间的高频部分残差即可。

作者将插值后的低分辨率图像作为输入,通过卷积神经网络学习LRHR之间的残差,并可视化了部分中间层的卷积核。

作者使用了一个深层的卷积神经网络,可以获得更大的感受野,从而利用更多的上下文信息。设置每层卷积滤波器参数为$64×(3,3)$,单层卷积的感受野是$3×3$,$D$层卷积网络的感受野是$(2D+1)×(2D+1)$。更深的网络也具有更强的非线性能力。

由于网络的输入是插值后的低分辨率图像,因此网络不受图像尺寸限制。作者使用同一网络同时训练多尺度的图像。

2. 学习率策略

SRCNN中,学习率设置为$10^{-5}$。作者认为学习率过小使得网络收敛过慢,阻碍了训更深层的网络。直接增加学习率会产生vanishing/exploding gradients现象。

梯度裁剪经常用于训练RNN网络,但是对于CNN网络不常用。通常把梯度裁剪到\([-θ,θ]\)范围内。如果学习率高,需要调小$θ$以避免梯度爆炸。但随着学习率的减小,有效梯度(梯度乘以学习率)趋近于零,如果学习率呈几何级数下降,训练可能需要指数次迭代才能收敛。

作者提出了自适应的梯度裁剪方法(Adjustable Gradient Clipping)。通过把梯度裁剪到\([-\frac{θ}{γ},\frac{θ}{γ}]\)范围内,其中$γ$代表当前时刻的学习率。

经过实验,作者设置初始学习率为$0.1$,每经过$20$个epochs衰减$10$倍。

3. 实验分析

实验设置:

作者通过实验验证增加网络深度能够提高网络性能:

作者通过实验验证残差学习能够使网络收敛更快,且精度更高:

实验结果如下图所示: