文献阅读:Fast, Accurate, and Lightweight Super-Resolution with Cascading Residual Network

文章地址:https://arxiv.org/abs/1803.08664
作者的项目地址:CARN-Pytorch

1 简单介绍

    作者说目前的主流的方法都是奔着性能表现去的,并没有考虑实际应用的情况。所以作者在本篇文章中提出一种快速,精确并且轻量级的网络。

2 网络介绍

    提供了一个轻量级的网络,作者称之为CARN(Cascading Residual Network,级联残差网络)。
在这里插入图片描述
它具有以下三个特征:

  1. 全局和局部级联连接
  2. 中间特征是级联的,且被组合在1×1大小的卷积块中
  3. 使多级表示和快捷连接,让信息传递更高效

    然而,多级表示的优势被限制在了每个本地级联模块内部,比如在快捷连接上的1×1卷积这样的乘法操作可能会阻碍信息的传递,所以认为性能会下降也在情理之中。这个作者在模型分析也介绍了。

    为了提升CARN的效率,作者提出了一种残差-E模块。就是将普通的Residual Block中conv换成了group conv。作者在这里提出了使用group conv而是不是 depthwise convolution,作者解释说group conv比 depthwise convolution可以更好的调整模型的有效性。关于group conv和depthwise conv进一步讨论,大家可以参考这两篇文章:

  1. 对深度可分离卷积、分组卷积、扩张卷积、转置卷积(反卷积)的理解,
  2. 变形卷积核、可分离卷积?卷积神经网络中十大拍案叫绝的操作。。为了进一步减少模型的参数,作者使用了recursive network,让网络的参数进行共享。2.变形卷积核、可分离卷积?卷积神经网络中十大拍案叫绝的操作。

    为了进一步减少模型的参数,作者使用了recursive network,让网络的参数进行共享。关于recursive network大家可以参考一下文章:

  1. 零基础入门深度学习(7) - 递归神经网络
    在这里插入图片描述

    在局部和全局使用级联的好处如下:

  1. 结合多层的特征,可以学习到多水平的表示。
  2. 级联可以让低层的特征很快的传播到高层。

    在网络实现上,作者没有使用xavier以及MSRA初始化,而是使用了均匀分布作为权重初始化方法,作者解释到由于我们使用1×1的卷积如果使用xavier或者MSRA初始化,可能会导致训练的不稳定。有关xavier和MSRA方法,可以参考我之前的文章深度学习权重初始化的几种方法。另外作者使用了L1损失而不是L2损失。

3 实验部分

    展示不同基准算法在Mult-Adds和参数数量方面的对比,在网络的性能表现和参数量之中取一个折中。
在这里插入图片描述
另外作者在定量和定性分析上也做了对比工作:
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/alxe_made/article/details/85839802