DRCN神经网络

1 DRCN

DRCN(Deeply-Recurisive Convolutional Network),一种利用深度递归卷积网络。DRCN与之前的VDSR都是来自首尔国立大学计算机视觉实验室的工作。该网络将插值后的图像作为输入,并像SRCNN中一样预测目标图像。
DRCN神经网络_第1张图片
该网络分为三个部分,第一个是Embedding network(嵌入网络),相当于SRCNN中的特征提取;第二个是Inference network(推理网络),相当于特征的非线性映射,第三个Reconstruction network(重构网络),从特征图像恢复最后的重建结果,即重建。

  • Embedding net:获取输入图像并将其表示为一组特征图。
  • Inference net:是解决超分辨率任务的主要组件;由单个递归层完成大图像的分析;每个递归都应用相同的卷积。
  • Reconstruction net:对于大于 1 × 1 1 \times 1 1×1 的卷积滤波器,每次递归后都会扩大感受野。虽然来自递归层最终应用的特征图表示高分辨率图像,但还是需要由重建网络将它们(多通道)转变为(单通道或三通道)。

其中,递归层存在于推理网络中,如图:
DRCN神经网络_第2张图片
左为递归层,右边为其展开结构。
网络的最终模型具有递归监督和跳过连接。除了推理网络的层是递归的,其他网络与具有单个隐藏层的MLP非常相似。
作者在文章中使用的是 3 × 3 × F × F 3\times3\times F \times F 3×3×F×F 的过滤器。
DRCN神经网络_第3张图片
H 1 H_1 H1 H D H_D HD D D D 个共享参数的卷积层。将这 D D D 个卷积层的每一层的结果都通过相同的Reconstruction Net ,在Reconstruction Net 中与输入的图像相加,得到 D D D 个输出重建结果。这些所有的结果在训练时都同时被监督,即所有的递归都被监督,作者称之为递归监督,避免了梯度消失/爆炸问题。将 D D D 个递归得到的结果再加权平均:
y ^ = ∑ d = 1 D w d ⋅ y d ^ \hat{y} = \sum_{d=1}^{D} w_d \cdot \hat{y_d} y^=d=1Dwdyd^
其中 w d w_d wd表示在递归期间从每个中间隐藏状态重建的预测的权重;并在训练期间习得。
最终的目标函数需要优化两个部分的误差:
l 1 ( θ ) = ∑ d = 1 D ∑ i = 1 N 1 2 D N ∥ y ( i ) − y d ^ ( i ) ∥ 2 l_1(\theta)=\sum_{d=1}^D\sum_{i=1}^{N}\frac{1}{2DN}\lVert y^{(i)}-\hat{y_{d}}^{(i)}\rVert^2 l1(θ)=d=1Di=1N2DN1y(i)yd^(i)2

l 2 ( θ ) = ∑ i = 1 N 1 2 N ∥ y ( i ) − ∑ d = 1 D w d ⋅ y ^ ( i ) ∥ 2 l_2(\theta)=\sum_{i=1}^N \frac{1}{2N} \lVert y^{(i)}-\sum_{d=1}^D w_d \cdot \hat{y}^{(i)}\rVert^2 l2(θ)=i=1N2N1y(i)d=1Dwdy^(i)2

损失函数:
L ( θ ) = α l 1 ( θ ) + ( 1 − α ) l 2 ( θ ) + β ∥ θ ∥ 2 L(\theta)=\alpha l_1(\theta)+(1-\alpha)l_2(\theta)+\beta \rVert\theta\lVert^2 L(θ)=αl1(θ)+(1α)l2(θ)+βθ2
β \beta β 表示的是权值衰减(weight decay)。 α \alpha α 的初始值设置得比较高以使得训练过程稳定,因为训练开始的阶段递归更容易收敛。随着训练的进行, α \alpha α 逐渐衰减来提升最终输出的性能。

2 Code

在这里插入代码片

https://zhuanlan.zhihu.com/p/31664818
https://arxiv.org/abs/1511.04491

你可能感兴趣的:(图像处理,神经网络,深度学习,计算机视觉)